Надеюсь, это сработает!

аюсь запуститьobject_detection.ipynb Тип программы, но это обычная программа на Python (.py). Это работает очень хорошо, но при работе внутри..models/research/object_detection папку, но основная проблема заключается в том, когда я пытаюсь запустить этот код в другом каталоге с надлежащимsys.appendЯ заканчиваю со следующей ошибкой:

Traceback (последний вызов был последним):

Файл "obj_detect.py", строка 20, в

from utils import label_map_util

ImportError: нет модуля с именем utils

Если я пытаюсь импортировать файл из..models/research/object_detection папку в программу Python в другой каталог, в результате я получаю следующие ошибки:

Traceback (последний вызов был последним):

Файл "classify_image.py", строка 10, в

import object_dt

Файл "/home/saikishor/Tensorflow_Models/models/research/object_detection/object_dt.py", строка 18, в

from utils import label_map_util

Файл "/home/saikishor/Tensorflow_Models/models/research/object_detection/utils/label_map_util.py", строка 22, в

from object_detection.protos import string_int_label_map_pb2

ImportError: нет модуля с именем object_detection.protos

Как решить эту проблему?

 Leo Skhrnkv29 сент. 2017 г., 19:47
что вы подразумеваете под "нормальным типом программы"? Вы создали виртуальную среду для своего проекта? Где вы взяли эти сценарии? Ваш скрипт просто не может видеть модули, которые вы пытаетесь использовать, другими словами, эти модули не находятся в пути Python. Вы можете прочитать об этом здесь:stackoverflow.com/questions/19917492/how-to-use-pythonpath
 saikishor30 сент. 2017 г., 21:44
Нет, я хочу сказать, что я отредактировал код, присутствующий в object_detection.ipynb, в новый файл python согласно моему требованию.

Ответы на вопрос(4)

овал protoc внутри каталога bin для запуска этой команды следующим образом:

tensorflow$ mkdir protoc_3.3
tensorflow$ cd protoc_3.3
tensorflow/protoc_3.3$ wget wget https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-linux-x86_64.zip
tensorflow/protoc_3.3$ chmod 775 protoc-3.3.0-linux-x86_64.zip
tensorflow/protoc_3.3$ unzip protoc-3.3.0-linux-x86_64.zip
tensorflow/protoc_3.3$ cd ../models/research/
tensorflow/protoc_3.3$ /home/saikishor/tensorflow/protoc_3.3/bin/protoc object_detection/protos/*.proto --python_out=.

Надеюсь, это сработает!

string_int_label_map_pb2.py файл не существует

1. вам нужно установитьprotobuf.

https://github.com/google/protobuf/releases

cd ваш путь кobject_detection

protoc object_detection / protos / string_int_label_map.proto --python_out =.

ты найдешьstring_int_label_map_pb2.py файл в'object_detection\protos'

это будет хорошо, если проблема не устранена, вы можете добавить папку object_detection вPYTHONPATH.
 saikishor05 мар. 2018 г., 08:48
Вам нужно установить protobuf 3.3, тогда только он работает, он не работает с другими версиями

В папке / site-packages вы можете увидеть папку utils. по умолчанию, когда мы запускаем «из утилиты import label_map_util», он пытается выполнить поиск label_map_util в pythonПапка. * / site-packages / utils.

Эту ошибку можно устранить, изменив каталог или скопировав файл из tenorflow / models / utils в python *. * / site-packages / utils

Решение Вопроса

ваша папка object_detection не находится на вашем пути, поэтому python не знает, где искать файлы.

Вы можете проверить это в Python с

import sys

sys.path

если это проблема, вы можете решить ее

sys.path.insert(0, 'path/to/your/object_detection')
 Sudip Das07 февр. 2018 г., 14:55
что это за "путь / к / вашему / объекту обнаружения"? я не понимаю ... ты можешь объяснить?
 saikishor30 сент. 2017 г., 21:45
Проблема в том, что вы не можете сделать это таким образом, поскольку зависимые файлы внутри папки импортируются другим способом, например, из object_detection.ptoso import ....
 warped07 февр. 2018 г., 17:07
Расположение папки обнаружения объекта. Например, "c: / projects / object_detection" или "/ home / projects / object_detection"

Ваш ответ на вопрос