tensorflow 动态获取 BatchSzie 的大小实例


Posted in Python onJune 30, 2020

我就废话不多说了,大家还是直接看代码吧~

import tensorflow as tf
import sys

with tf.variable_scope('ha'):
  a1 = tf.get_variable('a', shape=[], dtype=tf.int32)
  with tf.variable_scope('haha'):
    a2 = tf.get_variable('a', shape=[], dtype=tf.int32)
    with tf.variable_scope('hahaha'):
      a3 = tf.get_variable('a', shape=[], dtype=tf.int32)

with tf.variable_scope('ha', reuse=True):
  # 不会创建新的变量
  a4 = tf.get_variable('a', shape=[], dtype=tf.int32)
  
sum = a1 + a2 + a3 + a4

fts_s = tf.placeholder(tf.float32, shape=(None, 100), name='fts_s')
b = tf.zeros(shape=(tf.shape(fts_s)[0], tf.shape(fts_s)[1]))

concat = tf.concat(axis=1, values=[fts_s, b])

init_op = tf.global_variables_initializer()
with tf.Session() as sess:
  sess.run(init_op)
  for var in tf.global_variables():
    print var.name
  import numpy as np
  ft_sample = np.ones((10, 100))
  con_value = sess.run([concat], feed_dict={fts_s: ft_sample})
  print con_value[0].shape

results:

ha/a:0
ha/haha/a:0
ha/haha/hahaha/a:0
(10, 200)

小总结:

1: 对于未知的shape, 最常用的就是batch-size 通常是 None 代替, 那么在代码中需要用到实际数据的batch size的时候应该怎么做呢?

可以传一个tensor类型, tf.shape(Name) 返回一个tensor 类型的数据, 然后取batchsize 所在的维度即可. 这样就能根据具体的数据去获取batch size的大小

2: 对于变量命名, 要善于用 variable_scope 来规范化命名, 以及 reuse 参数可以控制共享变量

补充知识:tensorflow RNN 使用动态的batch_size

在使用tensorflow实现RNN模型时,需要初始化隐藏状态 tensorflow 动态获取 BatchSzie 的大小实例 如下:

lstm_cell_1 = [tf.nn.rnn_cell.DropoutWrapper(tf.nn.rnn_cell.BasicLSTMCell(HIDDEN_SIZE),output_keep_prob=dropout_keep_prob) for _ in range(NUM_LAYERS)]
cell_1 = tf.nn.rnn_cell.MultiRNNCell(lstm_cell_1)
self.init_state_1 = cell_1.zero_state(self.batch_size,tf.float32)

如果我们直接使用超参数batch_size初始化 tensorflow 动态获取 BatchSzie 的大小实例 在使用模型预测的结果时会很麻烦。我们可以使用动态的batch_size,就是将batch_size作为一个placeholder,在运行时,将batch_size作为输入输入就可以实现根据数据量的大小使用不同的batch_size。

代码实现如下:

self.batch_size = tf.placeholder(tf.int32,[],name='batch_size')

self.state = cell.zero_state(self.batch_size,tf.float32)

以上这篇tensorflow 动态获取 BatchSzie 的大小实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的GUI框架PySide的安装配置教程
Feb 16 Python
Python批量修改文本文件内容的方法
Apr 29 Python
python中numpy的矩阵、多维数组的用法
Feb 05 Python
查看django执行的sql语句及消耗时间的两种方法
May 29 Python
python版本单链表实现代码
Sep 28 Python
Python Pillow Image Invert
Jan 22 Python
Django 中间键和上下文处理器的使用
Mar 17 Python
解决使用export_graphviz可视化树报错的问题
Aug 09 Python
python网络爬虫 CrawlSpider使用详解
Sep 27 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
Python实现Word文档转换Markdown的示例
Dec 22 Python
python周期任务调度工具Schedule使用详解
Nov 23 Python
浅谈TensorFlow之稀疏张量表示
Jun 30 #Python
tensorflow图像裁剪进行数据增强操作
Jun 30 #Python
浅谈tensorflow 中的图片读取和裁剪方式
Jun 30 #Python
Python openpyxl模块实现excel读写操作
Jun 30 #Python
tensorflow下的图片标准化函数per_image_standardization用法
Jun 30 #Python
Python的控制结构之For、While、If循环问题
Jun 30 #Python
关于tensorflow softmax函数用法解析
Jun 30 #Python
You might like
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
JavaScript中的this关键字使用详解
2015/08/14 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
python抓取网页图片并放到指定文件夹
2014/04/24 Python
Python跳出循环语句continue与break的区别
2014/08/25 Python
python实现字符串和日期相互转换的方法
2015/05/13 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
Java面试题汇总
2015/12/06 面试题
教师求职自荐信
2014/03/09 职场文书
预备党员的自我评价
2014/03/12 职场文书
合作意向书格式及范文
2014/03/31 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
2015年端午节活动方案
2015/05/05 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
python ansible自动化运维工具执行流程
2021/06/24 Python
MySQL优化及索引解析
2022/03/17 MySQL