不同点:
view()方法只能改变连续的(contiguous)张量,否则需要先调用.contiguous()方法;而.reshape()方法不受此限制;如果对 tensor 调用过 transpose, permute等操作的话会使该 tensor 在内存中变得不再连续。
其中可使用is_contiguous()来判断是否是连续的张量,is_contiguous直观的解释: Tensor底层一维数组元素的存储顺序与Tensor按行优先一维展开的元素顺序是否一致。如果我们在 transpose、permute 操作后执行 view,Pytorch 会抛出错误
浙公网安备 33010602011771号