tf.transpose()函数(转)
tensorflow里面许多针对数组操作的函数,官方文档又看了没啥卵用,网上帖子直接copy官方文档而不解释,只能自己写个程序测试理解,以3个维度的tensor进行理解
tf.transpose()作为数组的转置函数,原型如下:
- def transpose(a, perm=None, name="transpose"):
- """Transposes `a`. Permutes the dimensions according to `perm`.
a:是传入的数组
perm:控制转置的操作,以perm = [0,1,2] 3个维度的数组为例, 0--代表的是最外层的一维, 1--代表外向内数第二维, 2--代表最内层的一维,这种perm是默认的值.现在以如下输入数组来理解这个函数和参数perm
- nput_x = [
- [
- [1, 2, 3, 4],
- [5, 6, 7, 8],
- [9, 10, 11, 12]
- ],
- [
- [13, 14, 15, 16],
- [17, 18, 19, 20],
- [21, 22, 23, 24]
- ]
- ]
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]
]
]
下面贴出我的代码:
- import tensorflow as tf
- input_x = [
- [
- [1, 2, 3, 4],
- [5, 6, 7, 8],
- [9, 10, 11, 12]
- ],
- [
- [13, 14, 15, 16],
- [17, 18, 19, 20],
- [21, 22, 23, 24]
- ]
- ]
- result = tf.transpose(input_x, perm=[0, 2, 1])
- with tf.Session() as sess:
- print(sess.run(result))
注意,使用print(result)只会打印tensor的name shape dtype信息
Tensor("transpose:0", shape=(2, 4, 3), dtype=int32)
想要打出数组的形式,使用session
- esult = tf.transpose(input_x, perm=[0, 2, 1])
- print(result)
- with tf.Session() as sess:
- print(sess.run(result))
tf.transpose()函数(转)相关推荐
- tf 矩阵行和列交换_tf.transpose函数的用法讲解
tf.transpose函数中文意思是转置,对于低维度的转置问题,很简单,不想讨论,直接转置就好(大家看下面文档,一看就懂). tf.transpose(a, perm=None, name='tra ...
- 【tensorflow】tf.reshape函数说明:重塑张量
转载 [471]tf.reshape函数说明_周小董-CSDN博客 https://blog.csdn.net/xc_zhou/article/details/85342542 函数原型: tf.re ...
- transpose公式_tf.transpose函数的用法讲解(图解)
tf.transpose函数中文意思是转置,对于低维度的转置问题,低维的还可以理解高维有点懵 看了博客也不是很明白 tf.transpose函数 tf.transpose( a, perm=None, ...
- tensorflow的tf.transpose()简单使用
tf.transpose(input, [dimension_1, dimenaion_2,..,dimension_n]):这个函数主要适用于交换输入张量的不同维度用的,如果输入张量是二维,就相当是 ...
- tf.transpose
tf.transpose(input, [dimension_1,dimenaion_2,..,dimension_n]) 这个函数主要适用于交换输入张量的不同维度用的,如果输入张量是二维,就相当是转 ...
- tf.transpose()个人理解,高纬度的变换,可以将部分维度看成黑盒(整体)
一 函数原型 tf.transpose( a, perm=None, name='transpose', conjugate=False ) a:表示的是需要变换的张量 perm:a的新的维度序列 n ...
- tf.transpose()
一 函数原型 tf.transpose( a, perm=None, name='transpose', conjugate=False ) a:表示的是需要变换的张量 ...
- 【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 ...
- python transpose函数_Tensorflow:转置函数transpose的使用详解
我就废话不多说,咱直接看代码吧! tf.transpose transpose( a, perm=None, name='transpose' ) Defined in tensorflow/pyth ...
最新文章
- SQL注入漏洞全接触--入门篇
- 枚举很好用啊,为啥阿里不建议返回值用枚举?
- mysql数据库入门题型_mysql数据库入门
- Stream Part.4
- Opencv 实现图像的离散傅里叶变换(DFT)、卷积运算(相关滤波)
- SQL Server 数据库的整理优化的基本过程(二)
- 互联网项目中, 一些可能有用的开源系统
- [翻译]Telnet简单介绍及在windows 7中开启Telnet客户端
- day5学python 基础+装饰器内容
- LeetCode 268. 缺失数字
- python电影推荐系统的设计与实现_一种电影推荐系统的设计与实现
- 小程序【笔记002】逻辑层简介
- JFreechart 在linux下不显示及中文乱码问题
- java day47【redis概念 、下载安装 、 命令操作 、持久化操作 、使用Java客户端操作redis】...
- 编译安装nginx出错
- Linux - ZModem协议的sz命令传输文件异常
- 复习用vue写tabbar
- LED显示行业之知识大全3
- 如何修改织梦后台登陆界面
- Deepin系统标题栏及其按钮美化
热门文章
- windows下php不支持mysql
- 数字后端基本概念-合集
- 【MySQL运维】MySQL5.1升级到MySQ 5.5实战
- python executemany_Python MySQLdb executemany
- uboot源码分析(1)uboot 命令解析流程简析
- JSP九大内置对象的分析,对应SERVLET中如何获取、使用
- fcpx调整图层_【FCPX萌新系列】新手常遇到的4个基础调色问题
- python学习--关注容易被忽略的知识点--(三)高级特性
- C#调用C++编写的COM DLL
- c语言程序设计 简述操作系统管理文件的方法,C语言程序设计基础实验.doc