在表示一组彩色图片的问题上,Theano和Caffe使用(样本数,通道数,行或称为高,列或称为宽)
通道在前的方式,称为channels_first;而TensorFlow使用(样本数,行或称为高,列或称为宽,通道数)
通道在后的方式,称为channels_last。
如下构造二维矩阵以描述这种特殊的叠加方式(二种方法)。
实现效果
[[['1' '2']
['3' '4']]
[['5' '6']
['7' '8']]
[['a' 'b']
['c' 'd']]]
(3, 2, 2)
---------------
channels_first转channels_last:
方式一:
[[['1' '5' 'a']
['2' '6' 'b']]
[['3' '7' 'c']
['4' '8' 'd']]]
(2, 2, 3)
方式二:
[[['1' '5' 'a']
['2' '6' 'b']]
[['3' '7' 'c']
['4' '8' 'd']]]
(2, 2, 3)
代码
import numpy as np
a=[[1,2],[3,4]]
b=[[5,6],[7,8]]
c=[['a','b'],['c','d']]
#二维矩阵叠加
# d=[]
# d.append(a)
# d.append(b)
# d.append(c)
# print(np.array(d))
# print(np.array(d).shape)
d=np.array([a,b,c])
print(d)
print(d.shape)
print()
print("---------------")
print("channels_first转channels_last:")
print("方式一:")
newd=np.moveaxis(d,0,2)
print(newd)
print(newd.shape)
print("方式二:")
newd2=np.rollaxis(d,0,3)
print(newd2)
print(newd2.shape)