深度学习笔记1(李沐,pytorch)

本文是关于深度学习的学习笔记,重点介绍了Python库torch中的张量操作,包括创建零向量、reshape、cat函数以及切片索引的用法。通过实例展示了torch张量的创建、连接和切片等基本操作,强调了维度和索引的重要性。
摘要由CSDN通过智能技术生成

 学习深度学习的笔记,学习资料:跟李沐学AI的个人空间-跟李沐学AI个人主页-哔哩哔哩视频

进度:04

(注:所有代码默认都是在jupyter notebook中完成和运行的)

a=torch.zeros(1)
print(a)

zeros要注明向量的大小信息。

b=torch.arange(12,dtype=torch.float32).reshape(3,4)
print(b)
c=torch.tensor([[2.,1,4,3],[7,7,7,7],[6,6,6,6]])

输出:

tensor([[ 0.,  1.,  2.,  3.],
        [ 4.,  5.,  6.,  7.],
        [ 8.,  9., 10., 11.]])

可以用一行代码把三个过程都塞进去

一些关键词都需要在torch下面定义,这里如果不写torch.float32而是直接写float32就会报错

d=torch.cat((b,c),dim=0)
e=torch.cat((b,c),dim=1)
print(d,'\n',e)

输出:

tensor([[ 0.,  1.,  2.,  3.],
        [ 4.,  5.,  6.,  7.],
        [ 8.,  9., 10., 11.],
        [ 2.,  1.,  4.,  3.],
        [ 7.,  7.,  7.,  7.],
        [ 6.,  6.,  6.,  6.]]) 
 tensor([[ 0.,  1.,  2.,  3.,  2.,  1.,  4.,  3.],
        [ 4.,  5.,  6.,  7.,  7.,  7.,  7.,  7.],
        [ 8.,  9., 10., 11.,  6.,  6.,  6.,  6.]])

这里参数改为dim=1有些问题,似乎从按“行”相加编程按“列”相加了 原来的“行”可以认为是,在a flow of 数组的尾部继续加another flow of 数组 现在按“列”可以认为是,在a flow of 数组的“旁边”(第二维)加上another flow of 数组

b,b[0:2]
b[1:2]
b[1:3]
b[-1]
b[-1:10]

输出:

tensor([[ 8.,  9., 10., 11.]])

似乎换行之后的所有元素都直接被忽视了

b,b[0:2],b[1:2],b[1:3],b[1:10]

输出:

(tensor([[ 0.,  1.,  2.,  3.],
         [ 4.,  5.,  6.,  7.],
         [ 8.,  9., 10., 11.]]), tensor([[0., 1., 2., 3.],
         [4., 5., 6., 7.]]), tensor([[4., 5., 6., 7.]]), tensor([[ 4.,  5.,  6.,  7.],
         [ 8.,  9., 10., 11.]]), tensor([[ 4.,  5.,  6.,  7.],
         [ 8.,  9., 10., 11.]]))

范围是从0维开始算第一个维的。如果起点和终点都在数组内,那么正常输出(不算终点处的元素) 如:b[0:2]只输出0,1两维;,b[1:2]只输出1一个维 如果终点不在数组内,那么就输出数组含有的部分。

b[-1],b[-1:1],b[-1:2],b[-1:10]

输出:

(tensor([ 8.,  9., 10., 11.]),
 tensor([], size=(0, 4)),
 tensor([], size=(0, 4)),
 tensor([[ 8.,  9., 10., 11.]]))

一旦-1和其他的维混用就出问题,what the hell?

如何不改变内存呢?直接修改变量内部的元素,如Z[:] = X + Y这种方法,而不是用Y=X+Y

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值