API-интерфейс обнаружения объекта Tensorflow Ошибка model_main.py в Windows 10

1

Я следовал руководству EdjeElectronics о том, как настроить и запустить TensorFlow Object Detection API, с Tensorflow-gpu 1.10 и Python 3.6.6.

При запуске model_main.py с:

python model_main.py --logtostderr --model_dir = training / --pipeline_config_path = C: /tensorflow1/models/research/object_detection/training/ssd_resnet50_v1_fpn_shared_box_predictor_640x640_coco14_sync.config

Я получаю следующую ошибку:

(tensorflow1) C:\tensorflow1\models\research\object_detection>python model_main.py --logtostderr --model_dir=training/ --pipeline_config_path=C:/tensorflow1/models/research/object_detection/training/ssd_resnet50_v1_fpn_shared_box_predictor_640x640_coco14_sync.config
WARNING:tensorflow:Estimator model_fn (<function create_model_fn.<locals>.model_fn at 0x00000213FF9CE158>) includes params argument, but params are not passed to Estimator.
Traceback (most recent call last):
  File "model_main.py", line 101, in <module>
    tf.app.run()
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\platform\app.py", line 125, in run
    _sys.exit(main(argv))
  File "model_main.py", line 97, in main
    tf.estimator.train_and_evaluate(estimator, train_spec, eval_specs[0])
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\estimator\training.py", line 451, in train_and_evaluate
    return executor.run()
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\estimator\training.py", line 590, in run
    return self.run_local()
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\estimator\training.py", line 691, in run_local
    saving_listeners=saving_listeners)
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\estimator\estimator.py", line 376, in train
    loss = self._train_model(input_fn, hooks, saving_listeners)
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\estimator\estimator.py", line 1145, in _train_model
    return self._train_model_default(input_fn, hooks, saving_listeners)
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\estimator\estimator.py", line 1167, in _train_model_default
    input_fn, model_fn_lib.ModeKeys.TRAIN))
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\estimator\estimator.py", line 1011, in _get_features_and_labels_from_input_fn
    result = self._call_input_fn(input_fn, mode)
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\estimator\estimator.py", line 1100, in _call_input_fn
    return input_fn(**kwargs)
  File "C:\tensorflow1\models\research\object_detection\inputs.py", line 408, in _train_input_fn
    batch_size=params['batch_size'] if params else train_config.batch_size)
  File "C:\tensorflow1\models\research\object_detection\builders\dataset_builder.py", line 123, in build
    num_additional_channels=input_reader_config.num_additional_channels)
  File "C:\tensorflow1\models\research\object_detection\data_decoders\tf_example_decoder.py", line 271, in __init__
    use_display_name)
  File "C:\tensorflow1\models\research\object_detection\utils\label_map_util.py", line 163, in get_label_map_dict
    label_map = load_labelmap(label_map_path)
  File "C:\tensorflow1\models\research\object_detection\utils\label_map_util.py", line 132, in load_labelmap
    label_map_string = fid.read()
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 125, in read
    self._preread_check()
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 85, in _preread_check
    compat.as_bytes(self.__name), 1024 * 512, status)
  File "C:\Users\nilsk\Anaconda3\envs\tensorflow1\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 519, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.NotFoundError: NewRandomAccessFile failed to Create/Open: C:/tensorflow1/models/research/object_detection/training/mscoco_label_map.pbtxt : Das System kann die angegebene Datei nicht finden.
; No such file or directory

Я проверил пути в.config как минимум сто раз, mscoco_label_map.pbtxt определенно существует в этом каталоге. Какие-нибудь идеи, что может быть неправильным?

Теги:
tensorflow
object-detection
object-detection-api

1 ответ

0

Проблема в основном связана с форматом пути к папке pbtxt. Если вы находитесь в Windows, попробуйте двойную косую черту, как показано в файле конфигурации.

Поэтому вместо - C: /tensorflow1/models/research/object_detection/training/mscoco_label_map.pbtxt

Использование - C:\tensorflow1\models\research\object_detection\training\mscoco_label_map.pbtxt

  • 0
    Спасибо за помощь! Я попытался это, к сожалению, все, что я получаю, это синтаксическая ошибка вместо: tensorflow.python.framework.errors_impl.InvalidArgumentError: NewRandomAccessFile failed to Create/Open: C: ensorfloesearch\object_detection raining\mscoco_label_map.pbtxt : Die Syntax f\udcfcr den Dateinamen, Verzeichnisnamen oder die Datentr\udce4gerbezeichnung ist falsch. ; Unknown error (немецкий язык для: неправильный синтаксис файла или имя каталога)
  • 0
    в вышеприведенной ошибке имя папки неверно, между object_detection и raining идет "raining object_detection". Правильно ли указано имя папки или вы пропустили косую черту? Также избегайте пробелов в пути к имени папки, используйте вместо этого подчеркивание, а также используйте двойную косую черту "\\" в файле конфигурации вместо одиночной косой черты "\"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню