Пакет графических инструментов YOLOv5 для создания исполняемого EXE-файла

глубокое обучение

Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.

окрестности

  • windows 10 64bit
  • auto-py-to-exe 2.10.1

предисловие

PythonУпаковка проекта — вопрос, который часто задают многие новички, есть также статьи о том, как его использовать раньше.pyinstallerдля упаковки и создания исполняемых файлов, но процесс упаковки основан на командной строке. Инструмент, описанный в этой статье,auto-py-to-exe,этоpyinstallerизGUIВерсию, более удобную для новичков, можно легко выполнить одним щелчком мыши, так что давайте начнем.

Установить

использоватьpipпрямая установка

pip install auto-py-to-exe

Или извлеките исходный код, распакуйте его, войдите в корневой каталог и выполните

python setup.py install

Пример упаковки

В этой статье используется предыдущийyolov5-pyqt5Проект запакован, на это нужно обратить внимание, если вы используетеpythonВиртуальная среда, которая должна быть установлена ​​в этой виртуальной средеauto-py-to-exe

После того, как код проекта будет извлечен, изменитеmain.py,будет

self.device = select_device(self.opt.device)

изменить на

# gpu
self.device = torch.device('cuda:0')

# 如果只有cpu的话,就改成
# self.device = torch.device('cpu')

Зачем так менять? В основном здесьselect_deviceиспользуется в методеsubprocesspyinstallerв упаковкеsubprocessМетод сообщит об ошибке, если вы его изменитеsubprocessЧасть кода немного хлопотная, для простоты я не буду вызывать этот метод, подробнее см.Imagination.com/2019/12/04/…

Затем откройтеauto-py-to-exe, выбор файла сценарияyolov5-pyqt5в папкеmain.py, выбрать один файл, то есть в итоге генерируется только один исполняемый файл

auto-py-to-exe

На вкладке «Дополнительно» нажмите--hidden-importплюсик справа, затем заполнитеmodles.yolo, иначе сгенерированныйexeПри запуске будет сообщено о следующей ошибке

Traceback (most recent call last):
  File "detect_image.py", line 405, in <module>
  File "detect_image.py", line 365, in main
  File "detect_image.py", line 293, in detection_alertarea
  File "detect_image.py", line 79, in __init__
  File "models\experimental.py", line 137, in attempt_load
  File "torch\serialization.py", line 594, in load
    return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
  File "torch\serialization.py", line 853, in _load
    result = unpickler.load()
ModuleNotFoundError: No module named 'models.yolo'
[12976] Failed to execute script detect_image

auto-py-to-exe

другие подобныеNo module named xxxошибка, и то же решение

auto-py-to-exe

В процессе проверки конфигурации текущая команда будет отображать соответствующийpyinstallerинструкции, если он у вас не установленauto-py-to-exe, только установилpyinstaller, затем скопируйте эту строку команды, она также может быть успешно упакована

Если ошибки нет, проект генерируетсяexeФайл будет помещен в папку по умолчаниюC:\Users\用户名\outputВниз

Подготовьте официальные файлы моделейyolov5s.pt, вставитьweightsпапку, затем дважды щелкнитеexeдокумент

auto-py-to-exe

Наконец, выберите тестовое изображение для проверки, функция работает нормально.

auto-py-to-exe

использованная литература