环境

DBC相关配置

FileZilla

主机:sftp://111.44.254.168
用户名:root
密码:zheshimima
端口:12876

ssh

windows:C:/Users/ShiNian/.ssh/id_rsa.pub
linux:/root/.ssh/authorized_keys/
windows的移动到linux下

Nextcloud

位置:/data/nextcloud/dbc2017/files/
(本地下载好git的库然后上传到目录下)

mmdet

mmcv

  1. conda create -n mmdet python=3.7 -y
  2. conda activate mmdet
  3. conda install pytorch torchvision cudatoolkit=10.1 -y
  4. ## mmcv
  5. #option-1
  6. git clone https://github.com.cnpmjs.org/open-mmlab/mmcv.git
  7. cd mmcv
  8. pip install .
  9. #option-2
  10. pip install mmcv-full==latest+torch1.5.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
  11. cd ../
  12. git clone https://github.com.cnpmjs.org/open-mmlab/mmdetection.git
  13. cd mmdetection
  14. pip install -r requirements.txt # 需要提前将对应txt中的“github.com”换成“github.com.cnpmjs.org”
  15. # pip install -r requirements/build.txt
  16. pip install "git+https://github.com.cnpmjs.org/open-mmlab/cocoapi.git#subdirectory=pycocotools"
  17. #pip install -v -e .
  18. python setup.py develop #pip install -v -e . #替代上面的那一行(https://blog.csdn.net/qq_41375609/article/details/106512843)

创建自己的数据集

https://zhuanlan.zhihu.com/p/119456263 https://zhuanlan.zhihu.com/p/101983661

  1. # cd mmdetection
  2. mkdir data
  3. # 创建软链接
  4. export COCO_ROOT=/data/nextcloud/dbc2017/files/coco
  5. ln -s $COCO_ROOT data

配置好自己的配置文件后,使用下列命令来检验配置文件是否规范

  1. python /path/to/config

pycocotools

https://blog.csdn.net/u013832707/article/details/94445495

训练

配置文件

配置解析

  • 8个batch 对应lr=0.01

image.png

colab

colab mmdet

  1. !python -W ignore::UserWarning tools/train.py /content/mmdetection/configs/faster_rcnn_r101_fpn_1x.py

分析

tools 下:train->test->test_robustness->robustness_eval

基础知识

数据集格式

https://www.geek-share.com/detail/2776336514.html https://github.com/spytensor/prepare_detection_dataset

coco

https://blog.csdn.net/u012609509/article/details/88680841

  • 目录格式

    image.png

  • json 格式

    • 根目录

      image.png

    • 子目录

      • info(可空,dict)

image.png

  1. - licenses(可空,list

image.png

  1. - imageslist

image.png

  1. - annotationslist[dict])

image.png

  1. - categorieslist

image.png

voc

  • 目录格式

image.png

  • xml格式

一个图片对应一个 xml 文件,xml 中的 object 表示标注了一个对象。

  1. <annotation>
  2. <filename>2012_004331.jpg</filename>
  3. <folder>VOC2012</folder>
  4. <object>
  5. <name>person</name>
  6. <bndbox>
  7. <xmax>208</xmax>
  8. <xmin>102</xmin>
  9. <ymax>230</ymax>
  10. <ymin>25</ymin>
  11. </bndbox>
  12. </object>
  13. <segmented>0</segmented>
  14. <size>
  15. <depth>3</depth>
  16. <height>375</height>
  17. <width>500</width>
  18. </size>
  19. <source>
  20. <annotation>PASCAL VOC2012</annotation>
  21. <database>The VOC2012 Database</database>
  22. <image>flickr</image>
  23. </source>
  24. </annotation>

labme

yolo

image.png

Pr Re AP

目标检测中的AP,mAP

其他

查询cuda、cudnn

  1. cat /usr/local/cuda/version.txt
  2. cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

pip 更新失败导致 pip 丢失

https://blog.csdn.net/wwangfabei1989/article/details/80107147

  1. python -m ensurepip
  2. python -m pip install --upgrade pip

colab 连接到本地时

https://juejin.im/post/5d07b8cd6fb9a07eb94f8c94

本地运行

  1. pip install jupyter_http_over_ws
  2. jupyter serverextension enable --py jupyter_http_over_ws
  3. jupyter notebook \
  4. --NotebookApp.allow_origin='https://colab.research.google.com' \
  5. --port=8888 \
  6. --NotebookApp.port_retries=0

然后在 colab 选择连接到本地时即可

tensorboard 显示错误

e.g.

  1. tensorflow_core._api.v2.errors' has no attribute 'raise_exception_on_not_ok_status'

此时,卸载所有tensorboard版本,运行

  1. # pip uninstall tensorboard
  2. pip install tb-nightly

安装最新版本即可

OSError: [Errno 40] Too many levels of symbolic links

使用绝对路径

OOM during the training process

可能是因为尺寸改变导致内存上升
可能是因为图片中gt number数量上升导致

tensorboard command not found

  1. python -m tensorboard.main --logdir=logs

jupyter notebook指定目录打开

  1. jupyter notebook ${MY_DIR}

cv2.rectangle : function takes exactly 4 arguments (2 given)

将位置参数换成整数 int类型,浮点数不行(真的是**

显示字符错误

一般是因为编码问题,要么是结尾的换行符,要么是空格等符号。
编辑器->微信 微信->编辑器
然后就报错了,我** *

参考

总体
mmdetection中文文档
目标检测框架mmdetection入门
【干货】mmdetection使用coco格式的CrowdHuman数据集进行训练及测试(附调参过程)
mmdetection - 基于PyTorch的开源目标检测系统
目标检测比赛中的tricks
mmdetection2.0 (v2.0.0版本)环境搭建、训练自己的数据集、测试以及常见错误集合