0

我正在尝试使用 4 个 GPU (P100) 在 AML 上运行 fairseq 翻译任务,但失败并出现以下错误:

-- 进程 2 因以下错误而终止:Traceback(最近一次调用最后一次):文件“/azureml-envs/azureml_8ef3d311fd9072540e3352d9621cca49/lib/python3.6/site-packages/fairseq/distributed_utils.py”,第 174 行,在 all_gather_list 结果中.append(pickle.loads(bytes(out_buffer[2 : size + 2].tolist()))) _pickle.UnpicklingError: 无效的加载键,'\xad'。

在处理上述异常的过程中,又出现了一个异常:

所以这个错误通常表明工作人员以某种方式失去了同步。如果其中一个工作人员内存不足,或者如果您的训练脚本中有其他条件可能导致一名工作人员完成一个 epoch,而其他工作人员仍在迭代他们的数据部分,则工作人员可能会不同步。

2019-09-18 17:28:44,727|azureml.WorkerPool|调试|[停止]

发生错误:用户程序失败并出现异常:

-- 进程 2 因以下错误而终止:Traceback(最近一次调用最后一次):文件“/azureml-envs/azureml_8ef3d311fd9072540e3352d9621cca49/lib/python3.6/site-packages/fairseq/distributed_utils.py”,第 174 行,在 all_gather_list 结果中.append(pickle.loads(bytes(out_buffer[2 : size + 2].tolist()))) _pickle.UnpicklingError: 无效的加载键,'\xad'。

在处理上述异常的过程中,又出现了一个异常:

所以这个错误通常表明工作人员以某种方式失去了同步。如果其中一个工作人员内存不足,或者如果您的训练脚本中有其他条件可能导致一名工作人员完成一个 epoch,而其他工作人员仍在迭代他们的数据部分,则工作人员可能会不同步。

具有相同参数的相同代码在单个本地 GPU 上运行良好。我该如何解决这个问题?

4

0 回答 0