哈喽各位小伙伴,欢迎回到PyTorch进阶实战系列!
前两期我们完成了模型轻量化部署、ONNX加速、Flask网页端部署。
但是目前的项目依然存在一个致命问题:只能在自己的Python环境运行。
换到别的电脑、没有安装Anaconda、没有配置PyTorch、没有依赖库,项目直接无法运行。
想要做出完整成品软件、可以直接发给老师、客户、朋友使用,必须完成最后一步:代码打包EXE可执行程序。
本期手把手教大家零基础打包 YOLOv8 检测程序,最终实现:脱离Python环境、脱离配置、双击直接运行、任意电脑通用,真正完成AI项目全流程落地!
一、EXE打包的核心意义(毕设必看)
很多同学的毕设扣分点:
需要现场配置环境、安装依赖、输入代码运行,极其不专业。
打包EXE之后你的项目优势:
•无需安装Python、无需深度学习环境
•纯傻瓜式操作,双击即可启动程序
•支持任意Windows电脑运行
•项目成品度极高,答辩直接加分
这是AI项目落地的最后一步闭环!
二、打包工具介绍:PyInstaller
我们使用行业通用打包工具PyInstaller,支持Python所有脚本打包,兼容性最强、报错最少,是深度学习项目打包首选。
1、安装打包工具
在你的深度学习虚拟环境中执行安装命令:
python |
三、打包前必备准备工作(避免90%报错)
深度学习项目打包极易报错,必须严格按照以下步骤预处理:
•代码中绝对不能出现中文路径
•关闭所有调试代码、冗余代码
•模型权重使用相对路径,不要使用绝对路径
•关闭debug模式、关闭梯度计算
最终可打包标准代码(适配EXE)
以本地摄像头检测为例,给出可直接打包的纯净代码:
python |
四、一键打包命令(工业标准)
打开终端,cd 切换到项目文件夹,执行打包指令:
python |
参数详解
•-F:打包为单文件EXE,方便分发
•-w:关闭黑色命令行窗口,界面更整洁
五、打包后文件结构说明
打包完成后项目会多出三个文件夹:
•build:打包缓存文件,可直接删除
•__pycache__:缓存文件,可直接删除
•dist:最终成品文件夹,内含可直接运行的EXE程序
重点:必须将 best.pt 模型权重复制到 dist 文件夹内,否则打开闪退、模型加载失败!
六、Web网页项目专属打包方案
上期的Flask网页项目同样可以打包成EXE,打包后双击自动启动后端服务、弹出网页检测系统。
打包命令一致,打包后依然需要保留:templates、static 文件夹和 best.pt 模型,否则网页加载失败。
七、打包高频报错与终极解决方案
1、双击EXE闪退(最常见)
原因:缺少模型文件、路径错误、依赖缺失
解决:将模型、静态资源全部放入dist同级目录
2、打包体积过大
原因:虚拟环境冗余依赖过多
解决:使用纯净虚拟环境、优先使用ONNX模型打包
3、运行提示torch报错
解决:打包前切换CPU推理、关闭CUDA依赖
4、opencv闪退
解决:固定视频分辨率、释放资源逻辑完善
八、EXE程序优化技巧(成品升级)
•自定义程序图标:打包增加 -i 图标参数,替换默认黑框图标
•精简体积:使用ONNX模型替代pt模型,体积减少40%以上
•开机自启:可配置系统开机自动运行检测程序
•日志保存:增加检测日志记录,提升项目完整度
九、全系列终极闭环总结
到今天这一期,我们真正完成了AI深度学习CV项目从0到100%全流程落地:
环境搭建→ 张量基础 → 梯度原理 → 数据流水线 → CNN/ResNet原理 → YOLO训练调参 → 模型优化加速 → ONNX部署 → Flask网页系统 → EXE成品打包
从零小白到独立完成工业级AI视觉项目,整套技能完全打通!
下期预告
后续开启实战项目专题系列:工业缺陷检测、人员计数、手势识别、车牌识别、目标跟踪等热门毕设项目实战,手把手带你做完整可答辩项目!

