Tensorflow: Значительно увеличено использование памяти после небольшого изменения ввода - PullRequest
0 голосов
/ 12 сентября 2018

Создание большого CNN в Tensorflow-GPU Я наблюдал значительное увеличение использования памяти после небольшого изменения ввода.

Приведенный простой пример:

import tensorflow as tf

size = 252
x = tf.random_uniform((1, size, size, 3))
x = tf.layers.conv2d(x, 64, 3, 1, padding='SAME')
x = tf.layers.conv2d(x, 64, 3, 2, padding='SAME')
x = tf.layers.conv2d(x, 64, 3, 1, padding='SAME')

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    sess.run(x)
    print(sess.run(tf.contrib.memory_stats.MaxBytesInUse())/1e9)

Требуется около 646 МБ

Когда я устанавливаю size=253 использование памяти увеличивается до 2,21 ГБ

Чем можно объяснить это наблюдение?Есть ли способ предотвратить это?

Я использую Ubuntu 16.04, Tensorflow-GPU 1.9, CUDA-9.0, GPU TITAN X (Pascal)

...