Tensorflow Object Detection Api Для Windows

EDIT: эти действия теперь работают после обновления, чтобы включить ответ RecencyEffect

1) Установите TensorFlow и сопутствующие инструменты через pip3

2) В командной строке администратора сделайте следующее:

pip3 устанавливает подушку
pip3 устанавливает lxml
pip3 устанавливает jupyter
pip3 устанавливает matplotlib

3) Клонируйте репозиторий моделей TensorFlow в папку «Документы», в моем случае

C: Users cdahms Documents templates

4) Загрузил Google Protobuf https://github.com/google/protobuf Windows v3.4.0, выпуск «protoc-3.4.0-win32.zip» (я попробовал последнюю версию 3.5.1 и обнаружил ошибки в следующих шагах, поэтому я попробовал 3.4.0 для этого видео https://www.youtube.com/watch?v=COlbP62-BU&list=PLQVvvaa0QuDcNK5GeCQnxYnSSaar2tpku&index=1 и компиляция protobuf сработала)

5) Извлеките Protobuf для загрузки в Program Files, в частности

«C: Program Files protoc-3.4.0-win32»

6) CD в каталог model search, а именно

компакт-диск C: Users cdahms Documents templates search

7) Выполняет компиляцию протобуфа, в частности

«C: Program Files protoc-3.4.0-win32 bin protoc.exe» object_detection / protos / *. Proto —python_out=.

Перейти к:

C: Users cdahms Documents models research object_detection protos

и убедитесь, что файлы .py были правильно сгенерированы компиляцией (только были файлы .proto)

8) cd в каталог object_detection, например:

компакт-диск C: Users cdahms Documents models research object_detection

затем введите в командной строке следующее, чтобы запустить object_detection_tutorial.ipynb Jupyter Notebook

ноутбук jupyter

9) В Jupyter Notebook выберите «object_detection_tutorial.ipynb» -> Cell -> Run all, пример должен работать в записной книжке

10) В Jupyter Notebook выберите «Файл» → «Загрузить как» → «Python» и сохраните .py-версию записной книжки в том же каталоге, например

C: Users cdahms Documents models research object_detection object_detection_tutorial.py

Теперь вы можете открыть скрипт в выбранном вами редакторе Python (например, PyCharm) и запустить его.

What is modulenotfounderror?

Модули — это строки кода, содержащие функции, которые можно импортировать в другую программу. Модули предназначены для того, чтобы сделать код Python более управляемым за счет улучшения читаемости и реализации возможности повторного использования. Синтаксис для импорта модуля: import имя_модуля

Python вызывает ошибку modulenotfounderror, когда не может импортировать модуль. Python попытается найти модуль в sys.modules или sys.path. Когда он не может загрузить модуль, он вызывает ошибку modulenotfounderror. Генерирует ошибку, когда python не может найти одну или одну из зависимостей.

Конфликт имен библиотеки и модуля

Другой причиной ошибки «Нет модуля с именем» является конфликт между именами пакетов и модулей. Предположим, у нас есть следующая структура проекта Python:

демонстрационный проект └───utils __init__.py string_utils.py utils.py

Если вы используете следующий оператор импорта для utils.py, Python вернет ModuleNotFoundError.

Используйте другой браузер
>>> импортировать utils.string_utils
Отслеживание (последний последний вызов):
Файл «C: demo-project utils utils.py», строка 1, в
импортировать utils.string_utils
ModuleNotFoundError: нет модуля с именем «utils.string_utils’;
utils — это не пакет

В сообщении об ошибке говорится, что «utils не является пакетом». Utils — это имя пакета, но это также имя модуля. Это приводит к конфликту, когда имя модуля перекрывает имя пакета / библиотеки. Чтобы исправить это, вам нужно переименовать файл utils.py.

ИЗМЕНИТЬ на ответ RecencyEffect ниже, если вы выполните следующие дополнительные шаги, вы сможете запустить object_detection_tutorial.py script из любого каталога

11) Переместите скрипт в любой другой каталог, затем попробуйте запустить его и обнаружите, что вы получаете сообщение об ошибке:

ModuleNotFoundError: нет модуля с именем ‘utils’

потому что мы еще не сказали Python, как найти каталог utils, который используют эти строки:

из утилит import label_map_util
из утилит импортируйте views_utils как vis_util

Решите эту проблему.,.

12) Перейдите в Система -> Расширенные настройки системы -> Переменные среды, -> Создайте и добавьте переменную с именем PYTHONPATH и следующие значения:

введите описание изображения здесь

13) Также в переменных окружения измените PATH и добавьте% PYTHONPATH% следующим образом:

введите описание изображения здесь

14) Перезагрузитесь, чтобы убедиться, что изменения этого пути вступили в силу.

15) Вызовите командную строку и выполните команду «set», убедитесь, что PYTHONPATH существует и что PYTHONPATH и PATH содержат значения предыдущих шагов.

16) Теперь вы можете скопировать «object_detection_tutorial.py» в любой другой каталог и запустить

Как упоминалось в комментарии, utils — это подмодуль, поэтому вам действительно нужно добавить object_detection в PYTHONPATH, а не object_detection / utils.

Я рад, что это сработало для вас.

cD..

Учиться

    экспорт PATH = ~ / anaconda3 / bin: $ PATH

УЧИТЬСЯ

git clone https://github.com/tensorflow/models.git

УЧИТЬСЯ

3 экспортировать PYTHONPATH = $ PYTHONPATH: pwd: pwd / slim

4.protoc object_detection / protos / string_int_label_map.proto —python_out =.

CD OBJECT_DETECTION

протоколы протоколов / string_int_label_map.proto —python_out =.

6 блокнот jupyter

Solving ModuleNotFoundError: no module named ‘_ctypes’

Есть несколько причин, по которым эта ошибка может отразиться на вашем компьютере. Во-первых, вам нужно убедиться, что при импорте модуля ctypes вы правильно набираете имя модуля, потому что python является языком с учетом регистра и в этом случае также выдаст модуль notfounderror.

import _Ctypes

Вышеупомянутый оператор импорта сгенерирует ошибку, потому что «c» в _ctypes не должен быть символом в верхнем регистре.

ModuleNotFoundError: нет модуля с именем ‘_Ctypes’

Modulenotfounderror: No Module Named _ctypes for Linux System

Если вы используете систему Ubuntu Linux, есть больше шансов, что python сгенерирует ошибку modulenotfounderror при импорте модуля _ctypes. Вы можете попробовать установить и переустановить Python, но в большинстве случаев это может не сработать.

Основная причина в том, что для модуля _ctypes в системе Ubuntu требуется установка пакета libffi-dev. Модуль _ctypes зависит от libffi-dev, поэтому его необходимо сначала установить. Поскольку в системе отсутствует установка libffi-dev, она не может использовать модуль _ctypes.

Чтобы установить libffi-dev в вашей системе, вы можете попробовать один из следующих кодов:

sudo apt установить libffi-dev

ИЛИ

sudo apt-get установить libffi-dev

При установке Python версии 3.7.0 или новее в Linux необходимо убедиться, что установлен libffi-dev. Поскольку в Ubuntu во время установки Python появляется сообщение об ошибке отсутствующих зависимостей (в данном случае это _ctype.

| Исправлено В Python нет модуля под названием Numpy

Modulenotfounderror: No Module Named _ctypes for CentOS

Modulenotfounderror обнаружен при использовании CentOS в Linux. Например, при установке Python в CentOS с версией 3.7 или более поздней, чем 3.7, возникает указанная выше ошибка.

Чтобы использовать модули _ctypes, нам нужно установить новый пакет: libffi -devel. Чтобы установить пакет libffi -devel, нам нужно использовать команду yum в centos. Команда yum — это менеджер пакетов по умолчанию. Мы используем эту команду для установки и обновления пакетов в CentOS.

Код для установки пакета:

yum install libffi-devel -y make install

После установки пакета libffi-devel снова установите и скомпилируйте. Это должно устранить ошибку.

 | Исправлено Нет модуля под названием Tensorflow Error

Modulenotfounderror: No Module Named _ctypes for MacOS

macOS сталкивается с той же проблемой при работе с модулем _ctypes. Вам нужно будет установить libffi, чтобы использовать модуль _ctypes. Обратите внимание, что для версий Python ранее, чем 2.6, libffi не работает в 64-битной macOS.

Чтобы установить libffi, используйте следующий код в вашем терминале MacOS. Здесь мы устанавливаем libffi для версии 3.2.1. Вы можете соответственно изменить свою версию.

wget ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz tar xvfz libffi-3.2.1.tar.gz cd libffi-3.2.1 ./configure —prefix = / usr / local / libffi / 3_2_1 сделать make install

Conflict between package and module names

Другой причиной ModuleNotFoundError является конфликт между именами пакетов и модулей. Подумайте о том, чтобы в вашем проекте Python была следующая структура каталогов:

демонстрационный проект └───utils __init__.py string_utils.py utils.py

Если вы используете следующий оператор импорта в файле utils.py, Python выдаст ModuleNotFoundError.

import utils.string_utils Traceback (последний вызов): файл «C: demo-project utils utils.py», строка 1, в import utils.string_utils ModuleNotFoundError: нет модуля с именем ‘utils.string_utils’; utils — это не пакет

В сообщении об ошибке говорится, что «utils не является пакетом». Utils — это имя пакета, но это также имя модуля (utils.py). Это причина недоразумений, имя модуля скрывает имя пакета. Чтобы разрешить конфликт, вы можете переименовать файл utils.py во что-нибудь другое.

Конфликт зависимостей модулей Python

Иногда может возникнуть конфликт модуля Python, который приводит к ошибке «Нет модуля с именем.

В следующем сообщении четко указано, что _numpy_compat.py в библиотеке scipy пытается импортировать модуль numpy.testing.nosetester.

Traceback (последний последний вызов): файл «C: demo-project venv Lib site-packages scipy _lib _numpy_compat.py», строка 10, из numpy.testing.nosetester import import_nose ModuleNotFoundError: нет модуля с именем numpy.testing.nosetester

ModuleNotFoundError возникает из-за того, что модуль numpy.testing.nosetester был удален из библиотеки в версии 1.18. Чтобы исправить это, вам нужно обновить numpy и scipy до последних версий.

pip install numpy —upgrade pip install scipy —upgrade

Dependency conflict between Python modules

Иногда может возникнуть конфликт между модулями Python, и этот конфликт может вызвать ModuleNotFoundError.

В следующем сообщении об ошибке четко указано, что файл _numpy_compat.py в библиотеке scipy пытается импортировать модуль numpy.testing.nosetester.

Traceback (последний последний вызов): файл «C: Users admin PycharmProjects demo-project venv Lib site-packages scipy _lib _numpy_compat.py», строка 10, из импорта numpy.testing.nosetester import_nose ModuleNotFoundError: нет модуля с именем ‘numpy.testing.nosetester’

ModuleNotFoundError возникает из-за того, что модуль numpy.testing.nosetester был удален из библиотеки numpy в версии 1.18. Чтобы исправить это, вы можете обновить библиотеки numpy и scipy до последних версий.

pip install numpy —upgrade pip install scipy —upgrade abcstudyguide

Python module is not installed

Первое, что нужно проверить, — установлен ли модуль Python. Чтобы использовать модуль в вашей программе Python, вы должны сначала установить его. Например, если вы попытаетесь использовать модуль numpy без его установки с помощью команды pip install, вы получите следующую ошибку.

Traceback (последний последний вызов): файл «», строка 1, в ModuleNotFoundError: нет модуля с именем ‘numpy’

Для установки необходимого модуля вы можете использовать следующую команду:

pip install numpy

или

pip3 устанавливает numpy

или, если вы используете Anaconda, вы можете использовать следующую команду:

conda установить numpy

Обратите внимание, что в вашей системе может быть установлено несколько экземпляров Python (или виртуальных сред). Убедитесь, что требуемый модуль установлен в правильном экземпляре Python.

Источники

  • https://progi.pro/tensorflow-object-detection-api-dlya-windows-oshibka-modulenotfounderror-net-modulya-s-imenem-utils-5862069
  • https://qna.habr.com/q/528044
  • https://www.pythonpool.com/modulenotfounderror-no-module-named-_ctypes-solved/
  • [https://PythonRu.com/baza-znanij/no-module-named]
  • [https://abcstudyguide.com/solution-modulenotfounderror-no-module-named/]

Оцените статью
Блог о Python