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接收多播数据的代码
Mar 01 Python
Python操作Word批量生成文章的方法
Jul 28 Python
python文件与目录操作实例详解
Feb 22 Python
浅析Python中的赋值和深浅拷贝
Aug 15 Python
Python迭代器定义与简单用法分析
Apr 30 Python
tensorflow更改变量的值实例
Jul 30 Python
Window 64位下python3.6.2环境搭建图文教程
Sep 19 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
Jan 06 Python
PyQt5 控件字体样式等设置的实现
May 13 Python
python matplotlib库的基本使用
Sep 23 Python
python爬虫快速响应服务器的做法
Nov 24 Python
Python中递归以及递归遍历目录详解
Oct 24 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数据结构与算法(PHP描述) 快速排序 quick sort
2012/06/21 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
js获取视频时长代码
2014/04/10 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
谈谈对JavaScript原生拖放的深入理解
2016/09/20 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
JS实现吸顶特效
2020/01/08 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
深入理解python try异常处理机制
2016/06/01 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
postman和python mock测试过程图解
2020/02/22 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
c语言常见笔试题总结
2016/09/05 面试题
高中生学习的自我评价
2013/12/14 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
2014年度工作总结报告
2014/12/15 职场文书