Я надеюсь заставить 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, что все три испытания должны выполняться параллельно?
Спасибо.