yolov10打包为exe

news2024/12/24 10:07:28

一、前言

     本节实验将官方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,可成功运行

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HarmonyOS Next开发学习手册——内存管理(GC)

GC(全称 Garbage Collection),即垃圾回收。在计算机领域,GC就是找到内存中的垃圾,释放和回收内存空间。当前主流编程语言实现的GC算法主要分为两大类:引用计数和对象追踪(即Tracing GC&#xff…

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…

Java中的程序异常处理介绍

一、异常处理机制 Java提供了更加优秀的解决办法:异常处理机制。 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。 Ja…

Spring事务的源码底层实现

文章目录 事务理论执行过程EnableTransactionManagement底层实现 事务 在线流程图 理论执行过程 通过事务管理器创建一个连接对象connection1设置事务隔离级别、是否只读等conn1.autocommit(false)将conn1存入ThreadLocal中Map<DataSource,Connection>执行目标方法、多…

c++习题01-ljc的暑期兼职

目录 一&#xff0c;题目描述 二&#xff0c;思路 三&#xff0c;伪代码 四&#xff0c;流程图 五&#xff0c;代码 一&#xff0c;题目描述 二&#xff0c;思路 1&#xff0c;根据题目要求需要声明4个变量&#xff1a;a,b,c,d ;牛奶价格a&#xff0c;活动要求b&…

浅析Resource Quota中limits计算机制

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

java基于ssm+jsp 毕业生就业信息管理系统

1管理员功能模块 管理员输入个人的用户名、密码、角色登录系统&#xff0c;这时候系统的数据库就会在进行查找相关的信息&#xff0c;如果我们输入的用户名、密码不正确&#xff0c;数据库就会提示出错误的信息提示&#xff0c;同时会提示管理员重新输入自己的用户名、密码&am…

MYSQL存储过程的创建

关于存储过程的题目 1、创建存储过程,查看user表中的所有数据 2、创建存储过程avg_order_quantity,返回所有订单的平均工资 3、创建存储过程show_max_bprice,用来查看bookS的单价最贵的价格 4、创建存储过程show_min_bprice,用来查看bookS的单价最低的价格&#xff0c;并将…

JS在线加密简述

JS在线加密&#xff0c;是指&#xff1a;在线进行JS代码混淆加密。通过混淆、压缩、加密等手段&#xff0c;使得JS源代码难以阅读和理解。从而可以有效防止代码被盗用或抄袭&#xff0c;保护开发者的知识产权和劳动成果。常用的JS在线加密网站有&#xff1a;JShaman、JS-Obfusc…

美业管理系统的优势和功能分析,美业系统你选对了吗?Java源码/演示视频分享

在当今竞争激烈的美业市场中&#xff0c;有效的管理对于提高效率、增强客户体验和推动业务增长至关重要。美业管理系统通过其各种功能和优势&#xff0c;成为现代美业企业不可或缺的利器。 本文将探讨美业管理系统的优势和功能&#xff0c;以及它们对美业企业的重要性。 1.预…

来聊聊Redis客户端的概念

写在文章开头 对于每一个建立的连接redis都会通过redisClient来管理建立的socket连接的信息&#xff0c;本文将从源码的分析的角度来剖析的Redis客户端的基本设计和实现。 Hi&#xff0c;我是 sharkChili &#xff0c;是个不断在硬核技术上作死的 java coder &#xff0c;是 C…

通信协议总结

IIC 基本特点 同步&#xff0c;半双工 标准100KHz&#xff0c;最高400KHz&#xff08;IIC主要应用于低速设备&#xff09; 硬件组成 需外接上拉电阻 通信过程 空闲状态 SDA和SCL都处于高电平 开始信号S和终止信号P 在数据传输过程中&#xff0c;当SCL0时&#xff0c;SDA才…

mac14.1.2 M1芯片终端使用brew命令提示“zsh- command not found- brew ”解决方案

mac14.1.2 M1芯片终端使用brew命令提示“zsh- command not found- brew ” 原因&#xff1a;brew默认安装目录在/opt/homebrew/bin&#xff0c;zshrc文件中找不到对应的PATH路径导致。&#xff08;可通过右键finder的图标选择「前往文件”-输入/opt/homebrew/bin」来查看brew是…

【图书推荐】CPython设计与实现“适合所有Python工程师阅读的书籍”

目录 一、图书推荐 |【CPython设计与实现】 1.1、书籍介绍 1.2、内容简介 1.3、适合哪些人阅读 1.4、作者译者简介 1.5、购买链接 一、图书推荐 |【CPython设计与实现】 "深入Python核心&#xff0c;揭秘CPython的设计智慧&#xff01;&#x1f4d6; 对于每一位热衷…

超详细的Pycharm使用虚拟环境搭建Django项目并创建新的虚拟环境教程

一、什么是虚拟环境&#xff1f; 通过软件虚拟出来的开发环境&#xff0c;不是真实存在的&#xff0c;一般在多套环境开发时会用到。 二、为什么要使用虚拟环境&#xff1f; 虚拟环境为不同的项目创建不同的开发环境&#xff0c;开发环境内所有使用的工具包互不影响。比如项…

初探 YOLOv8(训练参数解析)

文章目录 1、前言2、Backbone网络3、YOLOv8模型训练代码3.1、模型大小选择3.2、训练参数设置 4、训练参数说明5、目标检测系列文章 1、前言 YOLO 因为性能强大、消耗算力较少&#xff0c;一直以来都是实时目标检测领域的主要范式。该框架被广泛用于各种实际应用&#xff0c;包…

Linux C 程序 【02】创建线程

1.开发背景 上一个篇章&#xff0c;基于 RK3568 平台的基础上&#xff0c;运行了最简单的程序&#xff0c;然而我们使用了 Linux 系统&#xff0c;系统自带的多线程特性还是比较重要的&#xff0c;这个篇章主要描述线程的创建。 2.开发需求 设计实验&#xff1a; 创建一个线程…

线性相关,无关?秩?唯一解(只有零解),无穷解(有非零解)?D=0,D≠0?

目录 线性有关无关 和 唯一解&#xff08;只有零解&#xff09;&#xff0c;无穷解&#xff08;有非零解&#xff09;之间的关系 D0&#xff0c;D≠0&#xff1f; 和 秩 的关系 串起来&#xff1a; 线性相关&#xff0c;无关&#xff1f;秩&#xff1f;唯一解&#xff08;只…

【M365运维】Outlook和Teams里不显示用户的组织架构

【问题】 由于一些误操作&#xff0c;把用户账户禁用并重新启用后&#xff0c;发现在Outlook和Teams里无法查看用户的组织结构图了。如下图所示&#xff1a; - 在Outlook 里&#xff0c;用户标签页的组织一直显示“正在加载..."&#xff0c;成员身份也是“找不到任何组。…

卸载vmware时2503,2502报错的解决办法

1.背景 windows 卸载vmware时&#xff0c;显示2503报错&#xff0c;无法完全卸载 2. 解决方案 2.1 参考安装报错2502&#xff0c;2503的处理方式 文献&#xff1a;https://blog.csdn.net/zhangvalue/article/details/80309828 2.1 步骤&#xff1a; 2.1.1 cmd 管理员打开…