torch view view_as

本文介绍了在PyTorch中使用torch.view和view_as时遇到的问题,特别是当数据经过筛选后再进行reshape操作时,可能会导致错误。解决方法是先使用contiguous()确保数据连续,然后应用view或view_as来改变形状。此外,文章还提到了将数据转换为一列的一种方式,即使用torch.flatten。
摘要由CSDN通过智能技术生成

 

import torch

a = torch.rand(3, 3, 4, 5)
b = a.view(3, -1)
c = b.view(3, 3, 4, 5)

d = torch.rand(3, 12, 1, 5)
print(torch.equal(c, a))

e=a.view_as(d)
print(e)
view_as reshape到跟d一样

 

view只能改变一段连续的内存,

如果数据先筛选,再view,就会报错:

 view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces)

解决方法:

a_correct = a_trans.contiguous().view(3,-1) 

 

如果只转成1列,下面也可以:

torch.flatten(indexs)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值