Python Pytorch Multiprocessing Pycharm PicklingError: Can’t pickle : attribute lookup train on __main__ failed

社会演员多 pytorch 371

原文标题Python Pytorch Multiprocessing Pycharm PicklingError: Can’t pickle : attribute lookup train on __main__ failed

使用 Pycharm 2021.2.3 在 Python 或 Pytorch (torch.multiprocessing) 中运行multiprocessing(使用spawn方法)时会出现此错误。

函数train被定义在模块的顶层,所以它应该是可以选择的。但是,错误说它不能被腌制。

一个简单的代码可能如下所示:

def train(gpu):
    print(f'hello {gpu}!')

if __name__ == '__main__':
    mp.spawn(train, nprocs=2)

原文链接:https://stackoverflow.com//questions/71417006/python-pytorch-multiprocessing-pycharm-picklingerror-cant-pickle-function-tra

回复

我来回复
  • omsrisagar的头像
    omsrisagar 评论

    似乎这是 Pycharm 2021.2.3 中的一个错误,发生在运行配置中检查Run with Python Console时。此错误正在跟踪 https://youtrack.jetbrains.com/issue/PY-50116

    这可以使用以下两个选项来解决(直到错误解决):

    1. 取消选中使用 Python 控制台运行
    2. 降级到 Pycharm 2021.1.3
    2年前 0条评论