Создание большого 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)