3

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

如何在第二次试验中处理这种内存不足错误?

内存使用图

4

1 回答 1

1

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

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

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

tune.run(tune_func, resources_per_trial={"GPU": 1}, num_samples=10)
于 2021-01-14T18:56:29.730 回答