程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(3)

tensorflow RNN 使用动态的batch_size

发布于2019-08-20 11:35     阅读(1569)     评论(0)     点赞(3)     收藏(0)


在使用tensorflow实现RNN模型时,需要初始化隐藏状态h0h_0,如下:

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)
  • 1
  • 2
  • 3

如果我们直接使用超参数batch_size初始化h0h_0,在使用模型预测的结果时会很麻烦。我们可以使用动态的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)
  • 1
  • 2


所属网站分类: 技术文章 > 博客

作者:dfh8374

链接:https://www.pythonheidong.com/blog/article/49111/85d38e0a96ae1af85250/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)