Я думаю, что наиболее реалистичной оценкой было бы запустить модель и посмотреть, сколько ресурсов это займет. top
или htop
покажет вам загрузку ЦП и ОЗУ, но в случае памяти графического процессора это немного сложнее, поскольку TensorFlow (наиболее популярный вариант для бэкэнда Keras) резервирует всю доступную память по соображениям производительности.
Вы должны указать TensorFlow не забирать всю доступную память, а выделять ее по требованию.
Вот как это сделать в Керасе:
import tensorflow as tf
import keras.backend as K
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction=0.2 # Initially allocate only 20% of memory
config.gpu_options.allow_growth = True # dynamically grow the memory used on the GPU
config.log_device_placement = True # to log device placement (on which device the operation ran)
# (nothing gets printed in Jupyter, only if you run it standalone)
sess = tf.Session(config=config)
K.set_session(sess) # set this TensorFlow session as the default session for Keras
https://github.com/keras-team/keras/issues/4161#issuecomment-366031228
Затем запустите watch nvidia-smi
и посмотрите, сколько памяти будет занято.