分布式培训-文件已在使用中

时间:2020-02-28 21:25:30

标签: pytorch horovod

我是Azure ML的新手,并试图在其中运行使用Horovod进行分布式培训的pytorch培训脚本。

我的实验定义如下:

cpu_cluster = ComputeTarget(workspace=ws, name=compute_target)

estimator = PyTorch(source_directory=project_folder, 
                    script_params=script_params,
                    compute_target=cpu_cluster,
                    entry_script=experiment_entry_script,
                    distributed_training=Mpi(process_count_per_node=2),
                    framework_version='1.3',
                    node_count=1,
                    use_gpu=True,
                    pip_packages=['fasttext', 'unidecode', 'nltk', 'sortedcontainers', 'azureml-dataprep[fuse,pandas]'])

重点是:在训练脚本的某个时刻,我需要加载一个文本文件,该文本文件将被标记化,转换为嵌入向量并提供给模型,但是,由于我使用的是两个进程,因此这两个进程会尝试几乎同时加载同一文件,所以出现IO错误(“该进程无法访问文件'[此处的文件路径]',因为它正在被另一个进程使用。”)。

请,我该如何正确设置实验或编写我的训练脚本,从而避免这种情况发生?

谢谢!

0 个答案:

没有答案