pytorch中的cat、stack、tranpose、permute、unsqeeze、contiguous()

【pytorch学习1】pytorch中的cat、stack、tranpose、permute、unsqeeze详解

pytorch中的cat、stack、tranpose、permute、unsqeeze

pytorch中stack()和cat()的理解和区别图解

pytorch中stack和cat的区别

Pytorch中contiguous()函数理解
pytorch中contiguous理解(view,reshape,transpose,permute)

总结:cat是在相应指定维度上的扩张;stack像目录一样给被组合的tensor添加一个父目录,会增加一个维度;contiguous()如果想要断开这两个变量之间的依赖(x本身是contiguous的),就要使用contiguous()针对x进行变化,感觉上就是我们认为的深拷贝。当调用contiguous()时,会强制拷贝一份tensor,让它的布局和从头创建的一模一样,但是两个tensor完全没有联系。例如,y = torch.transpose(x, 0, 1).contiguous(),对y的操作不会再影响到x,而如果不用.contiguous()的话,y的变化也会也引起x的变化。

所谓维度,可以从[]有几层来判断维数。

你可能感兴趣的:(Pytorch,pytorch,深度学习,人工智能)