搭建 YOLO v5 环境

官方指导:

https://github.com/ultralytics/yolov5/blob/master/tutorial.ipynb

环境搭建:

安装anaconda(python3.7);
https://blog.csdn.net/yunqiushuiman/article/details/107529062


conda install git
conda create -n yolov5 python=3.8
conda activate yolov5 
git clone https://github.com/ultralytics/yolov5.git
如果下载比较慢:
git clone https://github.com.cnpmjs.org/ultralytics/yolov5 # clone repo
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U -r requirements.txt  使用镜像
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ipython
cd yolov5
pip install ipykernel
python -m ipykernel install --user --name yolov5



torch.cuda.current__device()
torch.cuda.get_device_name()
torch.cuda.is_available()/


测试:
使用 预训练 模型进行测试:

cd yolov5
python detect.py --weights yolov5s.pt --img 640 --conf 0.25 --source data/images/

检测官方数据128张照片
python .\detect.py --source .\coco128\images\train2017

python .\detect.py --source 0   # 调用摄像头!!!
基于rtsp的网络摄像头使用下面的命令
python detect.py --source "rtsp://user:[email protected]:554/cam/realmonitor?channel=1&subtype=1"
python .\detect.py --source .\road.mp4  # 检测某一视频
python detect.py     #检测inference\images文件夹下的所有图片
python .\detect.py --source .\inference\images\bus.jpg  # 检测某一张图片


如果你有多块显卡,可以选择具体使用哪块显示进行检测,0表示第一块,1表示第二块,cpu表示不使用gpu
python detect.py --device 0


官方coco128 数据集训练 + 测试

下载 coco128 数据集 并解压:
curl -L -o tmp.zip https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip && unzip -q tmp.zip && rm tmp.zip  # download dataset

训练:
python train.py --img 640 --batch 16 --epochs 5 --data ./data/coco128.yaml --cfg ./models/yolov5s.yaml --weights ''

使用训练得到的模型进行测试:
python detect.py --source ./inference/images/ --weights  ./runs/exp0/weights/best.pt --conf 0.4


测试并生成数据对应的检测结果文本文件 --save-txt
python detect.py --source ./inference/images/ --weights  ./runs/exp0/weights/best.pt --conf 0.4 --save-txt

定制数据集训练 Train On Custom Data

官方教程:

https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data

!总结:所以,如果想用自己的训练集来训练网络,在造数据集的标签时

第一个数是:类别
第二个数是:中心点横坐标/图片宽
第三个数是:中心点纵坐标/图片高
第四个数是:框宽/图片宽
第四个数是:框高/图片高
按照上面的规则造好标签,就可以用来训练网络了(图片名和标签名要一样)

你可能感兴趣的:(深度学习,Jupyter,Notebook)