当前位置:网站首页>Graphical tools package yolov5 and generate executable files exe

Graphical tools package yolov5 and generate executable files exe

2022-07-07 03:22:00 Master Ma

Environmental Science

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

Preface
Python Project packaging is a question that many novices often ask , Previous articles have also introduced how to use pyinstaller To package and generate executable files , It's just that the packaging process is based on the command line . The tool introduced in this article ,auto-py-to-exe, It is pyinstaller Of GUI edition , Be more friendly to new people , You can easily do it with a click of the mouse , that , Let's get started .

install
Use pip Direct installation

pip install auto-py-to-exe

Or pull the source code , Unzip and enter the root directory , perform

python setup.py install

Packaging example
This article uses the previous yolov5-pyqt5 Package the project , Here's a little bit of attention , If you are using python A virtual environment , It must be installed in this virtual environment auto-py-to-exe

After the project code is pulled down , modify main.py, take

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

Change it to

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

#  If only cpu Words , Change to 
# self.device = torch.device('cpu')

Why should we change this ? This is mainly select_device The method uses subprocess, and pyinstaller Packing subprocess Method will report an error , If you go to modify subprocess Part of the code is a little troublesome , For the sake of simplicity , You won't call this method , For details, please refer to https://xugaoxiang.com/2019/12/04/pyqt5-4-pyinstaller/

then , open auto-py-to-exe, Script file selection yolov5-pyqt5 Under folder main.py, Select single file , That is, only one executable file is generated in the end
 Insert picture description here
In the Advanced tab , Click on --hidden-import The plus sign on the right , Then fill in modles.yolo, otherwise , Generated exe The following error will be reported when running

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

 Insert picture description here
Others are similar No module named xxx Error of , It's the same solution
 Insert picture description here
In the process of checking the configuration , The current command will display the corresponding pyinstaller Instructions , If you do not install auto-py-to-exe, Only installed pyinstaller, Then copy this command , It can also be packaged successfully

If no error is reported , project-generated exe The file will be placed in... By default C:\Users\ user name \output Next

Prepare the official model file yolov5s.pt, Put it in weights Under the folder , Then double click. exe file

 Insert picture description here
Last , Select a test picture to test , Function is normal

 Insert picture description here
Reference material
https://github.com/brentvollebregt/auto-py-to-exe
https://xugaoxiang.com/2019/12/04/pyqt5-4-pyinstaller/
https://github.com/xugaoxiang/yolov5-pyqt5

原网站

版权声明
本文为[Master Ma]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207062006532649.html