欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Pytorch教程(十三):reshape、squeeze、flatten

发布时间:2024/9/18 编程问答 59 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Pytorch教程(十三):reshape、squeeze、flatten 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

reshape

首先我们创建一个tensor,shape:3×43 \times 43×4,是一个两个轴的二阶张量。第一个轴的长度是3,第二个轴的长度是4,第一个轴的元素是数组,第二个轴的元素是数字

我们可以用torch.size()或者torch.shape来获取形状

张量形状给出的另一个重要特征是张量中包含的元素的个数,也可以通过获取shape中各分量的值乘积来推导出来:

因为我们的元素有12个,因此任何reshape操作都必须考虑这12个元素。

squeeze压缩


squeeze()压缩一个张量可以移除所有长度为1的轴axis,而解压一个张量则会增加一个长度为1的维度。因此squeeze和unsqueeze可以扩大或缩小张量的秩。

flatten

通过构建一个flatten来压缩一个张量,当我们把一个张量拉平时,意味着我们把张量变成了更低秩的张量。所以flatten,本质上就是压缩张量,压缩一个张量意味着除去所有的轴,只保留一个,他创造了一个单轴的张量,它包含了张量元素。

一个flatten操作,是当我们从一个卷积层过渡到一个全连接层时必须在神经网络中发生的操作。传递给全连接层的卷积层输出必须在进入全连接层之前进行flatten。

flatten是一种特殊的reshape,即将所有的轴都被积压在一起。


cat拼接

与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是生活随笔为你收集整理的Pytorch教程(十三):reshape、squeeze、flatten的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。