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错误处理详解
Sep 28 Python
Python中的Matplotlib模块入门教程
Apr 15 Python
在dataframe两列日期相减并且得到具体的月数实例
Jul 03 Python
Python配置虚拟环境图文步骤
May 20 Python
利用python实现周期财务统计可视化
Aug 25 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
python实现梯度下降法
Mar 24 Python
python3.7 openpyxl 在excel单元格中写入数据实例
Sep 01 Python
django使用graphql的实例
Sep 02 Python
python3列表删除大量重复元素remove()方法的问题详解
Jan 04 Python
如何用 Python 制作一个迷宫游戏
Feb 25 Python
浅析Python中的随机采样和概率分布
Dec 06 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 $_SERVER当前完整url的写法
2009/11/12 PHP
php zip文件解压类代码
2009/12/02 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
原生js结合html5制作简易的双色子游戏
2015/03/30 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
JS实现二叉查找树的建立以及一些遍历方法实现
2017/04/17 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
JavaScript this使用方法图解
2020/02/04 Javascript
跟老齐学Python之用Python计算
2014/09/12 Python
Python实现批量下载文件
2015/05/17 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
用Eclipse写python程序
2018/02/10 Python
python使用knn实现特征向量分类
2018/12/26 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
心理健康心得体会
2014/01/02 职场文书
商务经理岗位职责
2014/07/30 职场文书
聘任书范文大全
2015/09/21 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL