我开始在 Google 的 tensorflow 框架中试验神经网络,特别是在研究一个具有 LSTM 层的模型。我正在使用RNN 教程来帮助我入门。
为了训练我的模型,我有几千个数据点长的数据序列。在本教程中,作者正在处理小数据序列(段落的短句)并将这些序列连接在一起,用 分隔<end of stream>
,将整个数据集平均分成batch_size
多个块并并行处理这些块。我想从头到尾分别处理我的每个数据序列,但希望能够并行处理其中的几个,因为rnn_cell
对象被设置为执行(它们一次处理batch_size
序列)。
如果序列长度相同,这将是直截了当的,但事实并非如此。Anrnn_cell.LSTMCell
期望数据以固定的维度进入batch_size x input_size
,所以一旦一些序列到达终点并且我batch_size
想要减少,就会出现问题。
我该如何解决这个问题?我不认为我可以“左”或“右”证明我的数据的合理性,以便它们在不影响训练的情况下排列。