tf.transpose(a, perm = None, name = 'transpose')
a是一个张量(Tensor),实际上就是一个数组。
perm是a置换的维度
name是操作的名称
最后返回一个转置的张量
图像处理时数据集中存储数据的形式为:[channel,image_height,image_width],在intel GPU加速的情况下,因为GPU对于图像的处理比较多,希望在访问同一个channel的像素是连续的,一般存储选用NCHW【参考链接:NCHW和NHWC】。而在tensorflow中使用CNN时我们需要将其转化为[image_height,image_width,channel]的形式,这个时候我们可以使用tf.transpose函数,即tf.transpose(a.[1,2,0])
如果perm没有给定,那么默认是perm是=[n-1,n-2,n-3.....,0],其中rank(a)=n
对于二维输入数据,默认perm就是常规的矩阵转置操作。
tf.transpose的第二个参数perm=[0,1,2],0代表三维数组的高(即为二维数组的个数),1代表二维数组的行,2代表二维数组的列。
tf.transpose(x, perm=[1,0,2])代表将三位数组的高和行进行转置。
wiki文档如下&#