首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >批量大小、序列长度和hidden_size之间的关系是什么?

批量大小、序列长度和hidden_size之间的关系是什么?
EN

Stack Overflow用户
提问于 2017-12-11 19:46:38
回答 1查看 639关注 0票数 1

在阅读dynamic_rnn的接口文档时,我有以下问题:

批次大小、序列长度和(单元格)hidden_size之间的关系是否有约束?

我在想:

序列长度单元( <= )hidden_size,或者,

批量大小*序列长度单元( <= )hidden_size

我说的对吗?我浏览了很多网页,但都找不到答案。

谢谢大家。

https://www.tensorflow.org/api_docs/python/tf/nn/dynamic_rnn

示例:

代码语言:javascript
运行
复制
# create a BasicRNNCell
rnn_cell = tf.nn.rnn_cell.BasicRNNCell(hidden_size)

# 'outputs' is a tensor of shape [batch_size, max_time, cell_state_size]

# defining initial state
initial_state = rnn_cell.zero_state(batch_size, dtype=tf.float32)

# 'state' is a tensor of shape [batch_size, cell_state_size]
outputs, state = tf.nn.dynamic_rnn(rnn_cell, input_data,
                                   initial_state=initial_state,
                                   dtype=tf.float32)
# create 2 LSTMCells
rnn_layers = [tf.nn.rnn_cell.LSTMCell(size) for size in [128, 256]]

# create a RNN cell composed sequentially of a number of RNNCells
multi_rnn_cell = tf.nn.rnn_cell.MultiRNNCell(rnn_layers)

# 'outputs' is a tensor of shape [batch_size, max_time, 256]
# 'state' is a N-tuple where N is the number of LSTMCells containing a
# tf.contrib.rnn.LSTMStateTuple for each cell
outputs, state = tf.nn.dynamic_rnn(cell=multi_rnn_cell,
                                   inputs=data,
                                   dtype=tf.float32)
EN

回答 1

Stack Overflow用户

发布于 2017-12-12 06:22:55

就API而言,这是没有关系的。修复这些参数中的任何两个,其余的仍然可以是任何非负整数(或者,在sequence_length的情况下,是任何非负整数的batch_size-length向量)。

如果hidden_size很大,并且训练数据很少,那么最终的模型可能会非常容易过拟合,但它仍然可以工作。请注意,训练数据通常以小批量的形式呈现,因此训练数据的数量不会是传递给dynamic_rnn的序列长度的总和。

还有硬件限制,因为batch_size和最大序列长度会影响内存使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47752258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档