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 相关文章推荐
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
Django框架中处理URLconf中特定的URL的方法
Jul 20 Python
详解python3中socket套接字的编码问题解决
Jul 01 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
pyqt5实现登录界面的模板
May 30 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
Pyqt5 基本界面组件之inputDialog的使用
Jun 25 Python
Django 响应数据response的返回源码详解
Aug 06 Python
python列表推导式入门学习解析
Dec 02 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
Feb 11 Python
Python Flask上下文管理机制实例解析
Mar 16 Python
Python本地及虚拟解释器配置过程解析
Oct 13 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
PHP实现多条件查询实例代码
2010/07/17 PHP
PHP读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
php相对当前文件include其它文件的方法
2015/03/13 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
2013/05/17 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
Vue SPA单页应用首屏优化实践
2018/06/28 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
python字符串替换示例
2014/04/24 Python
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
Python实现识别手写数字大纲
2018/01/29 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
python如何写个俄罗斯方块
2020/11/06 Python
一些PHP的面试题
2015/05/06 面试题
店长岗位的工作内容
2013/11/12 职场文书
教师自我鉴定
2013/12/13 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
军训个人总结
2015/03/03 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
交通事故协议书范本
2016/03/19 职场文书
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript
MySQL慢查询优化解决问题
2022/03/17 MySQL
tomcat下部署jenkins的方法
2022/05/06 Servers