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简单程序读取串口信息的方法
Mar 13 Python
python中列表和元组的区别
Dec 18 Python
Python numpy 提取矩阵的某一行或某一列的实例
Apr 03 Python
matplotlib subplots 设置总图的标题方法
May 25 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
Python实现简单的用户交互方法详解
Sep 25 Python
Python2和3字符编码的区别知识点整理
Aug 08 Python
python 接口实现 供第三方调用的例子
Aug 13 Python
Java文件与类动手动脑实例详解
Nov 10 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
Feb 26 Python
python元组打包和解包过程详解
Aug 02 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 强制下载文件代码
2010/10/24 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
Javascript排序算法之合并排序(归并排序)的2个例子
2014/04/04 Javascript
JS生成随机字符串的多种方法
2014/06/10 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
Vue2.0实现购物车功能
2017/06/05 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
vue cli使用绝对路径引用图片问题的解决
2017/12/06 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
AntV F2和vue-cli构建移动端可视化视图过程详解
2019/10/08 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
Vite和Vue CLI的优劣
2021/01/30 Vue.js
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
python获取从命令行输入数字的方法
2015/04/29 Python
python 判断矩阵中每行非零个数的方法
2019/01/26 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
秋游活动策划方案
2014/02/16 职场文书
保护黄河倡议书
2014/05/16 职场文书
乡镇爱国卫生月活动总结
2014/06/25 职场文书
小学生植树节活动总结
2014/07/04 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
初中体育课教学反思
2016/02/16 职场文书
简历自我评价范文
2019/04/24 职场文书