yolov10打包为exe

一、前言

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

二、代码

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

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

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

# -*- coding: utf-8 -*-
"""
Created on Fri Feb  2 15:50:32 2024

@author: WIN10

detect.py

"""

import time , cv2
import multiprocessing
from ultralytics import YOLOv10

model_path =  "./yolov10m.pt"

if __name__ == '__main__':
    multiprocessing.freeze_support()
    model = YOLOv10( model_path )

    cv_img = cv2.imread(  "./demo.png" )

    results = model.predict(   #初始化第一次比较慢。需要2秒多,后续较快
         source= cv_img ,  
         conf = 0.2 ,
        imgsz=640 ,
         show = True
    )
  
    cv2.waitKey()
    cv2.destroyAllWindows()

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

三、打包步骤

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

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

if __name__ == '__main__':
    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 ,如:

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

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

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值