前言
不多废话,直接按操作走,别整错了。 建立环境:Ubuntu18.04服务器 + 能跑深度学习的N卡。 注:由于外链过多原因无法被推荐,大家尽量自行百度……
第一步:安装conda
可选项
根据需要,自行选择 Anaconda3 / Miniconda3 。
conda安装流程(以miniconda为例)
Linux系统(以Ubuntu为例)
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod 777 Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh
Windows系统/SSH操作
- 安装Xftp7(或其他远程传输软件)
- 连接到远程Linux服务器
- 下载最新版本miniconda3
- 将文件拖动到服务器合适的文件夹中(请自行选择路径)
- 安装MobaXterm或其他SSH远程连接软件
- MobaXterm连接到远程Linux服务器(自行百度)
- cd到4中自行选择的路径,以
/conda 为例
chmod 777 Miniconda3-latest-Linux-x86_64.sh
cd /conda
sh Miniconda3-latest-Linux-x86_64.sh
如无疑问,从现在起,均使用终端语言进行操作。
检查conda安装情况
conda -V
若出现conda 4.x.0
表明安装成功
第二步:安装nvidia驱动
可用nvidia-smi查看。
一般来说都有,没有的话请自行百度或咨询老师、同学、同事……
第三步:安装CUDA和cudnn
强烈建议:选择CUDA10.2+pytorch1.9.0 也可以选择其他版本,但以上版本实测完美通过
如果之前存在另外的CUDA版本
找到cuda目录,卸载: cuda目录以/usr/local/cuda-10.0 为例:
/usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl
rm -rf /usr/local/cuda-10.0/
安装CUDA←
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sh cuda_10.2.89_440.33.01_linux.run
此时如无错误,应该进入了安装界面。安装界面是命令行人机交互页面,如下所示: accept之后,到如下界面,用Enter键筛选如下(其他有必要再安装)。 注1:Done为返回上一级。Install为开始安装。 注2:Options->Toolkits Options->Change Toolkit Install Path中选择合适的安装路径,此处仅截图为例。 安装完成后会显示类似successful的提示(此处就不再重复安装了,故不出示图例)。之后开始配置环境:
vim ~/.bashrc
通过vim操作加入如下三句。(别说vim也不会!!)
export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}
最后激活重载环境配置。
source ~/.bashrc
安装cudnn←
cudnn通过windows下载+ftp文件传输是最简单、快捷、方便的。(所以此处不用纯命令行安装方式) 安装cudnn需要登录自己的Nvidia账号,没有就注册一个吧。登录过程比较麻烦,需要多点耐心。出现下图的话可以按暂不 跳过。 根据红箭头指示点击下载。 同样按照conda安装 中SSH操作的步骤,将下载好的tar.xz文件放到合适的解压路径。 接下来运行解压命令:
tar -xvf cudnn-linux-x86_64-8.3.2.44_cuda10.2-archive.tar.xz
解压完成后,输入ls,应该会发现同名文件夹:
cp /*cudnn安装路径*/lib/* /*cuda安装路径*/lib64/
cp /*cudnn安装路径*/include/* /*cuda安装路径*/include/
别着急,我们待会再检查CUDA、cudnn是否安装成功。
第四步:安装MMDetection
首先激活环境,并安装pytorch:
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=10.2 -c pytorch
这个时候,我们来检查一下torch、CUDA、cudnn的安装情况:
python
import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
若结果如上图所示,那么没有问题,继续。
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.9.0/index.html
pip install mmdet
这里当然可以按照MMDetection的步骤走git clone,但是对于服务器无法翻墙的同学们来说,最好用pip自动安装方式。
终于快结束了!继续冲!!!
第五步:运行你的第一个mmdet程序
准备mmdetection文件夹
github搜索mmdetection,download zip(win)/git clone(linux)然后解压放到特定位置什么的不用我多说了好吗?假设这是路径A。
辛苦了那么久,终于可以测试了
创建一个py 文件,命名为mmdet_test.py 。然后,直接上代码: 请先下载faster rcnn pth模型放置到文件夹中,记住路径,假设这是路径B。
from mmdet.apis import init_detector, inference_detector
import cv2
def show_result_pyplot(model, img, result, score_thr=0.5):
"""Visualize the detection results on the image.
Args:
model (nn.Module): The loaded detector.
img (str or np.ndarray): Image filename or loaded image.
result (tuple[list] or list): The detection result, can be either
(bbox, segm) or just bbox.
score_thr (float): The threshold to visualize the bboxes and masks.
fig_size (tuple): Figure size of the pyplot figure.
"""
if hasattr(model, 'module'):
model = model.module
img = model.show_result(img, result, score_thr=score_thr, show=False)
return img
config_file =
checkpoint_file =
device = 'cuda:0'
model = init_detector(config_file, checkpoint_file, device=device)
img_path =
result = inference_detector(model, img_path)
det_img = show_result_pyplot(model, img_path, result, score_thr=0.8)
out_file =
cv2.imwrite(out_file, det_img)
此处我给出一张图片:
如果你能得到这个结果: 结束辣!恭喜你达成成就:「我也是会一点目标检测的人了」。
结语
这环境搞了我两三天,心态都差点崩了,当时也没有及时记录,可能有一些会报错的地方没有写上来,看看有没有热心观众提问吧,当然最好是没有人提问,这证明教程完美通过哈哈~ 写于2022.03.22
|