小编Sag*_*eEx的帖子

无法使用 GPU 在使用 P100-NC6s-V2 计算的 azure 机器学习服务中训练 NN 模型。因 CUDA 错误而失败

我最近开始使用 azure 进行 ML 并尝试使用机器学习服务工作区。因为我需要使用 GPU 上的图像训练 NN,所以我已经设置了一个工作区,计算设置为 NC6s-V2 机器。

问题是训练仍然在 CPU 上进行——日志说它无法找到 CUDA。这是运行我的脚本时的警告日志。任何线索如何解决这个问题?

我还在估算器的 conda 包选项中明确提到了 tensorflow-gpu 包。

这是我的估算器代码,

script_params = {
         '--input_data_folder': ds.path('dataset').as_mount(),
         '--zip_file_name': 'train.zip',
         '--run_mode': 'train'
    }


est = Estimator(source_directory='./scripts',
                     script_params=script_params,
                     compute_target=compute_target,
                     entry_script='main.py',
                     conda_packages=['scikit-image', 'keras', 'tqdm', 'pillow', 'matplotlib', 'scipy', 'tensorflow-gpu']
                     )

run = exp.submit(config=est)

run.wait_for_completion(show_output=True)
Run Code Online (Sandbox Code Playgroud)

计算目标是根据github上的示例代码制作的:

compute_name = "P100-NC6s-V2"
compute_min_nodes = 0
compute_max_nodes = 4

vm_size = "STANDARD_NC6S_V2"

if compute_name in ws.compute_targets:
    compute_target = ws.compute_targets[compute_name]
    if compute_target and type(compute_target) is AmlCompute:
        print('found compute target. just use it. …
Run Code Online (Sandbox Code Playgroud)

python tensorflow azure-machine-learning-service

5
推荐指数
1
解决办法
978
查看次数

P100-NC6s-V2 上的磁盘 I/O 极慢

我正在 azure ML 管道上训练图像分割模型。在测试步骤中,我将模型的输出保存到关联的 blob 存储中。然后我想找到计算输出和真实情况之间的 IOU(并交交集)。这两组图像都位于 blob 存储中。然而,IOU 计算非常慢,而且我认为它受磁盘限制。在我的 IOU 计算代码中,我只是加载两个图像(注释掉其他代码),但每次迭代仍需要接近 6 秒,而训练和测试速度足够快。

这种行为正常吗?这一步该如何调试呢?

tensorflow azure-machine-learning-service

1
推荐指数
1
解决办法
510
查看次数