Skip to content

Conversation

@Su-long-ai
Copy link

@Su-long-ai Su-long-ai commented Mar 12, 2025

当 num_workers > 0时,每个子进程都会完整地读取整个数据集。这导致数据集被多次加载,浪费了计算资源,并且在运行时显示了重复的输出。而且在Windows上使用multiprocessing模块时,子进程的创建必须在if name == 'main':的保护下进行。建议num_workers修改为0。

在文件seq2seq中,使用 super(MaskedSoftmaxCELoss, self).forward(...) 调用基类的 forward 方法时,由于 forward 方法多了一个 valid_len 参数,这导致了签名不匹配的警告。因此不直接继承 nn.CrossEntropyLoss 并重写其 forward 方法,而是将 nn.CrossEntropyLoss 作为 MaskedSoftmaxCELoss 类的一个内部成员,并在其 forward 方法中调用内部 CrossEntropyLoss 实例的 forward 方法。

@Su-long-ai Su-long-ai changed the title 修改 num_workers 修改 num_workers 和文件 seq2seq.md Jul 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant