pytorch 0.4.1 docker地址:
https://hub.docker.com/r/linkoffate/torchen
https://hub.docker.com/r/airaria/pytorch0.4.1
直接上干貨,CUDA9.0版本對應的pytorch是0.4.1,使用其他版本pytorch不支持,一定要安裝0.4.1版本,github上的mmdetection安裝對應CUDA9.0的在branch0.4.1里,但是注意!!!!!!!!!!github上不知道為什么,pytorch0.4.1分支里的少一些文件我安裝了好幾次進到提示少deform_conv_cuda等文件,又對比主分支才發現少了很多文件.
解決辦法:
1.git項目(不在github上)
git clone https://gitee.com/mirrors/mmdetection.git
2.切換到pytorch-0.4.1分支(針對CUDA9.0用戶)
cd mmdetection
git checkout pytorch-0.4.1
3.安裝
3.1創建虛擬環境(需要python3.5+)
conda create -n python3.5 python=3.5.4
conda activate python3.5
3.2安裝依賴庫(兩種安裝方式二選一)
conda install pytorch=0.4.1 -c pytorch #pip install pytorch=0.4.1 -c pytorch
conda install cython #pip install cython
cd mmdetection#如果已經在此目錄不需要此條命令
./compile.sh
3.3安裝mmcv
git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
pip install .
4.安裝mmdet
cd mmdetection#如果已經在此目錄不需要此條命令
python setup.py install #pip install .
測試代碼
預訓練模型需要自己下載
-
import mmcv
-
from mmcv.runner import load_checkpoint
-
from mmdet.models import build_detector
-
from mmdet.apis import inference_detector, show_result
-
-
cfg = mmcv.Config.fromfile( '/home/stardust/mmdetection/configs/faster_rcnn_r50_fpn_1x.py')
-
cfg.model.pretrained = None
-
-
# 構建網絡,載入模型
-
model = build_detector(cfg.model, test_cfg=cfg.test_cfg)
-
-
# _ = load_checkpoint(model, 'https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth')
-
# 如果通過網盤下載,取消下一行代碼的注釋,並且注釋掉上一行
-
_ = load_checkpoint(model, 'model/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth')
-
-
# 測試一張圖片
-
img = mmcv.imread( 'test.jpg')
-
result = inference_detector(model, img, cfg)
-
show_result(img, result)
-
-
# 測試多張圖片
-
# imgs = ['test1.jpg', 'test2.jpg']
-
# for i, result in enumerate(inference_detector(model, imgs, cfg, device='cuda:0')):
-
# print(i, imgs[i])
-
# show_result(imgs[i], result)