分类:PyTorch
我就废话不多说了,大家还是直接看代码吧~b=torch.zeros((3,2,6,6))a=torch.zeros((3,2,1,1))a.expand_as(b).size()Out[32]:torch.Size([3,2,6,6])a=torch.zeros((3,2,2,1))a.expand_as(b).size()Traceback(mostrecentcalllast):File"/home/lart/.conda/envs/pt/lib/python3.6/site-packages/IPython/core/interactiveshell.py",line3267,inrun_codeexec(code_obj,self.user_global_ns,self.user...
继续阅读 >
相当于numpy中resize()的功能,但是用法可能不太一样。我的理解是:把原先tensor中的数据按照行优先的顺序排成一个一维的数据(这里应该是因为要求地址是连续存储的),然后按照参数组合成其他维度的tensor。比如说是不管你原先的数据是[[[1,2,3],[4,5,6]]]还是[1,2,3,4,5,6],因为它们排成一维向量都是6个元素,所以只要view后面的参数一致,得到的结果都是一样的。比如,a=torch.Tensor([[[1,2,3],[4,5,6]]])b=torch.Tensor([1...
继续阅读 >
在pytorch的CNN代码中经常会看到x.view(x.size(0),-1)首先,在pytorch中的view()函数就是用来改变tensor的形状的,例如将2行3列的tensor变为1行6列,其中-1表示会自适应的调整剩余的维度a=torch.Tensor(2,3)print(a)#tensor([[0.0000,0.0000,0.0000],#[0.0000,0.0000,0.0000]])print(a.view(1,-1))#tensor([[0.0000,0.0000,0.0000,0.0000,0.0000,0.0000]])在CNN中卷积或者池化之后需要连接全连接层,所以需要把...
继续阅读 >