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实现俄罗斯方块
Jun 26 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
Python利用WMI实现ping命令的例子
Aug 14 Python
python实现对列表中的元素进行倒序打印
Nov 23 Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 Python
python实现简单井字棋小游戏
Mar 05 Python
Python常用数字处理基本操作汇总
Sep 10 Python
python 进程池pool使用详解
Oct 15 Python
编写python代码实现简单抽奖器
Oct 20 Python
python 窃取摄像头照片的实现示例
Jan 08 Python
详解Django中的FBV和CBV对比分析
Mar 01 Python
yolov5返回坐标的方法实例
Mar 17 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实现转换ubb代码的方法
2015/06/18 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
PHP学习记录之数组函数
2018/06/01 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
D3.js实现散点图和气泡图的方法详解
2016/09/21 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
python多重继承实例
2014/10/11 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
python比较两个列表大小的方法
2015/07/11 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
运动会邀请函范文
2014/02/06 职场文书
逃课检讨书
2015/01/26 职场文书
2015年话务员工作总结
2015/04/29 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书