Skip to content
 
📑标签
🏷yolo 🏷model 🏷目标检测 🏷项目实战

第零章:买好地皮——利用conda搭建yolov5虚拟环境

  1. 创建虚拟环境 进入conda的prompt界面,输入一下命令
sh
conda create -n yolov5 python=3.9
  1. 安装pytorch库 进入pytorch官网选择合适的pytorch版本复制下载命令,优先选conda命令,次选pip命令。
sh
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

电脑的cuda版本可以在终端中输入

sh
nvidia-smi

查看

克隆yolov5代码

sh
git clone https://github.com/ultralytics/yolov5
深度学习中训练时经常碰到的train、val、test有啥区别?

train和val都是为了训练模型参数,test是在参数完全确定后做测试,是衡量你的模型性能。

train是训练集,val是训练过程中的测试集,是为了让你在边训练边看到训练的结果,及时判断学习状态。test就是训练模型结束后,用于评价模型结果的测试集。只有train就可以训练,val不是必须的,比例也可以设置很小。test对于model训练也不是必须的,但是一般都要预留一些用来检测,通常推荐比例是8:1:1

val都是在训练的时候起作用。而因为val的数据集和train没有交集,所以这部分数据对最终训练出的模型没有贡献。val的主要作用是来验证是否过拟合、以及用来调节训练参数等。

什么是预训练模型?

对于希望学习算法或尝试现有框架的人来说,预训练的模型是一个很好的帮助。由于时间限制或计算资源的限制,不可能总是从头构建模型,这就是为什么存在预训练模型!

预训练模型是指在大规模数据集上预先进行训练的神经网络模型,通常在通用任务上学习到的特征可以被迁移到其他特定任务中。预训练模型的思想是利用大规模数据的信息来初始化模型参数,然后通过微调或迁移学习,将模型适应在特定的目标任务上。

  1. 在prompt界面中安装
sh
pip install -r requirements.txt
  1. 用YOLOv5预测

运行detect.py文件,他会自动下载yolo5s.pt模型用于加载预训练模型进行目标检测的任务,可以在yolov5/runs/detect/exp中看见预测后的图片,说明环境部署成功了!

利用现有COCO128数据集训练yolo模型

直接输入

sh
python train.py --img 640 --batch 16 --epochs 5 --data ./data/coco128.yaml --cfg ./models/yolov5s.yaml --weights ./yolov5s.pt

如果报错可能是

COCO数据集会自动下载,下载地址位于与/yolov5的同级目录/dataset下

测试

sh
python detect.py --source ./inference/images/ --weights ./runs/train/exp3/weights/best.pt