Я хочу обучить модель с несколькими конфигурациями (около 100 различных случаев). Мой основной алгоритм находится на основном .py файле, который я хочу запустить 100 раз. Этот файл .py работает хорошо, и все идет хорошо, если я выполню его один раз.
Я создал еще один .py файл, который вызывает первый и присваивает ему все параметры. Проблема в том, что в случайное время во время второй тренировки у меня возникает ResourceExhaustedError.
ResourceExhaustedError: OOM when allocating tensor with shape[4096,1] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
[[node predictions_16/random_uniform/RandomUniform (defined at /home/acarlier/venv/local/lib/python2.7/site-packages/keras/backend/tensorflow_backend.py:4139) = RandomUniform[T=DT_INT32, dtype=DT_FLOAT, seed=87654321, seed2=7886430, _device="/job:localhost/replica:0/task:0/device:GPU:0"](predictions_16/random_uniform/shape)]]
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.
У меня GTX 1060 6 ГБ. Поэтому я думаю, что основной .py файл не очень хорошо закрыт между двумя итерациями. Можно ли закрыть его (чистым способом) и запустить для обучения других?
Спасибо тебе
EDIT:
Я пытался:
from my_main_keras_file import train_function
train_function(all my parameters)
del train_function
Но у меня все еще есть та же проблема, del не удаляет все вещи, которые были созданы во время выполнения функции.