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之Import 模块
Oct 13 Python
Python实现的简单hangman游戏实例
Jun 28 Python
Python判断某个用户对某个文件的权限
Oct 13 Python
浅谈Python生成器generator之next和send的运行流程(详解)
May 08 Python
Python实现对一个函数应用多个装饰器的方法示例
Feb 09 Python
利用Pyhton中的requests包进行网页访问测试的方法
Dec 26 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
Jun 17 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
Aug 30 Python
python numpy存取文件的方式
Apr 01 Python
pytorch实现Tensor变量之间的转换
Feb 17 Python
python 深度学习中的4种激活函数
Sep 18 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 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
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
谨慎使用PHP的引用原因分析
2012/09/06 PHP
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
JavaScript判断窗口是否最小化的代码(跨浏览器)
2010/08/01 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
js省市区级联查询(插件版&无插件版)
2017/03/21 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
举例介绍Python中的25个隐藏特性
2015/03/30 Python
浅析Python中的多重继承
2015/04/28 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
python复制文件到指定目录的实例
2018/04/27 Python
通过python爬虫赚钱的方法
2019/01/29 Python
详解爬虫被封的问题
2019/04/23 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
早读迟到检讨书
2014/01/24 职场文书
质量标语大全
2014/06/12 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
python 网络编程要点总结
2021/06/18 Python
vue实现锚点定位功能
2021/06/29 Vue.js
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技