是否有直接的方法来确定在TensorFlow中初始化的一个inception-resnet-v2模型所消耗的GPU内存?这包括推理和反向传播所需的内存。
回答:
由于使用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,导航到你图形的所需部分,并读取节点统计信息。