2022年4月5日15点00分

1.conda新环境

conda create -n obbdetection python=3.7 -y
source activate obbdetection

装pytorch(这一步我不确定是否必要,我选autodl的GPU的时候自带了pytorch,以后有机会再验证吧)

conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch

2.clone .git and install

git clone https://github.com/jbwang1997/OBBDetection.git --recursive
cd OBBDetection

如果在clone BboxToolkit卡住了,可以cd到OBBDetection文件夹执行:

git clone https://github.com/jbwang1997/BboxToolkit.git --recursive

再安装BboxToolkit

cd BboxToolkit
pip install -v -e .  # or "python setup.py develop"
cd ..

安装mmcv

 pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html --no-cache-dir

提示报错,会显示很多版本,我选的1.4.0
然后安装成功显示:

Successfully installed addict-2.4.0 mmcv-full-1.4.0 pyyaml-6.0 yapf-0.32.0

安装OBBDetection

pip install -r requirements/build.txt
pip install mmpycocotools
pip install -v -e .  # or "python setup.py develop"

2022年4月5日15点27分
大约5分钟完成,显示

Successfully installed Pillow-6.2.2 mmdet-2.2.0+4c779ba

3. test model

先去网上下载他训练好的模型(.pth文件)
https://github.com/jbwang1997/OBBDetection/tree/master/configs/obb/oriented_rcnn
然后上传到GPU服务器上进行测试

python demo/huge_image_demo.py demo/dota_demo.jpg configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_1x_ms_rr_dota10.py  ckpt/faster_rcnn_orpn_r101_fpn_1x_mssplit_rr_dota10_epoch12.pth BboxToolkit/tools/split_configs/dota1_0/ss_test.json

如果不能显示图形界面,plot画不出图来,他没有保存图像文件的代码。我的Linux看不了。调了半小时,找到了mmdet/apis/inference.py,最后一行加入

 cv2.imwrite("xxxx320.jpg", img)

到时候运行完会在/root/OBBDetection文件夹下生成处理完的结果xxxx320.jpg

4.针对HRSC2016数据集测试、训练。

4.1 准备数据集

数据集放到
/root/OBBDetection/data/HRSC2016

修改训练的数据集路径文件在configs/obb/base/datasets/hrsc.py
完成之后

4.2开始训练

python tools/train.py configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_3x_hrsc.py --work-dir work_dirs 

woc ,居然成功了,直接挂起来吃饭去。

nohup python tools/train.py configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_3x_hrsc.py --work-dir work_dirs >xxxcbtrain202204051625.log 2>&1 &

2022年4月5日16点27分
一个小时后来检查发现空间不足了,我的存储空间只有20GB,
删掉之前生成的的24个epochs的pth文件,接着25轮继续,因为26轮的epoch26.pth是个坏掉的文件,运行会报错。

python tools/train.py configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_3x_hrsc.py --work-dir work_dirs --resume-from work_dirs/epoch_25.pth

断掉的过程中我也对25轮的精度进行了测试:

python tools/test.py configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_3x_hrsc.py /root/OBBDetection/work_dirs/epoch_25.pth --eval mAP
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 444/444, 7.8 task/s, elapsed: 57s, ETA:     0s
+-------+------+------+--------+--------+
| class | gts  | dets | recall | ap     |
+-------+------+------+--------+--------+
| ship  | 1188 | 2999 | 0.9857 | 0.9047 |
+-------+------+------+--------+--------+
| mAP   |      |      |        | 0.9047 |
+-------+------+------+--------+--------+

再用vac12运行一遍

python tools/test.py configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_3x_hrsc.py /root/OBBDetection/work_dirs/epoch_25.pth --eval mAP --options use_07_metric=False
+-------+------+------+--------+--------+
| class | gts  | dets | recall | ap     |
+-------+------+------+--------+--------+
| ship  | 1188 | 2999 | 0.9857 | 0.9748 |
+-------+------+------+--------+--------+
| mAP   |      |      |        | 0.9748 |
+-------+------+------+--------+--------+

巧了,效果非常理想。
达到官方的精度了

接着把剩下的11轮跑完吧。
36epoch的结果如下

4.3 效果检验

voc07
+-------+------+------+--------+--------+
| class | gts  | dets | recall | ap     |
+-------+------+------+--------+--------+
| ship  | 1188 | 3162 | 0.9840 | 0.9050 |
+-------+------+------+--------+--------+
| mAP   |      |      |        | 0.9050 |
+-------+------+------+--------+--------+
voc12
+-------+------+------+--------+--------+
| class | gts  | dets | recall | ap     |
+-------+------+------+--------+--------+
| ship  | 1188 | 3162 | 0.9840 | 0.9740 |
+-------+------+------+--------+--------+
| mAP   |      |      |        | 0.9740 |
+-------+------+------+--------+--------+

最后的效果比较理想。
测试两张船。

python demo/image_demo.py demo/100001132.bmp configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_3x_hrsc.py  work_dirs/epoch_36.pth

总结

上一次复现失败的原因大概是pytorch版本太高了,调用mmdetection框架出错了,这次碰巧没遇到错误。
也学会了从中断的地方恢复训练,效果比较不错,下次复现S2ANet了。
本次复现共耗时一个半小时,消费3块钱,算上上次失败和之前改错的成本,累计时间一周,20块钱。

复现Oriented R-CNN RTX 2080Ti相关推荐

  1. 复现失败Oriented R-CNN RTX 2080Ti

    今天开始复现Oriented R-CNN 环境打算租用autodl的RTX 2080Ti,因为论文里也是用的这块GPU. 最后因为不会使用mmdetection而告终.如果以后有机会再调. 1.租块G ...

  2. 复现 S2ANet RTX 2080Ti

    0.租服务器GPU 1.INSTALL.MD conda create -n s2anet python=3.7 -y source activate s2anet conda install pyt ...

  3. 复现 Oriented R-CNN RTX3080ti

    在3080ti主机上复现Oriented R-CNN,参考了:复现Oriented R-CNN RTX 2080Ti_吃肉不能购的博客-CSDN博客 这篇博文给我提供了很大帮助 前言 GitHub链接 ...

  4. WIN10+RTX 2080Ti深度学习平台搭建,VS2019+CUDA11.0+cuDNN8.0+python3.8.7+Tensorflow2.4.0+Keras,以及各种科学包

    WIN10+RTX 2080Ti深度学习平台搭建 前置声明:博文中有一些图片来自网上截图(因为安装完成后做的记录,有些安装过程图嫌麻烦没有复现),侵删. 可选步骤: 如果之前有python环境,需要卸 ...

  5. 深度学习设备购置RTX 2080Ti + i7 9700k+ Z390 A主板

    文章目录 购置清单 GPU选购参考指标 CPU及主板选购参考 固态硬盘选择 参考教程及相关问答 Reference 目标:构建一个深度学习个人工作站 组装性能: 组装好后先装了windows系统用鲁大 ...

  6. 苹果M1芯片机器学习测评出炉!Mini比RTX 2080Ti快14%,Air好于Pro

    点击上方"CVer",选择加"星标"置顶 重磅干货,第一时间送达 来源:AI科技评论 作者 | 蒋宝尚 编辑 | 青暮 今年双十一,苹果发布了新Mac系列,拿出 ...

  7. 苹果M1芯片机器学习向测评:Mini 比RTX 2080Ti 快14%,Air好于Pro

    本文转载自AI科技评论. 作者 | 蒋宝尚 编辑 | 青暮 今年双十一,苹果发布了新Mac系列,拿出了首款自研ARM架构的芯片.这款5nm制程的SoC(系统级芯片)号称大幅度提升了性能. 例如,新款M ...

  8. 在TITAN RTX 2080Ti 上安装 Ubuntu18.04+Nvidia-430显卡驱动+配置深度学习环境(1)

    最近一个项目需要在TITAN RTX 2080Ti 上安装Ubuntu18.04+Nvidia-430显卡驱动+Cuda10.1+Cudnn+7.6+Anaconda3+深度学习环境(tensorfl ...

  9. Faster R CNN

    Faster R CNN 3 FASTER R-CNN 我们的Faster R CNN 由两个模块组成,第一个模块是 proposes regions 的全卷积网络,第二个是使用 proposed r ...

  10. 安装教程rtx2080ti_Ubuntu18.04上安装RTX 2080Ti显卡驱动

    上了RTX 2080Ti显卡后,原来Ubuntu18.04内置的驱动和PPA安装的都不运作了,安装NVidia官网下载的驱动可以跑起来,但是需要费一些周折. 1.禁用系统默认显卡驱动 打开系统黑名单: ...

最新文章

  1. IROS2021 | F-LOAM : Fast LiDAR Odometry and Mapping 解析
  2. CentOS系统dig和nslookup的安装
  3. PYTHON_DACORATOR
  4. 怎样编写一个Photoshop滤镜(1)
  5. Linux centos openshift安装教程整理
  6. 已知线性表最多可能有20个元素,存储每个元素需要8字节,存储每个指针需要4字节。当元素个数为( )时使用单链表比使用数组存储此线性表更加节约空间。
  7. Google搜索正在“死亡”
  8. HDU 5975 2016ICPC大连 E: Aninteresting game(树状数组原理)
  9. 配置 iSQL*Plus
  10. ddos发包php文件,简单防范PHPDDOS对外发UDP包消耗流量
  11. MH算法拟合标准柯西分布
  12. 阿里云下载git镜像路径
  13. python数据导入与清洗_Python学习之 数据清洗之增删改查
  14. 从网络安装debian到使用中遇到的问题
  15. 《软件学报》《计算机学报》《计算机研究与发展》为计算机类三大权威刊物
  16. H3C IRF2典型应用(1)
  17. 爱数之Oracle备份与恢复
  18. JS正则表达式中有哪些特殊字符,这些特殊字符又分别表示什么含义?
  19. TFN PM1200无线电综合测试仪详细参数介绍
  20. Could not load file or assembly #39;Microsoft.VisualBasic, ----jexus使用报错

热门文章

  1. python对新媒体运营的帮助_一年新媒体工作积累的经验
  2. 3、第三方软件中使用TWS API的相关问题
  3. 编程语言名称背后的有趣故事
  4. Alpha冲刺——第八天
  5. 任正非:华为从未想干翻苹果 称霸死无葬身之地
  6. 杭州建筑工程师职称评审条件
  7. 【gdgzezoi】Problem A: 玩具谜题
  8. 聊一位倾慕已久的他——致敬图灵
  9. openh264编解码器的编译与运行
  10. 极路由B70刷breed,刷灯大固件,简明步骤(转自恩山无线论坛)