本文介绍: 在pytorch中只有很少几个操作是**不改变tensor内容本身的**,大多数操作**不进行数据拷贝和数据的改变,变的是原数据**。例如:narrow()、view()、expand()和transpose()等。
pytorch contiguous
1 官方中英文doc:
1.1 contiguous() → Tensor
1.2 contiguous() → Tensor
返回一个内存连续的有相同数据的tensor,如果原tensor内存连续,则返回原tensor;
2 pytorch contiguous的使用
contiguous一般与transpose,permute,view搭配使用:使用transpose或permute进行维度变换后,调用contiguous,然后方可使用view对维度进行变形(如:tensor_var.contiguous().view() ),
示例如下:
具体原因有两种说法:
view()、permute()和contiguous() 具体用法和区别
1. view()
view() 变换维度,把原先tensor中的数据按行优先的顺序排成一维数据,然后按照输入的参数组合成其他维度的tensor。
输出:
2. permute()
3. contiguous()
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。