tensorflow里面许多针对数组操作的函数,官方文档又看了没啥卵用,网上帖子直接copy官方文档而不解释,只能自己写个程序测试理解,以3个维度的tensor进行理解

tf.transpose()作为数组的转置函数,原型如下:

  1. def transpose(a, perm=None, name="transpose"):
  2. """Transposes `a`. Permutes the dimensions according to `perm`.

a:是传入的数组

perm:控制转置的操作,以perm = [0,1,2] 3个维度的数组为例, 0--代表的是最外层的一维, 1--代表外向内数第二维, 2--代表最内层的一维,这种perm是默认的值.现在以如下输入数组来理解这个函数和参数perm

  1. nput_x = [
  2. [
  3. [1, 2, 3, 4],
  4. [5, 6, 7, 8],
  5. [9, 10, 11, 12]
  6. ],
  7. [
  8. [13, 14, 15, 16],
  9. [17, 18, 19, 20],
  10. [21, 22, 23, 24]
  11. ]
  12. ]

input_x 是一个 2x3x4的一个tensor, 假设perm = [1,0,2], 就是将最外2层转置,得到tensor应该是  3x2x4的一个张量,将input_x抽象化,不管第3维度
[
     [
          A,
          B,
          C
     ],
     [
          D,
          E,
          F,
     ]
]
变成2x3的tensor,类似于2x3的数组
[
     A  B  C
     D  E  F
]
转置变成 3x2的数组
[
    A  D
    B  E
    C  F
]
再将A-F换成具体的值,最终得到的张量是
[
  [
     [ 1  2  3  4]
     [13 14 15 16]
 ]
 [
    [ 5  6  7  8]
    [17 18 19 20]
  ]
  [
     [ 9 10 11 12]
     [21 22 23 24]
  ]
]
这就可以看出perm前两列交换的作用
如果 perm=[0,2,1]说明要交换内层里面的两个维度,从原来的2x3x4变成2x4x3的张量,就不抽象化了,结果就是
[
  [
      [ 1  5  9]
      [ 2  6 10]
      [ 3  7 11]
      [ 4  8 12]
  ]
  [
     [13 17 21]
     [14 18 22]
     [15 19 23]
     [16 20 24]
  ]
]
下面贴出我的代码:

  1. import tensorflow as tf
  2. input_x = [
  3. [
  4. [1, 2, 3, 4],
  5. [5, 6, 7, 8],
  6. [9, 10, 11, 12]
  7. ],
  8. [
  9. [13, 14, 15, 16],
  10. [17, 18, 19, 20],
  11. [21, 22, 23, 24]
  12. ]
  13. ]
  14. result = tf.transpose(input_x, perm=[0, 2, 1])
  15. with tf.Session() as sess:
  16. print(sess.run(result))

注意,使用print(result)只会打印tensor的name  shape  dtype信息
Tensor("transpose:0", shape=(2, 4, 3), dtype=int32)
想要打出数组的形式,使用session

  1. esult = tf.transpose(input_x, perm=[0, 2, 1])
  2. print(result)
  3. with tf.Session() as sess:
  4. print(sess.run(result))

tf.transpose()函数(转)相关推荐

  1. tf 矩阵行和列交换_tf.transpose函数的用法讲解

    tf.transpose函数中文意思是转置,对于低维度的转置问题,很简单,不想讨论,直接转置就好(大家看下面文档,一看就懂). tf.transpose(a, perm=None, name='tra ...

  2. 【tensorflow】tf.reshape函数说明:重塑张量

    转载 [471]tf.reshape函数说明_周小董-CSDN博客 https://blog.csdn.net/xc_zhou/article/details/85342542 函数原型: tf.re ...

  3. transpose公式_tf.transpose函数的用法讲解(图解)

    tf.transpose函数中文意思是转置,对于低维度的转置问题,低维的还可以理解高维有点懵 看了博客也不是很明白 tf.transpose函数 tf.transpose( a, perm=None, ...

  4. tensorflow的tf.transpose()简单使用

    tf.transpose(input, [dimension_1, dimenaion_2,..,dimension_n]):这个函数主要适用于交换输入张量的不同维度用的,如果输入张量是二维,就相当是 ...

  5. tf.transpose

    tf.transpose(input, [dimension_1,dimenaion_2,..,dimension_n]) 这个函数主要适用于交换输入张量的不同维度用的,如果输入张量是二维,就相当是转 ...

  6. tf.transpose()个人理解,高纬度的变换,可以将部分维度看成黑盒(整体)

    一 函数原型 tf.transpose( a, perm=None, name='transpose', conjugate=False ) a:表示的是需要变换的张量 perm:a的新的维度序列 n ...

  7. tf.transpose()

    一 函数原型 tf.transpose(     a,     perm=None,     name='transpose',     conjugate=False ) a:表示的是需要变换的张量 ...

  8. 【python】tensorflow框架中的tf.gather_nd()函数对应的 pytorch框架的gather_nd()函数

    tf.gather_nd 函数对应的pytorch函数 1. 简单介绍 2. 步入正题 2.1 tensorflow tf.gather_nd() 2.2 pytorch框架手动实现gather_nd ...

  9. python transpose函数_Tensorflow:转置函数transpose的使用详解

    我就废话不多说,咱直接看代码吧! tf.transpose transpose( a, perm=None, name='transpose' ) Defined in tensorflow/pyth ...

最新文章

  1. SQL注入漏洞全接触--入门篇
  2. 枚举很好用啊,为啥阿里不建议返回值用枚举?
  3. mysql数据库入门题型_mysql数据库入门
  4. Stream Part.4
  5. Opencv 实现图像的离散傅里叶变换(DFT)、卷积运算(相关滤波)
  6. SQL Server 数据库的整理优化的基本过程(二)
  7. 互联网项目中, 一些可能有用的开源系统
  8. [翻译]Telnet简单介绍及在windows 7中开启Telnet客户端
  9. day5学python 基础+装饰器内容
  10. LeetCode 268. 缺失数字
  11. python电影推荐系统的设计与实现_一种电影推荐系统的设计与实现
  12. 小程序【笔记002】逻辑层简介
  13. JFreechart 在linux下不显示及中文乱码问题
  14. java day47【redis概念 、下载安装 、 命令操作 、持久化操作 、使用Java客户端操作redis】...
  15. 编译安装nginx出错
  16. Linux - ZModem协议的sz命令传输文件异常
  17. 复习用vue写tabbar
  18. LED显示行业之知识大全3
  19. 如何修改织梦后台登陆界面
  20. Deepin系统标题栏及其按钮美化

热门文章

  1. windows下php不支持mysql
  2. 数字后端基本概念-合集
  3. 【MySQL运维】MySQL5.1升级到MySQ 5.5实战
  4. python executemany_Python MySQLdb executemany
  5. uboot源码分析(1)uboot 命令解析流程简析
  6. JSP九大内置对象的分析,对应SERVLET中如何获取、使用
  7. fcpx调整图层_【FCPX萌新系列】新手常遇到的4个基础调色问题
  8. python学习--关注容易被忽略的知识点--(三)高级特性
  9. C#调用C++编写的COM DLL
  10. c语言程序设计 简述操作系统管理文件的方法,C语言程序设计基础实验.doc