Я искал в исходном коде, и я не нашел FLAG, связанных с этим.
Но, в файле model_main.py
из https://github.com/tensorflow/models/blob/master/research/object_detection/model_main.py вы можете найти следующее определение основной функции:
def main(unused_argv):
flags.mark_flag_as_required('model_dir')
flags.mark_flag_as_required('pipeline_config_path')
config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir)
train_and_eval_dict = model_lib.create_estimator_and_inputs(
run_config=config,
...
идея состоит в том, чтобы изменить его аналогичным образом, например, следующим образом:
config_proto = tf.ConfigProto()
config_proto.gpu_options.allow_growth = True
config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir, session_config=config_proto)
Итак, добавив config_proto
и изменив config
, но сохранив всепри прочих равных.
Кроме того, allow_growth
заставляет программу использовать столько памяти GPU, сколько ей нужно.Таким образом, в зависимости от вашего графического процессора вы можете получить всю потребляемую память.В этом случае вы можете использовать
config_proto.gpu_options.per_process_gpu_memory_fraction = 0.9
, который определяет долю используемой памяти.
Надеюсь, это помогло.
Если вы не хотите изменять файл, кажется, что проблема должна быть открыта, потому что я не вижу никаких флагов.если только FLAG
flags.DEFINE_string('pipeline_config_path', None, 'Path to pipeline config '
'file.')
означает что-то связанное с этим.Но я так не думаю, потому что, похоже, в model_lib.py
это связано с конфигурациями train, eval и infer, а не с конфигурацией использования GPU.