这里对 tensorflow 中的 stackunstack 做一个简单的介绍。

tf.stack 官方文档

tf.stack:

tf.stack 的作用是拼接张量,其实也就是拼接数组,且能指定拼接的维度。

tf.stack(values,axis=0, name='stack'
)
  • values:要拼接的 tensor 列表,要求相同 shapetype
  • 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相关推荐

  1. tf.concat, tf.stack和tf.unstack的用法

    tf.concat, tf.stack和tf.unstack的用法 tf.concat相当于numpy中的np.concatenate函数,用于将两个张量在某一个维度(axis)合并起来,例如: a ...

  2. tf.stack()和tf.unstack()的用法

    tf.stack()这是一个矩阵拼接的函数,tf.unstack()则是一个矩阵分解的函数 c是拼接,而d和e则是不同维度的分解 转自:http://blog.csdn.net/u012193416/ ...

  3. tf.stack() 详解

    tensorflow用于矩阵拼接的方法:tf.stack() 个人参考感觉还不错的一个理解(tf.stack() 和 tf.concat()的区别):https://blog.csdn.net/Gai ...

  4. 记录 之 tensorflow中几个常用的函数:tf.unstack,tf.concat() 和 tf.stack() 等

    1.tf.to_int32():tf.to_float()等 函数,主要是强制类型转换函数: 2.tf.shape(tensor):获取tensor的尺寸 3.tf.round(a):四舍五入函数,张 ...

  5. 深度学习 - 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: 对字符串数组进行分割 ...

  6. 通俗理解tf.name_scope()、tf.variable_scope()

    前言:最近做一个实验,遇到TensorFlow变量作用域问题,对tf.name_scope().tf.variable_scope()等进行了较为深刻的比较,记录相关笔记: tf.name_scope ...

  7. openlayers map获取全部feature_tf2.0基础-tf.data与tf.feature_column

    7.2.1 tf.data 使用 tf.data API 可以轻松处理大量数据.不同的数据格式以及复杂的转换.tf.data API 在 TensorFlow 中引入了两个新的抽象类: tf.data ...

  8. tf.name_scope() 和 tf.variable_scope() 的用法和玄机

    2019独角兽企业重金招聘Python工程师标准>>> 一. name_scope 和 variable_scope的用途 用途1: 共享变量 TensorFlow (TF) 中,n ...

  9. tf.variable和tf.get_Variable以及tf.name_scope和tf.variable_scope的区别

    在训练深度网络时,为了减少需要训练参数的个数(比如具有simase结构的LSTM模型).或是多机多卡并行化训练大数据大模型(比如数据并行化)等情况时,往往需要共享变量.另外一方面是当一个深度学习模型变 ...

最新文章

  1. 第十六届全国大学生智能车竞赛线上赛点赛道审核 - 浙江赛区
  2. 文件系统应用笔记之一:FatFS在STM32F4上的移植
  3. linux 防御***
  4. 我的是50M宽带,速度有5M/s,难道是百度网盘不给力?
  5. 曾经很火的迅雷,为什么现在不怎么火了?
  6. 已root手机在DDMS下无法读取data目录的解决办法
  7. [Unity3D]脚本中Start()和Awake()的区别
  8. 关于圆与直线所包含点的多少关系证明
  9. 实践小笔记(1) --- DBSCAN
  10. 新概念英语(第三册,新版)学习(原文及全文翻译)
  11. URL.createObjectURL()
  12. vue加载m3u8视频格式
  13. mysql宠物店java_javajdbc宠物商店-Mysql数据库
  14. 如何提升智慧办公效率?华为云桌面不可少,畅享集中化管理运行
  15. 新手小白入门编程第3讲 JAVA入门案例
  16. 唯众本科Web前端专业解决方案
  17. css适配iphonex底部安全区
  18. 【转】Thunderbird on Ubuntu 12.04 – 调整邮件列表行间距
  19. 永浆草莓采摘永安踏春好去处
  20. 【电子电路】(1)PWM转DAC如何实现

热门文章

  1. ActiveMQ高级特性
  2. Prometheus监控业务指标
  3. 网曝某互联网大厂给员工电脑安装插件,基本等于全程监控!网友:就是监控你们划水!...
  4. 卧槽,又一个Java面试神器!!!
  5. 26个类型的常见面试精选总结(建议收藏)
  6. 阿里巴巴开源限流降级神器Sentinel大规模生产级应用实践
  7. 分布式事务选型的取舍
  8. 毕业五年,几个月入百万阿里系大神的公众号!
  9. 漫画图解让美国颤抖的5G,到底牛在哪?
  10. 垂直电商架构进化之路