使用 Ray Tune 的每两次尝试都会出现内存不足的情况

Emi*_*ski 5 ray tensorflow ray-tune

我正在使用射线调整调整超参数。该模型是在tensorflow库中构建的,它占用了很大一部分可用的GPU内存。我注意到每秒一次的调用都会报告内存不足的错误。看起来内存正在被释放,您可以在 GPU 内存使用图表中看到,这是连续试验的调用之间的时刻,在这之间发生了 OOM 错误。我补充说,在较小的模型上我不会遇到此错误,并且图表看起来相同。

如何处理每次第二次尝试时出现的内存不足错误?

内存使用图

ric*_*iaw 3

实际上有一个实用程序可以帮助避免这种情况:

https://docs.ray.io/en/master/tune/api_docs/trainable.html#ray.tune.utils.wait_for_gpu

def tune_func(config):
    tune.utils.wait_for_gpu()
    train()

tune.run(tune_func, resources_per_trial={"GPU": 1}, num_samples=10)
Run Code Online (Sandbox Code Playgroud)