【问题标题】:Auto-allocate CUDA devices for Tensorflow为 Tensorflow 自动分配 CUDA 设备
【发布时间】:2020-05-10 05:34:33
【问题描述】:

我在一台计算机中有多个相同的 CUDA 设备。我在那台计算机上运行多个 tensorflow 训练实例,每个实例都使用一个且仅一个 CUDA 设备。我想自动为 tensorflow 实例分配一个且只有一个 CUDA 设备,以免费者为准。我想在 tensorflow 训练实例启动时这样做。目前我通过检查可用性并在每个 tensorflow 训练实例的开头更改代码来手动完成:

os.environ["CUDA_VISIBLE_DEVICES"] = "0"

如何自动将第一个(任何)未使用的 CUDA 设备分配给 tensorflow 训练实例?意思是上面代码中的"0"应该在运行时更改为"1""2"等。

【问题讨论】:

    标签: tensorflow cuda


    【解决方案1】:

    您只需要一个 GPU 调度程序,这里有一个:https://pypi.org/project/simple-gpu-scheduler/

    我假设您正在运行具有不同参数的相同模型,对吗?所以示例命令可能是:

    simple_hypersearch "python3 train_dnn.py --lr {lr} --batch_size {bs}" -p lr 0.001 0.0005 0.0001 -p bs 32 64 128 | simple_gpu_scheduler --gpus 0,1,2
    

    【讨论】:

      猜你喜欢
      • 2021-11-09
      • 1970-01-01
      • 2020-11-16
      • 2012-11-26
      • 1970-01-01
      • 2013-01-03
      • 2010-09-22
      • 1970-01-01
      • 2020-08-14
      相关资源
      最近更新 更多