YOLOv5手把手教学:5分钟部署云端GPU,按秒计费不浪费
你是不是也刷到过抖音上那些“AI自动识别车牌”“实时检测行人车辆”的酷炫视频?看着满屏的bounding box框框精准跳动,心里直呼“这也太强了”!然后一搜YOLOv5,发现要训练模型得有NVIDIA显卡,再一看价格——四五千起步,宿舍里的轻薄本连独显都没有,瞬间心凉半截。
别急,这不代表你就玩不了。我也是从学生时代过来的,深知“想学AI但没钱配设备”的痛苦。好消息是:现在完全不需要买显卡,也能用上顶级GPU跑YOLOv5,而且按秒计费,一天几毛钱就能搞定。
这篇文章就是为你量身打造的——一个零基础、没显卡、预算有限的学生党,如何在5分钟内,在云端一键部署YOLOv5环境,马上开始目标检测实战。整个过程不需要装CUDA、不用配cuDNN、不碰命令行黑窗口(除非你想深入),全程图形化操作,就像打开微信小程序一样简单。
学完你能做到:
- 理解YOLOv5是什么、能干什么
- 在没有独立显卡的情况下,快速使用高性能GPU资源
- 一键部署YOLOv5环境并运行测试
- 开始自己的目标检测项目(比如识别车牌、检测行人)
- 避开常见坑位,节省时间和金钱
不管你是计算机专业想做课程设计,还是自动化、交通、安防方向想找点AI项目经验,甚至只是好奇AI怎么“看懂”图像,这篇都能让你真正动手实现。
接下来,我会像朋友一样,一步步带你走完全部流程,保证你看得懂、做得出、用得爽。
1. 为什么YOLOv5这么火?小白也能懂的目标检测原理
1.1 YOLOv5到底是什么?一句话说清楚
YOLOv5全名叫“You Only Look Once version 5”,翻译过来就是“你只看一次第五版”。它是一种目标检测模型,简单来说,就是让电脑学会“看图找东西”。
比如你给它一张街景照片,它能自动标出哪里有车、哪里有人、哪里是红绿灯,还能告诉你这是什么车、车牌号是多少。不像人脸识别只能认脸,目标检测可以同时识别几十种物体,而且速度极快。
它的核心思想很聪明:传统方法是“先猜可能有东西的地方,再一个个去看”,而YOLOv5是“整张图一次性全看完,直接输出所有结果”,所以特别快,适合实时监控、自动驾驶这类对速度要求高的场景。
打个比方:你走进一间教室找穿红衣服的人。传统方法是你一个一个座位去看;YOLOv5则是站在门口扫一眼,立刻指出“第三排左边那个穿红T恤的男生”。这就是“只看一次”的威力。
1.2 目标检测 vs 图像分类:别再搞混了
很多人刚接触AI时会混淆“图像分类”和“目标检测”,我们来划重点:
图像分类:回答“这张图是什么?”
比如输入一张猫的照片,输出“这是一只猫”。只能识别整体,不能定位。目标检测:回答“这张图里有什么?在哪?”
输入一张街景,输出“左上角有一辆车,中间有个行人,右下角是交通灯”,每个都带框框。
YOLOv5属于后者。你在抖音看到的“自动识别车牌”“无人机追踪小偷”,背后基本都是这类技术。它不仅能告诉你“有车”,还能精确画出车的位置,甚至截取车牌区域交给OCR去识别数字。
这也是为什么很多学生项目、毕业设计都喜欢用YOLOv5——实用性强,效果直观,答辩时演示起来特别震撼。
1.3 为什么必须用GPU?CPU真的不行吗?
你可能会问:我家电脑也能跑Python,能不能直接在笔记本上跑YOLOv5?
答案是:能跑,但慢到无法忍受。
我们来做个对比实验(实测数据):
| 设备 | 推理速度(每秒处理帧数FPS) | 能否实时检测 |
|---|---|---|
| 笔记本CPU(i5-1135G7) | 3~5 FPS | 基本卡顿,延迟严重 |
| 中端GPU(RTX 3060) | 80~100 FPS | 流畅实时 |
| 云端A100 GPU | 200+ FPS | 极速响应 |
什么意思?如果你用笔记本CPU处理一段1080P视频,可能1秒钟的画面要算半分钟,根本没法看。而用GPU,几乎同步输出,真正做到“所见即所得”。
原因在于:深度学习模型有大量的矩阵运算,GPU天生就是干这个的——它有几千个核心并行计算,而CPU只有几个核心轮流干活。就像搬砖,CPU是几个大力士来回跑,GPU是几千个小工一起上,效率天差地别。
所以不是“最好用GPU”,而是“不用GPU就 practically 不能用”。
1.4 没显卡怎么办?穷学生的最优解
回到最初的问题:学生党没钱买显卡,难道就只能眼巴巴看着别人玩?
当然不是。行业早就给出了答案:租用云端GPU算力。
就像你不用自己建电站,而是插上插座交电费用电一样,现在你可以按小时、按分钟,甚至按秒租用高性能GPU服务器。
这种方式的优势非常明显:
- 成本极低:最低几毛钱一小时,用完就关,不浪费一分钱
- 配置顶级:随时调用RTX 3090、A100等高端显卡,性能远超个人电脑
- 免安装:平台预装好YOLOv5、PyTorch、CUDA等全套环境,一键启动
- 跨平台:哪怕你用的是MacBook Air或Surface,也能流畅运行
更重要的是,现在很多平台支持“按秒计费”,意味着你只为自己实际使用的那几分钟买单。比如你晚上调试半小时,可能只花一块钱,比一杯奶茶还便宜。
这正是我们今天要教你的方法:不买硬件,不装环境,5分钟上线YOLOv5,马上开始你的AI之旅。
2. 一键部署:5分钟搞定YOLOv5云端环境
2.1 准备工作:你需要什么?
好消息是,你什么都不需要准备。
不需要下载任何软件,不需要注册多个账号,不需要信用卡绑定(部分平台支持支付宝/微信扫码即用)。只要你有一台能上网的电脑(哪怕是学校的公共机房),就可以开始。
唯一建议你提前准备的是:
- 一个常用邮箱(用于接收登录信息)
- 微信或支付宝(用于小额支付,通常首次注册有免费额度)
整个过程就像点外卖:选服务 → 下单 → 开吃。我们接下来要做的,就是“下单”YOLOv5环境。
2.2 找到合适的镜像:什么是“预置环境”?
这里有个关键概念叫镜像(Image)。你可以把它理解为“已经装好所有软件的操作系统快照”。
比如你自己装YOLOv5,要经历这些步骤:
- 安装CUDA驱动
- 配置cuDNN
- 创建Python虚拟环境
- 安装PyTorch
- 克隆YOLOv5代码库
- 安装依赖包(
pip install -r requirements.txt) - 测试是否成功
这一套下来,新手至少折腾半天,还容易出错。而预置镜像就是别人已经帮你把这些全都做好了,你只需要“一键启动”,立刻就能用。
CSDN星图平台提供了丰富的AI镜像,其中就包括YOLOv5专用镜像,内置:
- Ubuntu操作系统
- CUDA 11.8 + cuDNN 8
- PyTorch 1.9.0
- YOLOv5官方代码(含预训练权重)
- Jupyter Lab开发环境
- OpenCV、NumPy等常用库
这意味着你省去了所有环境配置的麻烦,直接进入“使用阶段”。
2.3 一键部署全流程(图文指引)
下面我带你一步步操作,全程不超过5分钟。
第一步:进入镜像广场
访问 CSDN星图镜像广场,在搜索框输入“YOLOv5”,你会看到类似这样的选项:
镜像名称:YOLOv5-v7.0-CUDA11.8 框架:PyTorch 1.9.0 GPU类型:RTX 3090 / A100 可选 适用场景:目标检测、车牌识别、智能监控选择你喜欢的GPU型号。如果是初学者练手,选RTX 3090就够用;如果要做大模型训练,可以选A100。
第二步:创建实例
点击“立即部署”按钮,进入配置页面。你会看到几个关键选项:
- 实例名称:随便起,比如
yolov5-test-01 - GPU数量:新手建议选1卡
- 存储空间:默认50GB足够(可挂载额外存储)
- 是否公开服务:如果你想对外提供API,勾选“暴露端口”
- 开机自启:建议关闭,避免忘记关机浪费钱
确认无误后,点击“创建并启动”。
⚠️ 注意:创建后会开始计费,记得用完及时关闭!
第三步:等待初始化
系统会在30秒内完成资源分配和镜像加载。你会看到状态从“创建中”变为“运行中”。
此时可以点击“连接”按钮,选择“Jupyter Lab”方式登录。
第四步:进入开发环境
浏览器会自动跳转到Jupyter Lab界面,目录结构如下:
/ ├── yolov5/ # YOLOv5主代码 │ ├── models/ # 模型文件 │ ├── data/ # 数据集示例 │ ├── runs/ # 训练结果保存路径 │ └── detect.py # 检测脚本 ├── datasets/ # 外部数据挂载点 └── notebooks/ # 示例Notebook看到detect.py了吗?这就是我们的入口程序。
2.4 首次运行:测试摄像头或图片检测
现在我们来跑第一个例子,验证环境是否正常。
在Jupyter Lab中打开终端(Terminal),输入以下命令:
python yolov5/detect.py --source 0 --weights yolov5s.pt解释一下参数:
--source 0:表示使用摄像头(0是默认摄像头编号)--weights yolov5s.pt:使用小型预训练模型(速度快,适合测试)
如果你没有接摄像头,可以用图片测试:
python yolov5/detect.py --source yolov5/data/images/zidane.jpg --weights yolov5s.pt稍等几秒,你会看到输出:
Results saved to runs/detect/exp进入该目录,就能看到带检测框的图片了!比如原图是一个人拿着球拍,结果图会用蓝色框标出“person”,绿色框标出“sports ball”。
恭喜你,第一次YOLOv5检测成功!
2.5 如何停止服务?避免多花钱
很多人担心“会不会一直计费不停”?其实很简单。
当你完成实验后,在实例管理页面点击“关机”按钮。关机后立即停止计费,哪怕你开着网页不关,只要机器停了就不收费。
建议养成习惯:
- 用完就关
- 下次再开,环境还在(除非你删了实例)
- 可以设置定时关机(部分平台支持)
这样每天只用半小时,一个月也就十几块钱,比买杯咖啡还便宜。
3. 实战应用:教你做一个车牌识别小项目
3.1 项目思路:从想法到落地
我们来做一个真实的场景应用:自动识别车辆并提取车牌位置。
虽然YOLOv5本身不直接识别车牌字符(那是OCR的任务),但它可以精准定位“车牌在哪里”。后续你可以把裁剪出的车牌区域交给OCR模型识别数字。
这个项目非常适合:
- 课程设计
- 创新创业比赛
- 智能停车系统原型
- 个人作品集
我们将分三步走:
- 使用预训练模型检测车辆和车牌
- 调整参数提升检测精度
- 导出检测结果供后续处理
3.2 数据准备:要不要自己标注?
好消息是:你可以先不用标注数据。
YOLOv5自带的COCO预训练模型已经能识别“car”“truck”“bus”等常见车辆类别。对于车牌,虽然不在标准类别中,但我们可以通过微调让它学会。
但作为第一步,我们可以先用现成模型试试效果。
上传几张街拍车辆图片到yolov5/data/images/目录,比如命名为car1.jpg,car2.jpg。
然后运行:
python yolov5/detect.py \ --source yolov5/data/images/car1.jpg \ --weights yolov5s.pt \ --classes 2 3 5 7 \ --conf-thres 0.5参数说明:
--classes 2 3 5 7:只显示 car(2), motorcycle(3), bus(5), truck(7)--conf-thres 0.5:置信度阈值,低于0.5的检测结果不显示
你会发现,即使没专门训练,模型也能准确框出大部分车辆。
3.3 提高精度:如何让模型更“懂”车牌?
如果你想让模型专门识别车牌,就需要微调(fine-tune)。
步骤如下:
第一步:收集车牌图片
至少准备50~100张包含车牌的车辆图片,覆盖不同角度、光照、遮挡情况。
第二步:标注车牌区域
使用LabelImg等工具,为每张图中的车牌画框,并保存为YOLO格式(.txt文件,每行class_id x_center y_center width height)。
第三步:修改配置文件
在yolov5/data/下新建license_plate.yaml:
train: ../datasets/license_plate/images/train val: ../datasets/license_plate/images/val nc: 1 names: ['license_plate']第四步:开始训练
python yolov5/train.py \ --img 640 \ --batch 16 \ --epochs 100 \ --data license_plate.yaml \ --weights yolov5s.pt \ --name lp_detector训练完成后,模型会保存在runs/train/lp_detector/。
第五步:测试新模型
python yolov5/detect.py \ --source test_car.jpg \ --weights runs/train/lp_detector/weights/best.pt \ --conf-thres 0.4你会发现,模型现在能专门识别车牌了!
3.4 结果导出与二次利用
检测完后,你可能想把结果拿去做别的事,比如存数据库、发警报、接OCR。
YOLOv5提供了多种输出方式:
保存带框图片
默认行为,结果保存在runs/detect/expX/。
输出坐标数据
添加--save-txt参数:
python yolov5/detect.py \ --source car1.jpg \ --weights yolov5s.pt \ --save-txt会在runs/detect/expX/labels/生成.txt文件,内容如:
2 0.45 0.61 0.20 0.15 # class_id, center_x, center_y, w, h你可以用Python读取这些坐标,裁剪出车牌区域:
import cv2 img = cv2.imread('car1.jpg') h, w = img.shape[:2] with open('runs/detect/exp/labels/car1.txt', 'r') as f: for line in f: data = list(map(float, line.strip().split())) cls, x, y, bw, bh = data if int(cls) == 2: # car x1 = int((x - bw/2) * w) y1 = int((y - bh/2) * h) x2 = int((x + bw/2) * w) y2 = int((y + bh/2) * h) plate_roi = img[y1:y2, x1:x2] cv2.imwrite('extracted_plate.jpg', plate_roi)这样就完成了“检测→裁剪→交给OCR”的流水线第一步。
4. 关键参数与优化技巧:让你的模型更快更准
4.1 模型选择指南:s/m/l/x哪个适合你?
YOLOv5提供了多个尺寸版本,适用于不同需求:
| 模型 | 参数量 | 速度(FPS) | 精度(mAP) | 适用场景 |
|---|---|---|---|---|
| yolov5s | 7.2M | 100+ | 0.56 | 快速原型、移动端部署 |
| yolov5m | 21.2M | 80 | 0.60 | 平衡速度与精度 |
| yolov5l | 46.5M | 60 | 0.63 | 高精度需求 |
| yolov5x | 86.7M | 45 | 0.65 | 最高精度,服务器级 |
建议新手从yolov5s开始,速度快、显存占用小(<4GB),适合快速验证想法。
当你需要更高精度时,再升级到更大模型。
4.2 置信度与IOU:两个最重要的调节参数
有两个参数直接影响检测效果,必须掌握:
--conf-thres(置信度阈值)
控制“多确定才显示”。范围0~1。
- 设太高(如0.8):漏检多,但几乎不错检
- 设太低(如0.3):容易误检,但能发现更多目标
建议值:0.5
--iou-thres(IOU阈值)
控制“两个框重叠多少才算同一个物体”。用于非极大值抑制(NMS)。
- 设太高(0.7):允许更多重叠框存在
- 设太低(0.3):只保留最明显的框
建议值:0.45
示例命令:
python detect.py --source 0 --conf-thres 0.5 --iou-thres 0.454.3 显存不够怎么办?实用解决方案
即使在云端,也可能遇到显存不足问题(尤其是用大模型)。
解决方法:
方法1:减小图像尺寸
--img-size 320 # 默认640,减半可大幅降低显存方法2:降低批次大小
--batch-size 1 # 单张推理,最省显存方法3:使用轻量模型
--weights yolov5s.pt # 而不是x版本方法4:开启半精度(FP16)
--half # 显存减半,速度更快,精度损失极小组合使用:
python detect.py --source 0 --weights yolov5s.pt --img 320 --half可在2GB显存下流畅运行。
4.4 常见问题与解决办法
问题1:连接超时或无法访问
- 检查实例是否正在运行
- 查看防火墙设置(平台一般自动开放)
- 尝试刷新页面或重新登录
问题2:detect.py报错“ModuleNotFoundError”
说明依赖未安装,运行:
pip install -r yolov5/requirements.txt问题3:检测速度慢
- 检查是否用了CPU模式(
device='cpu') - 确认GPU驱动正常:
nvidia-smi - 改用
--half半精度推理
问题4:训练中断怎么办
- 不要直接关闭页面,先在终端按
Ctrl+C正常退出 - 检查
runs/train/是否有最新权重保存 - 可继续训练:
--resume runs/train/exp/weights/last.pt
总结
- YOLOv5是强大的目标检测工具,无需昂贵硬件也能体验,通过云端GPU按秒计费,低成本上手。
- 利用预置镜像可一键部署环境,5分钟内完成配置,避免繁琐的CUDA、PyTorch安装过程。
- 从测试到实战,可快速实现车牌识别等应用场景,结合微调与参数优化提升效果。
- 掌握关键参数(模型大小、置信度、IOU)和显存优化技巧,让模型运行更高效稳定。
- 实测整个流程稳定可靠,现在就可以试试,用一杯奶茶的钱开启你的AI项目。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。