数字图像处理中的 channels_first与channels_last

本文探讨了在深度学习中,不同框架如Theano、Caffe、TensorFlow对彩色图片数据的不同表示方式,以及如何使用numpy的moveaxis函数进行数据转换以适配特定框架的数据输入要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在深度学习中,不同的框架可能对应不同的影像表达,在数据处理时应做相应的转换。

在表示一组彩色图片的问题上,Theano和Caffe使用(样本数,通道数,行或称为高,列或称为宽)通道在前的方式,称为channels_first;而TensorFlow使用(样本数,行或称为高,列或称为宽,通道数)通道在后的方式,称为channels_last。

 使用numpy的moveaxis函数

x_train=gdal_array.LoadFile(label_src+'3.tif')
x_train=np.moveaxis(x_train,0,2)   #使用这种方式转为channel last