第零章:买好地皮——利用conda搭建yolov5虚拟环境
- 创建虚拟环境 进入conda的prompt界面,输入一下命令
sh
conda create -n yolov5 python=3.9- 安装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的主要作用是来验证是否过拟合、以及用来调节训练参数等。
什么是预训练模型?
对于希望学习算法或尝试现有框架的人来说,预训练的模型是一个很好的帮助。由于时间限制或计算资源的限制,不可能总是从头构建模型,这就是为什么存在预训练模型!
预训练模型是指在大规模数据集上预先进行训练的神经网络模型,通常在通用任务上学习到的特征可以被迁移到其他特定任务中。预训练模型的思想是利用大规模数据的信息来初始化模型参数,然后通过微调或迁移学习,将模型适应在特定的目标任务上。
- 在prompt界面中安装
sh
pip install -r requirements.txt- 用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