当前位置:   article > 正文

yolov10打包为exe_yolo打包

yolo打包

一、前言

     本节实验将官方yolov10推理程序打包为exe运行

二、代码

    首先下载官方代码至本机,并使用conda创建虚拟环境,并安装好yolov10所需库

  1. conda create --prefix E:/pyenv/myYolo10 python=3.8
  2. pip install -r requirements.txt

  下载官方模型权重 yolov10m.pt ,并在根目录下创建推理代码

  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Fri Feb 2 15:50:32 2024
  4. @author: WIN10
  5. detect.py
  6. """
  7. import time , cv2
  8. import multiprocessing
  9. from ultralytics import YOLOv10
  10. model_path = "./yolov10m.pt"
  11. if __name__ == '__main__':
  12. multiprocessing.freeze_support()
  13. model = YOLOv10( model_path )
  14. cv_img = cv2.imread( "./demo.png" )
  15. results = model.predict( #初始化第一次比较慢。需要2秒多,后续较快
  16. source= cv_img ,
  17. conf = 0.2 ,
  18. imgsz=640 ,
  19. show = True
  20. )
  21. cv2.waitKey()
  22. cv2.destroyAllWindows()

 确认创建环境无误,运行可得到显示结果

三、打包步骤

    接下来将该代码打包为exe,

(1)代码禁用多进程,在main下方加上一句multiprocessing.freeze_support()

  1. if __name__ == '__main__':
  2.     multiprocessing.freeze_support()

(2)将根目录下的ultralytics/utils/__init__.py 的 238 行 if判断改为

if WINDOWS and sys.stdout and sys.stdout.encoding != "utf-8":

(3)安装pyinstall ,并执行打包指令

pip install pyinstaller 

pyinstaller打包指令不要用 -F ,-F是打包为一整个exe,容易出现问题,使用以下指令

pyinstaller  detect.py --noconsole -p 'E:\pyenv\myYolo10\Lib\site-packages'  -p   'E:\pyenv\myYolo10\Lib\site-packages\torch\lib'    --hidden-import torchvision

(4)关闭防火墙

   打包过程,可能会被防火墙拦截,报病毒错误

关闭防火墙

 

统统关掉,重新执行指令

 

四、结果

打包将在dist文件夹下生成exe,以及相应独立包文件,运行exe

将 模型文件和图片拷贝至和detect.exe同一目录

运行若提示错误 无default.yaml ,如:

  1. File "ultralytics\utils\__init__.py", line 363, in yaml_load
  2. FileNotFoundError: [Errno 2] No such file or directory: 'E:\\py_test\\yolov10\\dist\\detect\\_internal\\ultralytics\\cfg\\default.yaml'

将根目录下的ultralytics文件夹,复制拷贝到打包生成的_internal 文件夹中去,再次双击运行detect.exe,可成功运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/900538
推荐阅读
相关标签
  

闽ICP备14008679号