Tensorflow tf.tile()的用法实例分析


Posted in Python onMay 22, 2020

tf.tile()应用于需要张量扩展的场景,具体说来就是:

如果现有一个形状如[width, height]的张量,需要得到一个基于原张量的,形状如[batch_size,width,height]的张量,其中每一个batch的内容都和原张量一模一样。tf.tile使用方法如:

tile(
  input,
  multiples,
  name=None
)
import tensorflow as tf
a = tf.constant([7,19])
a1 = tf.tile(a,multiples=[3]) #第一个维度扩充3遍
b = tf.constant([[4,5],[3,5]])
b1 = tf.tile(b,multiples=[2,3])#第一个维度扩充2遍,第二个维度扩充3遍
with tf.Session() as sess:
  print(sess.run(a))
  print(sess.run(a1))
  print(sess.run(b))
  print(sess.run(b1))

Tensorflow tf.tile()的用法实例分析

补充知识:tf.tile() 和 tf.contrib.seq2seq.tile_batch()

简单介绍这两个函数的基本用法, 以及区别. 以及在 BeamSearch 的时候用哪个?

# 将input的某一维度复制多少次, len(input.shape()) 等于 len(multiples)
# tf.tile(input, multiples, name=None)
t = tf.constant([[1, 1, 1, 9], [2, 2, 2, 9], [7, 7, 7, 9]])
# 第一维度和第二维度都保持不变
z0 = tf.tile(t, multiples=[1, 1])
# 第1维度不变, 第二维度复制为2份
z1 = tf.tile(t, multiples=[1, 2])
# 第1维度复制为两份, 第二维度不变
z2 = tf.tile(t, multiples=[2, 1])
# tf.contrib.seq2seq.tile_batch(encoder_outputs, multiplier=self.beam_size)
encoder_outputs = tf.constant([[[1, 3, 1], [2, 3, 2]], [[2, 3, 4], [2, 3, 2]]])
print(encoder_outputs.get_shape()) # (2, 2, 3)
# 将batch内的每个样本复制3次, tile_batch() 的第2个参数是一个 int 类型数据
z4 = tf.contrib.seq2seq.tile_batch(encoder_outputs, multiplier=3)

with tf.Session() as sess:
  print(sess.run(z0))
  print(sess.run(z1))
  print(sess.run(z2))
 输出: 
 [[1 1 1 9]
 [2 2 2 9]
 [7 7 7 9]]
 
[[1 1 1 9 1 1 1 9]
 [2 2 2 9 2 2 2 9]
 [7 7 7 9 7 7 7 9]]
 
[[1 1 1 9]
 [2 2 2 9]
 [7 7 7 9]
 [1 1 1 9]
 [2 2 2 9]
 [7 7 7 9]]
 
[[[1 3 1]
 [2 3 2]]

 [[1 3 1]
 [2 3 2]]

 [[1 3 1]
 [2 3 2]]

 [[2 3 4]
 [2 3 2]]

 [[2 3 4]
 [2 3 2]]

 [[2 3 4]
 [2 3 2]]]

以上这篇Tensorflow tf.tile()的用法实例分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python+Django在windows下的开发环境配置图解
Nov 11 Python
Python实现求最大公约数及判断素数的方法
May 26 Python
python编程开发之textwrap文本样式处理技巧
Nov 13 Python
200 行python 代码实现 2048 游戏
Jan 12 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
Python paramiko模块使用解析(实现ssh)
Aug 30 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
关于Keras Dense层整理
May 21 Python
Idea安装python显示无SDK问题解决方案
Aug 12 Python
Python预测分词的实现
Jun 18 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 #Python
Tensorflow实现将标签变为one-hot形式
May 22 #Python
Python selenium爬取微博数据代码实例
May 22 #Python
python实现文法左递归的消除方法
May 22 #Python
使用Django搭建网站实现商品分页功能
May 22 #Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
May 22 #Python
Python实现发票自动校核微信机器人的方法
May 22 #Python
You might like
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
php foreach 使用&(与运算符)引用赋值要注意的问题
2010/02/16 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
php文件包含目录配置open_basedir的使用与性能详解
2017/04/03 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
PHP时间戳和日期相互转换操作实例小结
2018/12/18 PHP
Node.js(安装,启动,测试)
2014/06/09 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
Python自定义线程类简单示例
2018/03/23 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
pandas如何处理缺失值
2019/07/31 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
python的flask框架难学吗
2020/07/31 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
EJB3.1都有哪些改进
2012/11/17 面试题
迟到检讨书
2015/01/26 职场文书
实习生辞职信范文
2015/03/02 职场文书
值班管理制度范本
2015/08/06 职场文书
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL