Использование памяти во время работы модели глубокого обучения CNN в Colab - PullRequest
0 голосов
/ 02 декабря 2018

Я провожу исследование, которое требует от меня знания памяти, используемой моделью во время выполнения, когда я запускаю модель глубокого обучения (CNN) в Google Colab.Есть ли код, который я могу использовать, чтобы знать то же самое. В основном я хочу знать, сколько памяти было использовано в общем прогоне модели (после того, как все эпохи были завершены).Я кодирую в Python

С уважением Avik

1 Ответ

0 голосов
/ 03 декабря 2018

Как объяснено в этом посте и моих собственных наблюдениях, Tensorflow всегда пытается выделить всю память , независимо от того, насколько мала или велика ваша модель.В отличие, например, от MXNet, который только выделяет достаточно памяти для запуска модели.

Погрузившись немного глубже, я узнал, что это действительно стандартное поведение в Tensorflow: использует всю доступную оперативную память , чтобы ускорить процесс.Достаточно справедливо:)

Можно подумать, что выделение большего объема памяти означает более быстрое обучение, но в большинстве случаев это не так.Вы можете ограничить использование памяти TF, как показано в следующем коде:

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session

config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.9
config.gpu_options.visible_device_list = "0"

set_session(tf.Session(config=config))

Здесь - документация Tensorflow, если вам нужно больше подробностей о том, как установить ограничения на использование памяти TF.

...