我想在情感分析任务上训练一个 RNN,对于这个任务,我使用了由 torchtext 提供的 IMDB 数据集,其中包含 50000 条电影评论,它是一个 python 迭代器。我用了一个split=('train', 'test')
.
我首先使用每个句子构建一个词汇torchtext.vocab.Vocab
并对其进行标记,然后进行数字化。
为了将序列填充到我使用的相同长度,torch.nn.utils.rnn.pad_sequence
并且还使用了 acollate_fn
和batch_sampler
. 然后我使用 torch.utils.data 加载数据。DataLoader
.
RNN 网络的实现很好,但数据加载器在一个 epoch 后就耗尽了,如下图所示。
我是否遵循正确的方法来加载这个可迭代数据集?以及为什么数据加载器在一个时期后耗尽,我该如何克服这个问题。
如果您想查看我的实现,请参阅共享的 colab 笔记本。
PS。我正在关注来自github的torchtext的官方变更日志
你可以在这里找到我的实现
在所附图像中,您可以看到数据加载器在单个 epoch 后耗尽。