tensor的维度变换

本文详细介绍了深度学习中Tensor的维度变换,包括view、reshape、squeeze、unsqueeze、expand、repeat、.t()转置、transpose以及permute函数的用法,并通过实例解析各个操作的具体应用和区别。在维度变换时,需要注意保持数据的正确对应关系,避免维度不匹配导致的错误。
摘要由CSDN通过智能技术生成

tensor的维度变换

view以及reshape的用法

例子:

a = torch.rand(4,1,28,28)
a.view(4,28*28)

解读:其实就是将图片的通道数、图片的像素行列值都合并在一起,成为【4,784】,适合全连接层的输入。

例子2:

a = torch.rand(4,1,28,28)
a.view(4*1,28,28)

表示我们现在只关注feature map这个属性,而不关注它来自哪个图片的哪个通道

注意在view之后如果想恢复到原来的维数是要进行记录的,否则直接恢复是不行的。

squeeze与unsqueeze用法

unsqueeze

在相应的index的维度添加一维

例子:

a = torch.rand(4,1,28,28)
a.unsqueeze(0)
a.shape
#[1,4,1,28,28]

unsqueeze的参数是index,而index的范围是[-a.dim()-1,a.dim()+1)

-5 -4  -3   -2   -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值