Я новичок в Azure ML и пытаюсь запустить скрипт обучения Pytorch, который использует Horovod для распределенного обучения.
Мой эксперимент определен следующим образом:
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]'])
Дело в том, что в какой-то момент в моем учебном скрипте мне нужно загрузить текстовый файл, который будет размечен, превращен в векторы встраивания и передан в модель, но, поскольку я использую два процесса, два процесса пытаются загрузить почти в тот же файл, поэтому я получаю ошибку ввода-вывода («Процесс не может получить доступ к файлу« [путь к файлу здесь] », поскольку он используется другим процессом.»).
Пожалуйста, как я могу правильно настроить эксперимент или написать свой учебный сценарий, чтобы избежать этого?
Заранее спасибо!