如何限制 TF Slim 中的 GPU 内存使用?
How to limit GPU memory use in TF Slim?
当使用 TF Slim 的 train_image_classifier.py 训练时,我想告诉 Slim 只分配它需要的 GPU 内存,而不是分配所有内存。
如果我直接使用 TF 而不是 Slim,我可以这样说:
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.Session(config=config)
或者甚至只是这样来限制 GPU 内存使用:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
我怎样才能告诉 Slim 同样的事情?
我的理解失败是 Slim 似乎使用它自己的循环,我找不到关于配置循环的细节的文档。所以,即使有人可以向我指出优秀的 Slim 文档,那也太棒了。
提前致谢!
您可以通过传递给 train
方法的 session_config
参数来传递 allow_growth
选项,如下所示:
session_config = tf.ConfigProto()
session_config.gpu_options.allow_growth = True
slim.learning.train(..., session_config=session_config)
参见 tensorflow/contrib/slim/python/slim/learning.py#L615 and tensorflow #5530。
当使用 TF Slim 的 train_image_classifier.py 训练时,我想告诉 Slim 只分配它需要的 GPU 内存,而不是分配所有内存。
如果我直接使用 TF 而不是 Slim,我可以这样说:
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.Session(config=config)
或者甚至只是这样来限制 GPU 内存使用:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
我怎样才能告诉 Slim 同样的事情?
我的理解失败是 Slim 似乎使用它自己的循环,我找不到关于配置循环的细节的文档。所以,即使有人可以向我指出优秀的 Slim 文档,那也太棒了。
提前致谢!
您可以通过传递给 train
方法的 session_config
参数来传递 allow_growth
选项,如下所示:
session_config = tf.ConfigProto()
session_config.gpu_options.allow_growth = True
slim.learning.train(..., session_config=session_config)
参见 tensorflow/contrib/slim/python/slim/learning.py#L615 and tensorflow #5530。