今天开始复现Oriented R-CNN 环境打算租用autodl的RTX 2080Ti,因为论文里也是用的这块GPU。
1.租块GPU
从AUTODL租的2080Ti。 环境选的官方镜像 PyTorch 1.8.1 Python 3.8 Cuda 11.1 2022年3月30日10点04分
2.GitHub install.md Installation
2.1 Requirements
Linux or macOS (Windows is not currently officially supported)
Python 3.6+
PyTorch 1.3+
CUDA 9.2+ (If you build PyTorch from source, CUDA 9.0 is also compatible)
GCC 5+
mmcv > 1.3
BboxToolkit 1.0
因为这篇论文的程序好像是基于obbdetection工具箱,所以我们要先安装obbdetection
conda create -n obbdetection python=3.7 -y
source activate obbdetection
然后补上mmcv(别补了,这是坑,别安装mmcv)
pip install mmcv==1.4
补上BboxToolkit 1.0(这个可以提前装)
git clone https://github.com/jbwang1997/BboxToolkit
cd BboxToolkit
pip install -v -e .
a. Create a conda virtual environment and activate it.
这一步我在刚开始就完成了,所以略过
conda create -n obbdetection python=3.7 -y
conda activate obbdetection
b. Install PyTorch and torchvision following the official instructions, e.g.,
这里官方给的语句是:
conda install pytorch torchvision -c pytorch 但是因人而异,我的安装语句是:
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html --no-cache-dir
后边加的–no-cache-dir是为了防止failed,懂得都懂,不懂的如果报错failed就加,没有的话就当我没说。
c. Clone the OBBDetection repository.
git clone https://github.com/jbwang1997/OBBDetection.git --recursive
cd OBBDetection
d. Install build requirements and then install OBBDetection.
(1)install the BboxToolkit 这个我们刚才一开始就安装了,就不管了,略过。
cd BboxToolkit
pip install -v -e .
cd ..
(2)install mmcv-full 一开始我们按照他的要求安装的mmcv==1.4, 跟mmcv-full不是一个东西,结果mmcv官网说这俩不能共存,所以要卸掉mmcv,
pip uninstall mmcv
这里要去官网自己找相应的版本
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.1/index.html --no-cache-dir
这里卡了好久。 结果看到mmcv官网说。就是把pytorch1.8.1对应pytorch1.8.0的mmcv-full安装,怪我没长眼。 (3)install OBBDetection
pip install -r requirements/build.txt
pip install mmpycocotools
pip install -v -e .
最后一行运行的时候尽量盯着电脑屏幕,有什么error和warning及时记录下来。我用2080Ti运行的,大约二十分钟吧。无聊的话可以点开setup。py看着building到哪一行了哈哈。 大概率安装完obbdetection了,好累,关机。
3.Oriented Model Starting
以上环境就算安装完成了,然后我们开始进行测试。 官方提供的语句是:
python demo/huge_image_demo.py ${IMAGE_FILE} ${CONFIG_FILE} ${CHECKPOINT_FILE} ${SPLIT_CONFIG_FILE} [--device ${GPU_ID}] [--score-thr ${SCORE_THR}]
python demo/huge_image_demo.py demo/dota_demo.jpg configs/obb/oriented_rcnn/faster_rcnn_orpn_r101_fpn_3x_hrsc.py ckpt/faster_rcnn_orpn_r101_fpn_3x_hrsce_poch36.pth BboxToolkit/tools/split_configs/dota1_0/ss_test.json
OBBDetection/BboxToolkit/tools/vis_configs/hrsc/config.json
这里我们还需要下载他之前训练的模型进行测试,因为我们没训练过。 模型的地址在https://github.com/jbwang1997/OBBDetection/tree/master/configs/obb 比如我要找oriented r cnn, 这些就是他训练好的模型,我们选择对应的进行下载就行,百度云、谷歌云都有,百度云的提取码就是key:后边的字符。我们以hrsc2016为测试,下载这两个模型。 我不确定他的hrsc里边缺不缺东西, 也下载一个r101-fpn ms rr 的模型key:o1r6试试,作为对比。 反正运行hrsc的失败了,可鞥
python demo/huge_image_demo.py demo/100000010.bmp configs/obb/oriented_rcnn/faster_rcnn_orpn_r50_fpn_1x_dota10.py ckpt/faster_rcnn_orpn_r50_fpn_3x_hrsc_epoch36.pth BboxToolkit/tools/vis_configs/hrsc/config.json
运行的dota的,他没有保存图像文件的代码。我的Linux看不了。调了半小时,找到了mmdet/apis/inference.py,第142行左右加入
cv2.imwrite("xxxx320.jpg", img)
到时候的文件就保存到运行代码的那一层目录里边。 我用的dota的程序测试的hrsc2016的图片,识别堪忧哈哈。(我截的图,窗口啥的识别成船了哈哈哈。今天的调试就到这里,2022年3月30日14点41分,午安。
|