Pytorch tensor(1.3):Reshape Operations--flatten

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pytorch tensor(1.3):Reshape Operations--flatten相关的知识,希望对你有一定的参考价值。

参考技术A Flattening a tensor means to remove all of the dimensions except for one.

对比 flatten 和 reshape

构建卷积神经网络时,会使用 flatten() 函数,tensor从卷积层传递到全连接层时,需要进行flatten操作

CNN input tensor shape,Pytorch神经网络张量输入格式为:
(Batch Size, Channels, Height, Width)

3 表示输入图片 batch_size , 4 分别表示图片的长和宽

再加入表示颜色的Channels,这里使用灰度图像 Channels=1

查看第一幅图像

查看第一幅图像的第一个颜色通道

查看第一幅图像的第一个颜色通道的第一行

查看第一幅图像的第一个颜色通道的第一行中的第一个像素值。

These axes need to be flattened: (C,H,W)
颜色,宽度,高度这三个轴都需要展开,使用Pytorch中内置 flatten() 方法可以实现

使用 start_dim 参数,告诉 flatten() 从哪个轴开始展开, flatten() 默认 start_dim=0

start_dim=1 时索引为第二个轴,即颜色通道轴

pytorch Tensor和Variable

参考技术A Tensor是pytorch中最基本的构件,可以像numpy一样进行矩阵计算,最主要的是Tensor支持GPU加速运算。而且Tensor的运算与numpy的运算基本相似,但有部分高级的矩阵计算Tensor并不支持,比如计算特征值特征向量等。因此numpy还是有存在的必要的。

tensor是Pytorch中非常高效数据格式,但用tensor构建神经网络还远远不够,为了构建计算图,所以Variable是不可或缺的数据形式。Variable是对tensor的封装。
Variable有三个属性:

以上是关于Pytorch tensor(1.3):Reshape Operations--flatten的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch常用知识总结

DataWhales深入浅出Pytorch-第二章

DataWhales深入浅出Pytorch-第二章

DataWhales深入浅出Pytorch-第二章

DataWhales深入浅出Pytorch-第二章

[PyTroch系列-7]:PyTorch基础 - 张量Tensor的算术运算