Pytorch学习笔记-第三章


记录一下个人学习和使用Pytorch中的一些问题。强烈推荐 《深度学习框架PyTorch:入门与实战》.写的非常好而且作者也十分用心,大家都可以看一看,本文记录按照该书学习Pytorch时在第三章Tensor和Autograd遇到的一些问题。

Tensor

对tensor的大部分操作同时支持torch和tensor的接口如torch.sum (torch.sum(a, b))与tensor.sum (a.sum(b))功能等价;同时带‘_’后缀的函数会修改调用者自己的数据,在实际应用中需加以区分。

创建

在这里插入图片描述
1.指定tensor的形状生成的tensor数值取决于内存随机,输出时可能溢出。
2.tensor.numel()输出tensor里面的元素个数。
3.tensor.shape和tensor.size()等价,注意shape没有()调用

size调整

通过tensor.view方法可以调整tensor的形状,但必须保证调整前后元素总数一致,但是会和原来的共享内存。(可以某一维设置为-1自动计算尺寸)同时squeeze和unsqueeze两个函数可以增加减少某一维度(消去只有一个元素的维度)。

c = b.view(1, 1, 1, 2, 3)
c.squeeze(0) # 压缩第0维的“1”

c.squeeze() # 把所有维度为“1”的压缩

resize_是另一种可用来调整size的方法,但与view不同,它可以修改tensor的大小。如果新大小超过了原大小,会自动分配新的内存空间,而如果新大小小于原大小,则之前的数据依旧会被保存,再次变大size的话又会出现原来的值

索引

索引方式类似于numpy

a[0] # 第0行(下标从0开始)
a[:, 0] # 第0列
a[0][2] # 第0行第2个元素,等价于a[0, 2]
a[0, -1] # 第0行最后一个元素
a[:2] # 前两行
a[:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值