【问题标题】:AzureML experiment pipeline not using CUDA with PyTorchAzureML 实验管道未将 CUDA 与 PyTorch 一起使用
【发布时间】:2021-08-06 08:34:00
【问题描述】:

我正在运行一个实验管道,以使用 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 机器,PyTorch device = torch.device("cuda" if torch.cuda.is_available() else "cpu") 也不会拾取 GPU。
如果我尝试在同一台机器上而不是在实验中运行我的脚本,则使用 GPU。
您知道任何潜在的解决方案吗?

【问题讨论】:

    标签: azure pytorch azure-machine-learning-service azureml azureml-python-sdk


    【解决方案1】:

    根据 pytorch 版本,您可能需要特定版本的 cuda。从这里尝试 cuda 11.0.3 或 cuda 11.1 https://github.com/Azure/AzureML-Containers/tree/master/base/gpu

    关于你的代码sn-p,请将环境变量移出环境对象以运行配置

    【讨论】:

    • 由于某些原因,容器似乎没有拾取 CUDA。一个解决方案可能是获得一个策划的环境并蛮力安装一些依赖项。你建议我应该在哪里插入环境变量? runco​​nfig 没有环境变量属性。
    猜你喜欢
    • 2018-11-29
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多