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的主要内容,如果未能解决你的问题,请参考以下文章