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 ip正则式
May 07 Python
Python进程通信之匿名管道实例讲解
Apr 11 Python
Python 功能和特点(新手必学)
Dec 30 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
python的concat等多种用法详解
Nov 28 Python
python退出命令是什么?详解python退出方法
Dec 10 Python
对python字典过滤条件的实例详解
Jan 22 Python
python装饰器简介---这一篇也许就够了(推荐)
Apr 01 Python
python3+PyQt5 实现Rich文本的行编辑方法
Jun 17 Python
OpenCV中VideoCapture类的使用详解
Feb 14 Python
Python pip使用超时问题解决方案
Aug 03 Python
详解OpenCV曝光融合
Apr 29 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
《星际争霸II》全新指挥官斯台特曼现已上线
2020/03/08 星际争霸
php数组(array)输出的三种形式详解
2013/06/05 PHP
sae使用smarty模板的方法
2013/12/17 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
layui 图片上传+表单提交+ Spring MVC的实例
2019/09/21 Javascript
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
Python 文件处理注意事项总结
2017/04/10 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
python3.7.0的安装步骤
2018/08/27 Python
python求最大值最小值方法总结
2019/06/25 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
2014年会策划方案
2014/05/11 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
图神经网络GNN算法
2022/05/11 Python