对Pytorch 中的contiguous理解说明
最近遇到这个函数,但查的中文博客里的解释貌似不是很到位,这里翻译一下在pytorch中,只有很少几个操作是不改变tensor的内容本身,而只是重新定义下标与元素的对应关系的。转置的tensor和原tensor的内存是共享的!也就是说,经过上述操作后得到的tensor,它内部数据的布局方式和从头开始创建一个这样的常规的tensor的布局方式是不一样的!注意不要被contiguous的字面意思“连续的”误解,tensor中数据还是在内存中一块区域里,只是布局的问题!当调用contiguous()时,会强制拷贝一份tensor,让它的布局和从头创建的一毛一样。一般来说这一点不用太担心,如果你没在需要调用contiguous()的地方调用contiguous(),运行时会提示你:
用户评论