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清除字符串里非字母字符的方法
Jul 02 Python
详解python基础之while循环及if判断
Aug 24 Python
python安装numpy&安装matplotlib& scipy的教程
Nov 02 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 Python
利用Python+阿里云实现DDNS动态域名解析的方法
Apr 01 Python
PyQt Qt Designer工具的布局管理详解
Aug 07 Python
Python正则表达式如何匹配中文
May 27 Python
Python连接Impala实现步骤解析
Aug 04 Python
Visual Studio code 配置Python开发环境
Sep 11 Python
Python pathlib模块使用方法及实例解析
Oct 05 Python
编写python代码实现简单抽奖器
Oct 20 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中使用excel的简单介绍
2013/08/02 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
php获取excel文件数据
2017/04/21 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
一个JavaScript变量声明的知识点
2013/10/28 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
Python3字符串学习教程
2015/08/20 Python
Python中二维列表如何获取子区域元素的组成
2017/01/19 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
python下载微信公众号相关文章
2019/02/26 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
校园餐饮创业计划书
2014/01/10 职场文书
火锅店营销方案
2014/02/26 职场文书
融资合作协议书范本
2014/10/17 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
婚宴来宾致辞
2015/07/28 职场文书
导游词之山东八大关
2019/12/18 职场文书
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript