已经安装好anaconda,在pycharm中训练
一、创建项目,安装yolov7
1、创建虚拟环境
打开pycharm,点击新建项目,更改Location(一般默认位置,更改项目名)
conda activate yolov7
选择interpreter -anaconda3
点开pycharm 中的Terminal,创建yolov7环境
conda create -n yolov7 python=3.7 -y
激活
conda activate yolov7
2、下载yolov7源代码
git clone https://github.com/WongKinYiu/yolov7.git
cd yolov7
3、下载权重
打开官网,找到Testing,任选一个 .pt文件,下载权重,将下载好的权重放入yolov7文件夹
4、安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
二、运行目标检测
On video:
python detect.py --weights yolov7.pt --conf 0.25 --img-size 640 --source yourvideo.mp4
On image:
python detect.py --weights yolov7.pt --conf 0.25 --img-size 640 --source inference/images/horses.jpg
运行结果在runs/detect文件夹中
三、训练自己的数据集
1、创建所需文件
在yolov7工程项目下创建datasets文件夹,datasets文件夹中创建子文件夹 images 和 labels ,并在相应的文件夹下创建train 和 val 文件夹,分别放训练集和验证集的数据。
2、对自己的数据集进行标注
标注工具:labellmg
参考::::labelImg使用教程
3、配置训练的相关文件
总共有两个文件需要配置,一个是/yolov7/cfg/training/yolov7.yaml,这个文件是有关模型的配置文件;一个是/yolov7/data/coco.yaml,这个是数据集的配置文件。
1.第一步,复制yolov7.yaml文件到相同的路径下,然后重命名,我们重命名为yolov7-xxx.yaml然后打开,将 nc 修改为自己数据集的类别数
2.复制coco.yaml文件到相同的路径下,然后重命名,我们命名为xxx.yaml。打开后进行更改
将train: val: 修改为自己图像的路径
nc 修改为自己数据目标的总数
names 修改为自己数据集标注的类别,注意顺序不能乱
四、正式训练
python train.py --weights yolov7.pt --cfg cfg/training/yolov7-xxx.yaml --data data/xxx.yaml --batch-size 8 --epoch 300 --device 0
将xxx改为自己的文件名称
这里采用gpu进行训练,若用cpu去掉 --device 0即可
自己训练时出现报错:.RuntimeError:indices should be either on cpu or on the same device as the indexed tensor (cpu)
成功解决
五、使用自己的权重
刚训练出来的权重在runs/train/circle/weights中,选择best.pt测试自己的数据
python detect.py --weights best.pt --source xxx --device 0
将xxx换成自己的图片路径