tf.transpose()

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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • tensorflow开发API 架构 Modules app module: Generic entry poin...
    sennchi阅读 5,177评论 0 2
  • 1.世界上只有一种真正的英雄主义,就是认清了生活的真相后依然热爱生活。
    魂归潇湘阅读 773评论 0 0
  • 今天聊聊紫禁城吧,这座古老皇城已经建成将近六百年了。紫禁城已经成为我们休闲娱乐的场所,但是他还有那些特点和秘密。 ...
    我是八爷阅读 5,337评论 4 6
  • 懒惰一滋生,大脑便支配着身体跟着各种“瘫痪”,这种一屁股落地就再也不想挪动位置的惰性,我在我这个年龄演绎的过分生动...
    镜框小姐阅读 1,436评论 0 0
  • 方子来自:味他厨友「小姿饭儿」 冬天到春天的升温,节奏快的他酱措手不及~ 啊~春暖花开不是事儿,想想夏天的花生酱冰...
    味他菜谱阅读 4,410评论 0 16