PyTorch学习疑问:神经网络图像默认输入维度是H×W×C吗?
神经网络图像输入维度顺序相关解答
首先可以明确:不存在全局统一的神经网络图像输入默认维度,通道优先(Channel First) 和 通道最后(Channel Last) 两种格式的使用完全取决于你所用的框架、工具链要求:
- PyTorch、Caffe、MXNet等框架默认使用通道优先格式,单张图像的维度为
C × H × W,批次级输入的维度为N × C × H × W(N代表批次大小) - TensorFlow 2.x、OpenCV、PIL、Matplotlib等工具/库默认使用通道最后格式,单张图像的维度为
H × W × C,批次级输入的维度为N × H × W × C
你提到的 img_t.permute(1, 2, 0) 写法,绝大多数场景是用来把PyTorch中读取/处理得到的C × H × W格式张量,转换为可视化、或者对接其他通道最后格式工具的张量,并非转换为PyTorch框架下模型的输入格式:如果你要把图像喂入PyTorch内置的CV模型,反而需要保持C × H × W的轴顺序,且额外在最前面新增批次维度变为N × C × H × W才能正常推理/训练。
内容的提问来源于stack exchange,提问作者Dhruv Vashist
相关产品推荐
相关产品推荐

