PyTorch と CUDA を使用してモデルをトレーニングする実験パイプラインを実行しています。以下のように環境を作りました。
env = Environment.from_conda_specification(model, join(model, 'conda_dependencies.yml'))
env.docker.enabled = True
env.environment_variables = {'MODEL_NAME': model, 'BRANCH': branch, 'COMMIT': commit}
env.docker.base_image = DEFAULT_GPU_IMAGE
run_config = RunConfiguration()
run_config.environment = env
run_config.docker = DockerConfiguration(use_docker=True)
そして、ここにトレーニングステップがあります:
train_step = PythonScriptStep(
name='Model Train',
source_directory=training_dir,
compute_target=cluster,
runconfig=run_config,
script_name='train_aml.py',
arguments=[
'--model', model,
'--model_output_dir', model_output_dir,
],
inputs=[train_dataset.as_mount()],
outputs=[model, model_output_dir]
)
トレーニング スクリプトを実行するときにマシンを使用しているにもかかわらずStandard_NC12_Promo
、GPU が PyTorch によって取得されませんdevice = torch.device("cuda" if torch.cuda.is_available() else "cpu")
。
実験ではなく同じマシンでスクリプトを実行しようとすると、GPU が使用されます。
これに対する潜在的な解決策を知っていますか?