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