美文网首页
tf.transpose()

tf.transpose()

作者: Perry_Wu | 来源:发表于2018-02-07 23:50 被阅读0次

tf.transpose()为转置函数,其中参数perm用来设置需要转置的维度和顺序

img = np.array([
    [[1, 2, 3], [4, 5, 6]],
    [[7, 8, 9], [10, 11, 12]]
])

# img = img[np.newaxis, :]
l1 = tf.convert_to_tensor(img)
l2 = tf.contrib.layers.flatten(l1)
l3 = tf.transpose(l1, (1, 0, 2))
l4=tf.contrib.layers.flatten(l3)

with tf.Session() as sess:
    out = sess.run(l4) 
    print out, out.shape

img是一个2*2*3 (row*col*channel)的图像矩阵,在内存中的存储顺序为:channel=>col=>row,即从shape的最后一个维度往前开始存储,对应的perm(0,1,2)

如果进行l3 = tf.transpose(l1, (0, 1, 2))则矩阵不变

如果进行l3 = tf.transpose(l1, (1, 0, 2))则对rowcol进行转置,转置后,内存中的存储顺序改为:channel=>row=>colshape=(2,2,3)

如果进行l3 = tf.transpose(l1, (2, 0, 1))则对先对rowcol进行转置,再对colchannel进行转置,内存中的存储顺序改为:col=>row=>channelshape=(3,2,2)

相关文章

  • tf.transpose()

    因为x是一个二维矩阵,所以在tf.transpose里的第二个参数初始状态应该是[0,1]那么[1,0]表示的就是...

  • tf.transpose()

    tf.transpose()为转置函数,其中参数perm用来设置需要转置的维度和顺序 img是一个2*2*3 (r...

  • tf.transpose

    按照翻译来解释,就是转置的意思.如果把一个矩阵[[120][340]]转置,那么很好理解,就是[[13][24][...

  • tensor常用操作

    tf.transpose(): 转置, 若输入数据格式为NCHW可转化为NHWC tf.expand_dims()...

  • Understanding tf.transpose()

    To get an intuitive understanding about this function, yo...

  • TF2.0:tf.reshape与tf.transpose的区别

    说明:这两个维度变换操作,对于张量的处理是非常重要的!但是二者其实有本质上的不同!一定不能混用。本文将详细说明两者...

网友评论

      本文标题:tf.transpose()

      本文链接:https://www.haomeiwen.com/subject/zqrzzxtx.html