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自然语言编码转换模块codecs介绍
Apr 08 Python
详细解析Python中的变量的数据类型
May 13 Python
详细解读Python中解析XML数据的方法
Oct 15 Python
python 基础教程之Map使用方法
Jan 17 Python
python正则表达式爬取猫眼电影top100
Feb 24 Python
对python的bytes类型数据split分割切片方法
Dec 04 Python
超简单使用Python换脸实例
Mar 27 Python
python监控进程状态,记录重启时间及进程号的实例
Jul 15 Python
Pandas时间序列:时期(period)及其算术运算详解
Feb 25 Python
基于plt.title无法显示中文的快速解决
May 16 Python
python thrift 实现 单端口多服务的过程
Jun 08 Python
Python打包为exe详细教程
May 18 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+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
js拦截alert对话框另类应用
2013/01/16 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
2013/08/19 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
python保存字符串到文件的方法
2015/07/01 Python
Python使用回溯法子集树模板解决迷宫问题示例
2017/09/01 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
Django多个app urls配置代码实例
2020/11/26 Python
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
绿色环保演讲稿
2014/05/10 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
学生安全责任书模板
2014/07/25 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
我的长征观后感
2015/06/09 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android