«tensorflow.python.framework.errors_impl.FailedPreconditionError: =; Является каталогом»получение ошибки при запуске model_main.py

#python #tensorflow #object-detection #object-detection-api

#python #tensorflow #обнаружение объекта #object-detection-api

Вопрос:

Я выполнил команду:

 python3 research/object_detection/legacy/train.py 
    --logtostderr 
    --train_dir = training/ 
    --pipeline_config_path = training/ssd_mobilenet_v1_pets.config
 

но я получаю эту ошибку:

 WARNING: The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:
  * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
  * https://github.com/tensorflow/addons
If you depend on functionality not listed there, please file an issue.
WARNING:tensorflow:From /home/apoorva/.local/lib/python3.5/site-packages/tensorflow/python/platform/app.py:125: main (from __main__) is deprecated and will be removed in a future version.
Instructions for updating:
Use object_detection/model_main.py.
Traceback (most recent call last):
  File "research/object_detection/legacy/train.py", line 184, in <module>
    tf.app.run()
  File "/home/apoorva/.local/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 125, in run
    _sys.exit(main(argv))
  File "/home/apoorva/.local/lib/python3.5/site-packages/tensorflow/python/util/deprecation.py", line 324, in new_func
    return func(*args, **kwargs)
  File "research/object_detection/legacy/train.py", line 93, in main
    FLAGS.pipeline_config_path)
  File "/home/apoorva/Tensorflowapi/models-master/research/slim/object_detection/utils/config_util.py", line 97, in get_configs_from_pipeline_file
    proto_str = f.read()
  File "/home/apoorva/.local/lib/python3.5/site-packages/tensorflow/python/lib/io/file_io.py", line 132, in read
    pywrap_tensorflow.ReadFromStream(self._read_buf, length, status))
  File "/home/apoorva/.local/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 528, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.FailedPreconditionError: =; Is a directory
 

Я вбежал train.py models/research/object_detection/legacy , получил ту же ошибку, поэтому попытался запустить model_main.py более позднюю версию train.py , но все еще не смог решить проблему.

 python3 research/object_detection/legacy/train.py 
    --logtostderr 
    --train_dir = training/ 
    --pipeline_config_path = training/ssd_mobilenet_v1_pets.config
 

Я ожидал, что начнется обучение и будут показаны потери и точность на каждом шаге, но команда не выполняется.

Комментарии:

1. Привет! Вы решили свою проблему? Я сталкиваюсь с тем же самым с другой моделью

Ответ №1:

Вы вызываете команду в неправильном формате.

 python3 research/object_detection/legacy/train.py 
--logtostderr --train_dir=training/ 
--pipeline_config_path=training/ssd_mobilenet_v1_pets.config
 

Между --train_dir и = и не должно быть пробелов training . В противном = случае интерпретируется как значение аргумента. Также рекомендуется использовать model_main.py , поэтому правильный способ вызова:

 python3 object_detection/model_main.py --alsologtostderr 
--model_dir=training/
--pipeline_config_path=training/ssd_mobilenet_v1_pets.config