常用命令

mmdetection修改文件步骤:

1、./mmdetection/configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py
```
将'../_base_/datasets/coco_detection.py' 修改为 '../_base_/datasets/voc0712.py'
```

2、
../_base_/models/faster_rcnn_r50_fpn.py:定义模型文件
../_base_/datasets/coco_detection.py:定义训练数据路径等
../_base_/schedules/schedule_1x.py:定义学习策略,例如leaning_rate、epoch等
../_base_/default_runtime.py:定义一些日志等其他信息
```
./mmdetection/configs/_base_/datasets/voc0712.py
将因为我们使用的是VOC2007数据,因此只要把其中含有VOC2012路径注释即可

./mmdetection/configs/_base_/models/faster_rcnn_r50_fpn.py
将46行的num_classes的值改为自己的分类的个数
```
3、./mmdetection/mmdet/core/evaluation/class_names.py
将voc_classes改为要训练的数据集的类别名称

./mmdetection/mmdet/datasets/voc.py
将CLASSES改为要训练的数据集的类别名称

4、修改完 class_names.py 和 voc.py 之后一定要重新编译代码
```
python setup.py develop
```

5、训练命令
使用单GPU进行训练:
```
CUDA_VISIBLE_DEVICES=1 python tools/train.py configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py
```
使用多GPU进行训练:
```
./tools/dist_train.sh configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py 2
```

6、测试命令
```
python tools/test.py configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py work_dirs/faster_rcnn_r50_fpn_1x/epoch_12.pth --out ./result.pkl
```

7、计算AP
```
python tools/robustness_eval.py ./result.pkl --dataset voc --metric AP
python tools/my_voc_eval.py ./result.pkl ./configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py
```

8、预测单张图片
```
python image_inference.py data/dachicun_1.jpg configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py work_dirs/faster_rcnn_r50_fpn_1x_coco/latest.pth
```

YoloV4--WongKinYiu文件修改步骤(使用VOC格式进行训练):
```
1、将voc格式的三个文件夹放到data文件夹下
2、修改voc2yolo.py里面的类别
3、运行data文件夹下的voc2yolo.py,生成labels文件夹、train.txt和test.txt文件
4、将labels里的文件全都复制到JPEGImages文件夹中, cp -r labels/. /home/hzy/VOC/JPEGImages/
5、修改data文件夹下的voc.yaml文件,将路径改为train.txt和test.txt路径,修改类别数和类别名
6、模型文件修改,例如我们使用yolov5s.yaml,修改类别数
7、训练,python train.py --data data/grids.yaml --cfg models/yolov4l-mish.yaml --weights '' --batch-size 4 --epochs 40 --img 1280 800
8、预测 python detect.py --weights runs/exp14/weights/best.pt
```


YoloV4(bubling)文件修改步骤(使用VOC格式进行训练):
```
1、将根目录下的voc_annotation.py中的classes改成自己的classes,再运行voc_annotation.py
就会生成对应的2007_train.txt,每一行对应其图片位置及其真实框的位置
2、修改model_data里面的voc_classes.txt文件,需要将classes改成自己的classes
3、运行train.py即可开始训练
4、训练完成后,依次运行get_dr_txt.py,get_gt_txt.py,get_map.py
即可得到分类的mAP
```


screen使用
1、创建screen窗口,test为窗口名,就可以在这里运行你的命令了
此时该窗口的状态变为 Attached
```
screen -S test
```
2、查看已建的screen窗口,会出现创建的窗口的名称及id
```
screen -ls
```
3、退出该窗口,但窗口里的命令仍在运行:Ctrl + a +d
此时该窗口的状态变为 Detached
4、重新连接该窗口,先screen -ls查看该窗口的id,再运行screen -r id
```
screen -ls
screen -r 9100
```
5、清除dead状态的窗口
如果由于某种原因其中一个会话死掉了(例如人为杀掉该会话),这时-ls会显示该会话为dead状态。使用-wipe命令清除该会话
```
screen -wipe
```
6、在该窗口终端输入 kill -9 id ,终止窗口对应任务的运行,同时杀死该窗口。
也可以在该窗口终端输入exit ,就可以彻底删除该窗口以及窗口内的作业。
```
kill -9 9100
exit
```
另一个关闭窗口的方法是使用Ctrl + a + k,这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。


cp命令的使用:
1、将一个文件夹下的所有内容复制到另一个文件夹下
```
cp -r /home/packageA/* /home/cp/packageB/

cp -r /home/packageA/. /home/cp/packageB/
```

 

CUDA_VISIBLE_DEVICES=1

```
python tools/train.py configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py
configs/fcos/fcos_center-normbbox-centeronreg-giou_r50_caffe_fpn_gn-head_dcn_4x4_1x_coco.py
```

以软连接的方式创建data文件夹:
```
ln -s $COCO_ROOT data,$COCO_ROOT是自己数据的路径
```

posted @ 2021-05-17 22:51  零纪年  阅读(176)  评论(0编辑  收藏  举报