Skip to content

修改 num_workers 和文件 seq2seq.md #1375

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

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