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,可成功运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/750766.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

最新Adobe2024全家桶下载,PS/PR/AE/AI/AU/LR/ID详细安装教程

如大家所熟悉的,Adobe全家桶系列常用的软件有Photoshop(PS)、Premiere(PR)、After Effects(AE)、illustrator(AI)、Audition(AU)、Lightroom&…

计算机二级Access操作题总结——综合应用

属性表相关 例1: 不允许输入和修改其中的数据→【是否锁定】 例2: 单击“退出”按钮(名为“bt2”),调用设计好的宏“mEmp”来关闭窗体。 分组和汇总 对“rSell”报表进行适当设置,使每名雇员的姓名显示在该雇员所售书籍信…

第四天 怎么又迟到了呀 哎啥时候来准时上个课呀

泛型编程 Traits实现,是什么 泛型编程(Generic Programming)是一种通过编写与特定类型无关的代码来实现代码复用和抽象的编程范式。 在C中,模板(Templates)是实现泛型编程的主要手段。 Traits&#xff0…

基于ssh框架的个人博客源码

基于ssh的个人博客源码,页面清爽简洁,原先有部分bug,运行不了,现已修复 1.博客首页 (本地访问地址 :localhost:8080/Blog/index/index) 2.关于我 3.慢生活 4.留言板 5.我的相册 微信扫码下载源码

《分析模式》漫谈07-怎样把一张图从不严谨改到严谨

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 下图是《分析模式》原书第2章的图2.10,里面有一些错误和考虑不周的地方: 2004中译本和2020中译本的翻译如下: 基本上都是照搬,没有改过…

widows下 vscode 的 terminal / powershell,ctrl+v失灵,输出^v

问题 原因 最近装了PSReadLine Import-Module PSReadLineSet-PSReadLineOption -PredictionSource History Set-PSReadLineOption -PredictionViewStyle InlineView Set-PSReadLineOption -EditMode Emacsvscode不兼容 解决方法 注释掉最后面的 Import-Module PSReadLineS…

2021年12月电子学会青少年软件编程 中小学生Python编程等级考试三级真题解析(选择题)

2021年12月Python编程等级考试三级真题解析 选择题(共25题,每题2分,共50分) 1、小明在学习计算机时,学习到了一个十六进制数101,这个十六进制数对应的十进制数的数值是 A、65 B、66 C、256 D、257 答案&#xff…

浅析Resource Quota中limits计算机制

前言 在生产环境中,通常需要通过配置资源配额(Resource Quota)来限制一个命名空间(namespace)能使用的资源量。在资源紧张的情况下,常常需要调整工作负载(workload)的请求值&#xf…

MySQL周内训参照4、触发器-插入-修改-删除

触发器 1、用户购买商品时,要求库存表中的库存数量自动修改 详细示例 delimiter $$ create trigger stock_change after -- 事件触发在 下订单之后 insert -- 监视插入事件 on stock -- 监视 order订单表 for each row begin update stock set stockstock-new.st…

ROT5、ROT13、ROT18、ROT47全系列加解密小程序

ROT5、ROT13、ROT18、ROT47全系列加解密小程序 这几天在看CTF相关的课程,涉及到古典密码学和近代密码学还有现代密码学。自己编了一个关于ROT全系列的加、解密小程序。 ​ ROT5、ROT13、ROT18、ROT47 编码是一种简单的码元位置顺序替换暗码。此类编码具有可逆性&a…

音视频入门基础:H.264专题(8)——H.264官方文档的描述符

音视频入门基础:H.264专题系列文章: 音视频入门基础:H.264专题(1)——H.264官方文档下载 音视频入门基础:H.264专题(2)——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…

开发自动回复信息的插件:代码的力量与智慧!

在信息爆炸的时代,自动回复信息的插件成为了许多用户和管理者的得力助手,这些插件能够根据预设的规则或算法,自动、快速、准确地回复用户的信息,极大地提高了沟通效率和用户体验。 而开发这样一款插件,离不开一系列精…

这三款工具很好用,赶快试试

FileZilla FileZilla是一款免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。它是一个快速、可信赖的FTP客户端以及服务器端开放源代码程序,具有多种特色和直觉的界面。FileZilla客户端版是一个方便高效的FTP客户端工具…

校企合作,为人才培养注入新动力

树莓集团在校企合作育人方面取得了显著成效,通过共建专业、定制课程、实习实训等多种方式,实现了教育资源的优化配置和高效利用,为高校和企业提供了更多的发展机会和合作空间。 1、共建专业与实验室:树莓集团与高校共同建设数字产…

Transformer教程之Transformer的历史背景

在现代人工智能领域,Transformer模型已经成为一种不可或缺的技术,它在自然语言处理(NLP)和计算机视觉等多个领域取得了巨大的成功。本文将带你回顾Transformer的历史背景,了解它是如何从最初的构想到今天的广泛应用的。…

分享一款永久免费内网穿透工具——巴比达内网穿透

最近在做web项目,想办法将web项目映射到公网进行访问,由于没有固定IP,只能使用内网穿透的方法,于是在网上搜索了一番,只有神卓互联旗下的这款巴比达内网穿透是真正免费的, 其它的要么用不了、要么限制没有流…

springcloud-config 客户端启用服务发现client的情况下使用metadata中的username和password

为了让spring admin 能正确获取到 spring config的actuator的信息,在eureka的metadata中添加了metadata.user.user metadata.user.password eureka.instance.metadata-map.user.name${spring.security.user.name} eureka.instance.metadata-map.user.password${spr…

Dataease配置Nginx代理

Dataease配置Nginx代理 一.修改前端静态资源地址和后端接口地址 **1.**修改应用程序的上下文路径 配置文件地址:backend/src/main/resources 找到文件application-whole.properties,做如下修改: **2.**修改前端静态资源路径和打包配置 配…

产品经理面试指南:四大专栏助你成功上岸

面对产品经理的职位面试,你是否感到有些紧张和迷茫?不用担心,我们为你精心准备了四大面试专栏,包括产品经理专业面试、部门负责人复试、HR面试以及面试技巧,让你在面试过程中如鱼得水,轻松应对。 01 产品经…

ScheduledThreadPoolExecutor和时间轮算法比较

最近项目中需要用到超时操作,对于不是特别优秀的timer和DelayQueue没有看。 Timer 是单线程模式。如果某个 TimerTask 执行时间很久,会影响其他任务的调度。Timer 的任务调度是基于系统绝对时间的,如果系统时间不正确,可能会出现…