tf.stack与tf.unstack
这里对 tensorflow
中的 stack
和 unstack
做一个简单的介绍。
tf.stack 官方文档
tf.stack:
tf.stack
的作用是拼接张量,其实也就是拼接数组,且能指定拼接的维度。
tf.stack(values,axis=0, name='stack'
)
- values:要拼接的
tensor
列表,要求相同shape
和type
。 - axis:拼接的维度,可以是负数。
返回值为一个拼接好的 tensor
例:
x = tf.constant([1, 4])
y = tf.constant([2, 5])
z = tf.constant([3, 6])
经过拼接:
tf.stack([x, y, z]) #默认维度 axis=0# [[1, 4], [2, 5], [3, 6]] (Pack along first dim.)
tf.stack([x, y, z], axis=1) # [[1, 2, 3], [4, 5, 6]]
tf.unstack
unstack
产生的效果与 stack
相反:
tf.unstack(value,num=None,axis=0,name='unstack'
)
- num :指定分解
value
产生的tensor
个数,一般不用指定,函数会根据shape
自己推断。
例:
a = tf.constant([[1, 2, 3],[4, 5, 6]]
)
经过 unstack
:
b = tf.unstack(a,axis=0)
#[array([1, 2, 3]), array([4, 5, 6])]c = tf.unstack(a,axis=1)
#[array([1, 4]), array([2, 5]), array([3, 6])]with tf.Session() as sess:print(sess.run(b))print(sess.run(c))
a = tf.constant([[[1, 2, 3],[4, 5, 6]],[[7, 8, 9],[10, 11, 12]]]
)
b = tf.unstack(a,axis=0)
#[array([[1, 2, 3],[4, 5, 6]]), array([[ 7, 8, 9],[10, 11, 12]])]c = tf.unstack(a,num=2,axis=1) #num 加与没加产生的结果一样
#[array([[1, 2, 3],[7, 8, 9]]), array([[ 4, 5, 6],[10, 11, 12]])]
tf.stack与tf.unstack相关推荐
- tf.concat, tf.stack和tf.unstack的用法
tf.concat, tf.stack和tf.unstack的用法 tf.concat相当于numpy中的np.concatenate函数,用于将两个张量在某一个维度(axis)合并起来,例如: a ...
- tf.stack()和tf.unstack()的用法
tf.stack()这是一个矩阵拼接的函数,tf.unstack()则是一个矩阵分解的函数 c是拼接,而d和e则是不同维度的分解 转自:http://blog.csdn.net/u012193416/ ...
- tf.stack() 详解
tensorflow用于矩阵拼接的方法:tf.stack() 个人参考感觉还不错的一个理解(tf.stack() 和 tf.concat()的区别):https://blog.csdn.net/Gai ...
- 记录 之 tensorflow中几个常用的函数:tf.unstack,tf.concat() 和 tf.stack() 等
1.tf.to_int32():tf.to_float()等 函数,主要是强制类型转换函数: 2.tf.shape(tensor):获取tensor的尺寸 3.tf.round(a):四舍五入函数,张 ...
- 深度学习 - 22.TF TF1.x tf.string_split VS TF2.x tf.strings.split
一.引言 开发时同时用到了TF1与TF2,使用中发现 split 函数在V1和V2中有一些区别,记录一下. 二.TF1.x tf.string_split 1.使用 Input: 对字符串数组进行分割 ...
- 通俗理解tf.name_scope()、tf.variable_scope()
前言:最近做一个实验,遇到TensorFlow变量作用域问题,对tf.name_scope().tf.variable_scope()等进行了较为深刻的比较,记录相关笔记: tf.name_scope ...
- openlayers map获取全部feature_tf2.0基础-tf.data与tf.feature_column
7.2.1 tf.data 使用 tf.data API 可以轻松处理大量数据.不同的数据格式以及复杂的转换.tf.data API 在 TensorFlow 中引入了两个新的抽象类: tf.data ...
- tf.name_scope() 和 tf.variable_scope() 的用法和玄机
2019独角兽企业重金招聘Python工程师标准>>> 一. name_scope 和 variable_scope的用途 用途1: 共享变量 TensorFlow (TF) 中,n ...
- tf.variable和tf.get_Variable以及tf.name_scope和tf.variable_scope的区别
在训练深度网络时,为了减少需要训练参数的个数(比如具有simase结构的LSTM模型).或是多机多卡并行化训练大数据大模型(比如数据并行化)等情况时,往往需要共享变量.另外一方面是当一个深度学习模型变 ...
最新文章
- 第十六届全国大学生智能车竞赛线上赛点赛道审核 - 浙江赛区
- 文件系统应用笔记之一:FatFS在STM32F4上的移植
- linux 防御***
- 我的是50M宽带,速度有5M/s,难道是百度网盘不给力?
- 曾经很火的迅雷,为什么现在不怎么火了?
- 已root手机在DDMS下无法读取data目录的解决办法
- [Unity3D]脚本中Start()和Awake()的区别
- 关于圆与直线所包含点的多少关系证明
- 实践小笔记(1) --- DBSCAN
- 新概念英语(第三册,新版)学习(原文及全文翻译)
- URL.createObjectURL()
- vue加载m3u8视频格式
- mysql宠物店java_javajdbc宠物商店-Mysql数据库
- 如何提升智慧办公效率?华为云桌面不可少,畅享集中化管理运行
- 新手小白入门编程第3讲 JAVA入门案例
- 唯众本科Web前端专业解决方案
- css适配iphonex底部安全区
- 【转】Thunderbird on Ubuntu 12.04 – 调整邮件列表行间距
- 永浆草莓采摘永安踏春好去处
- 【电子电路】(1)PWM转DAC如何实现