1

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 が使用されます。
これに対する潜在的な解決策を知っていますか?

4

1 に答える 1

1

pytorch のバージョンによっては、特定のバージョンの cuda が必要になる場合があります。ここから cuda 11.0.3 または cuda 11.1 を試してください https://github.com/Azure/AzureML-Containers/tree/master/base/gpu

コード スニペットに関しては、環境変数を環境オブジェクトから runco​​nfiguration に移動してください

于 2021-08-09T13:15:09.217 に答える