咨询Torch中RGB图像维度表示约定:是HWC还是CWH?
PyTorch中RGB图像的维度顺序说明
嘿,这个问题刚接触PyTorch的时候确实容易搞混,我来给你理清楚~
在PyTorch里,RGB图像的张量默认维度顺序是**{channels, height, width}**(行业里常简称CHW格式)。举个例子,一张224×224的普通RGB图,转换成PyTorch张量后,形状会是(3, 224, 224)——3对应RGB三个通道,后面两个分别是图像的高度和宽度。
这里要注意和其他常用库的区别:
- 像PIL、OpenCV这类库读取的图像,默认是**{height, width, channels}**(HWC格式),比如同样的224×224 RGB图,用PIL读出来的数组形状是
(224, 224, 3)。 - 如果需要把这类HWC格式的图像转换成PyTorch兼容的CHW格式,有两种常用方式:
- 手动用张量的
permute方法:比如执行img_tensor.permute(2, 0, 1),就能把通道维度移到最前面。 - 用torchvision自带的
ToTensor()变换,它会自动完成HWC到CHW的转换,还会把像素值从0-255的范围归一化到0-1,非常省心。
- 手动用张量的
内容的提问来源于stack exchange,提问作者David Parks
相关产品推荐
相关产品推荐

