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 模板引擎的注入问题分析
Jan 01 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 Python
Python 使用with上下文实现计时功能
Mar 09 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 Python
python实现反转部分单向链表
Sep 27 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
softmax及python实现过程解析
Sep 30 Python
python实现XML解析的方法解析
Nov 16 Python
Python转换itertools.chain对象为数组的方法
Feb 07 Python
django 利用Q对象与F对象进行查询的实现
May 15 Python
详解pycharm配置python解释器的问题
Oct 15 Python
Python OpenCV形态学运算示例详解
Apr 07 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获取表单textarea数据中的换行问题
2010/09/10 PHP
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
初始Nodejs
2014/11/08 NodeJs
script标签属性用type还是language
2015/01/21 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
Angularjs上传图片实例详解
2017/08/06 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
vue实现未登录跳转到登录页面的方法
2018/07/17 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
python在linux中输出带颜色的文字的方法
2014/06/19 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
丝芙兰法国官网:SEPHORA法国
2016/09/01 全球购物
责任担保书范文
2014/05/21 职场文书
员工保密承诺书
2014/05/28 职场文书
企业文化标语大全
2014/06/10 职场文书
专题组织生活会方案
2014/06/15 职场文书
植树造林的宣传标语
2014/06/23 职场文书
环卫工作个人总结
2015/03/04 职场文书
会计简历自我评价
2015/03/10 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书