Google Colaboratory是谷歌开放的一款研究工具,主要用于机器学习的开发和研究。它给广大的AI开发者提供了免费的GPU使用,可以在上面跑tensorflow等框架。
mmdetection集成了多种目标检测算法,它的git地址,环境要求在官方文档中。我在Google Colaboratory上搭建环境的时候遇到了问题,记录如下。
OS: Ubuntu18.04
CUDA:10.0
NCCL: 1.3.5
GCC(G++): 5.5
!wget -q https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
!chmod +x Anaconda3-2019.10-Linux-x86_64.sh
!bash ./Anaconda3-2019.10-Linux-x86_64.sh -b -f -p /content/anaconda3
# set PATH environment variable
import os
os.environ['PATH'] = "/content/anaconda3/bin:" + os.environ['PATH']
由于系统自带的gcc是为7.4.0,需要替换成5.5版本
!apt-get install gcc-5 g++-5
!cd /usr/bin && sudo rm gcc-7 g++-7 gcc g++ && sudo ln gcc-5 gcc && sudo ln g++-5 g++
!conda install cython
!conda install pytorch=1.3.1 torchvision cudatoolkit=10.0 nccl -c pytorch
!gcc --version
!g++ --version
!nvcc --version
!conda --version
!git clone https://github.com/open-mmlab/mmdetection.git
!cd mmdetection && pip install -r requirements/build.txt && pip install "git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI" && python setup.py develop
1.下载模型文件
!cd mmdetection && mkdir checkpoints && cd checkpoints && wget https://s3.ap-northeast-2.amazonaws.com/open-mmlab/mmdetection/models/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth
2.运行
代码中提供了webcam_demo,由于使用的是Colaboratory,没有摄像头,将result保存成图片,重写demo如下
import argparse
import cv2
import torch
from mmdet.apis import inference_detector, init_detector, show_result, show_result_pyplot
def parse_args():
parser = argparse.ArgumentParser(description='MMDetection webcam demo')
parser.add_argument('--config', default='../mmdetection/configs/faster_rcnn_r50_fpn_1x.py', help='test config file path')
parser.add_argument('--checkpoint', default='../mmdetection/checkpoints/faster_rcnn_r50_fpn_1x_20181010-3d1b3351.pth',
help='checkpoint file')
parser.add_argument('--device', type=int, default=0, help='CUDA device id')
parser.add_argument(
'--camera-id', type=int, default=0, help='camera device id')
parser.add_argument(
'--score-thr', type=float, default=0.5, help='bbox score threshold')
args = parser.parse_args()
return args
args = parse_args()
model = init_detector(
args.config, args.checkpoint, device=torch.device('cuda', args.device))
img = '../mmdetection/demo/demo.jpg'
show_img = inference_detector(model, img)
show_result(img, show_img, model.CLASSES, score_thr=args.score_thr, show=False, out_file='test.jpg')
执行命令
!cd mmdetection && python demo/demo.py
报错如下:
ModuleNotFoundError: No module named 'cityscapesscripts'
安装cityscapesscripts
pip install cityscapesscripts
重新运行demo,成功结果如下
更改图片,再次运行
用谷歌的GPU跑你的代码----Colaboratory使用记录
ubuntu18.04下安装mmdetection 及问题解决
关于ubuntu下mmdetection的安装步骤和心得