Как отловить tf.errors.ResourceExhaustedError в тензорном потоке? - PullRequest
0 голосов
/ 18 сентября 2018

Я использую байесовскую регрессию для оптимизации гиперпараметров, поэтому для некоторых параметров мне не хватает памяти, и это выдает ошибку.Таким образом, эта ошибка может быть сгенерирована после многих итераций, но не может быть сгенерирована также.Итак, я пытаюсь поймать эту ошибку и продолжить нормальный запуск кода.Итак, я не уверен, где разместить блок try и catch в тензорном потоке.Я предполагаю, что последний метод, выдающий ошибку, - session.py.Вот ошибка:

---------------------------------------------------------------------------
ResourceExhaustedError                    Traceback (most recent call last)
~\AppData\Local\Continuum\anaconda3\lib\site-packages\tensorflow\python\client\session.py in _do_call(self, fn, *args)
   1321     try:
-> 1322       return fn(*args)
   1323     except errors.OpError as e:

...

ResourceExhaustedError: OOM when allocating tensor with shape[14,128,1,788200] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
     [[Node: Layer19/temporal_layer/bn_relu_conv_1/reduced_conv_19/conv1d/Conv2D-0-TransposeNHWCToNCHW-LayoutOptimizer = Transpose[T=DT_FLOAT, Tperm=DT_INT32, _device="/job:localhost/replica:0/task:0/device:GPU:0"](Layer19/temporal_layer/bn_relu_conv_1/reduced_conv_19/conv1d/ExpandDims, PermConstNHWCToNCHW-LayoutOptimizer)]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.

Любая помощь очень ценится !!

...