Как заставить Tune запускать параллельные испытания на нескольких графических процессорах? - PullRequest
0 голосов
/ 21 ноября 2019

Я надеюсь, что Tune будет запускать каждую пробную версию поиска по сетке параллельно на нескольких графических процессорах. У меня есть машина с 4 GPU с 24 VCPU. Когда я запускаю следующий код, я вижу, что nvidia-smi использует 3 графических процессора, но он запускает только одну пробную версию.

tune.run("PPO",   
            config={
                "env": "PongNoFrameskip-v4",
                "lr": tune.grid_search([0.01, 0.001, 0.0001]),
                "num_gpus": 3,
                "num_workers": 3
            }
        )

Я вижу, что Tune запускает только одну пробную версию.

== Status ==
Using FIFO scheduling algorithm.
Resources requested: 4/24 CPUs, 3/4 GPUs, 0.0/190.43 GiB heap, 0.0/12.84 GiB objects
Memory usage on this node: 5.4/220.4 GiB
Result logdir: /home//ray_results/PPO
Number of trials: 3 ({'RUNNING': 1, 'PENDING': 2})
PENDING trials:
 - PPO_PongNoFrameskip-v4_1_lr=0.001:   PENDING
 - PPO_PongNoFrameskip-v4_2_lr=0.0001:  PENDING
RUNNING trials:
 - PPO_PongNoFrameskip-v4_0_lr=0.01:    RUNNING

Я попытался установить resources_per_trial с "gpu":1, но Рэй дал ошибку, чтобы очистить resources_per_trial.

ValueError: Resources for <class 'ray.rllib.agents.trainer_template.PPO'> have been automatically set to Resources(cpu=1, gpu=3, memory=0, object_store_memory=0, extra_cpu=3, extra_gpu=0, extra_memory=0, extra_object_store_memory=0, custom_resources={}, extra_custom_resources={}) by its `default_resource_request()` method. Please clear the `resources_per_trial` option.

Как настроить Tune для запуска всех 3параллельные испытания?

Спасибо.

...