在看代码的时候看到了contiguous的用法,特在此总结。
我的理解上这个的作用有点像deepcopy,如果有理解不对的地方,欢迎指出。
未使用contiguous.png
从图中我们可以看到对矩阵m进行转置之后,其实d指向的还是m。当我们修改了d中的数据之后,m中的数据也随之变化了,这其实和我们的本意是相违背的。
按照之前找的资料里面说d里面数据布局的方式和从头开始创建一个常规的tensor布局的方式是不一样的。听起来有些拗口。
我的理解就是这个可能只是python中之前常用的浅拷贝,d还是指向m变量所处的位置,只是说记录了transpose这个变化的布局。
在这里,如果想要拜托这两个变量之间的依赖(m本身是contiguous的),就要使用contiguous针对m进行变化,感觉上就是我们认为的深拷贝。
使用了contiguous.png