2016-12-10 2 views

ответ

2

С использованием gpu.options.allow_growth и gpu_options.per_process_gpu_memory_fraction для оценки размера модели в настоящее время является методом проб и ошибок и утомительным решение, я предлагаю использовать tf.RunMetadata() в комбинации с tensorboard.

Пример:

run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE) 
run_metadata = tf.RunMetadata() 
summary, _ = sess.run(train_step, feed_dict, options=run_options, run_metadata=run_metadata) 

train_writer.add_run_metadata(run_metadata, 'step%d' % i) 

Запустить модель и tensorboard, перейдите к нужной части вашего графика и читать статистику узла.

https://www.tensorflow.org/get_started/graph_viz

3

Вы можете явно вычислить память, необходимую для хранения параметров, но я боюсь, что будет сложно вычислить размер всех буферов, необходимых для обучения. Вероятно, более умным способом было бы сделать TF для вас. Установите для параметра конфигурации gpu_options.allow_growth значение True и посмотрите, сколько он потребляет. Другой вариант - попробовать меньшие значения для gpu_options.per_process_gpu_memory_fraction, пока он не сработает из-за нехватки памяти.

Смежные вопросы