实验室服务器是Ubuntu18.04的。最后实现的配置即:Ubuntu18.04+Anaconda3-2021.05+python3.7.0+CUDA10.1+CUDNNv7.6.5+mmdet2.24.1+mmcv-full1.5.0+pytorch1.6.0
目录
一、安装anaconda
conda换下载源:
conda相关命令:
二、Pytorch安装
2.1 cuda卸载和安装
卸载CUDA
安装CUDA10.1
添加CUDA环境变量
2.2 CuDnn下载
2.3 环境创建并且安装Pytorch
三、MMdetection下载
①、安装mmcv-full
②、安装mmdetection
测试
参考Ubuntu18.04——安装Anaconda和python3.6.9版本的pytorch-gpu_Irving.Gao的博客-CSDN博客_ubuntu18.04安装python3.6
注意:安装anaconda的对应python版本不影响我们在使用过程中创建其他python版本的环境,如我下载的是:python3.8版本的conda,那我在使用过程中依然可以通过指定python3.6版本的方式创建环境,conda会自动下载python3.6版本的所有基本包.
所有版本官网下载地址
python和conda对应版本查询文档
这里我的选择是
Anaconda3-2021.05-Linux-x86_64.sh 544.4M 2021-05-13 22:08:47 25e3ebae8905450ddac0f5c93f89c467
其实感觉差别不大,毕竟只是个创建虚拟环境的工具
下载完然后进入所在目录
输入
bash Anaconda3-2021.05-Linux-x86_64.sh
开始安装,全程需要狂按回车和输入yes
确认完安装目录后,安装就完成了,中间可能需要等会,但是不会报错。
这里更新环境变量后
source ~/.bashrc
输入conda相关的仍然提示没有相关命令,因此我们还需要手动添加环境变量
打开用户配置文件:
sudo vim ~/.bashrc
Vim 按i进入编辑模式
再最下面加上:
export PATH=~/anaconda3/bin:$PATH
然后按Esc后按Shift+zz 保存并关闭
保存关闭后source文件使配置生效:
source ~/.bashrc
测试:
测试方法有很多,比如输入conda --version、conda info --envs都会显示相关信息。这里也可以直接输入
python
可以看到有anaconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
在加入国内清华镜像源的情况下,把默认源删了!
注:好像除了清华源,其他豆瓣啥的都不支持conda镜像了。
具体删的办法就是先进入.condarc文件(里面都是conda的源配置)
vim ~/.condarc
用vim打开,然后按i进入编辑 把-default删了然后ESC然后shift+zz保存。
有用的一些命令
创建环境
conda create -n [name] python=[version]
激活环境
conda activate [name]
关闭环境(关闭激活 不是删除)
conda deactivate
关于包的操作
# 查看已安装的package
conda list
# 安装某个package
conda install [package]
# 删除某个package
conda remove [package]
# 更新某个package
conda update [package]
# 更新conda,保持conda最新
conda update conda
删除环境
conda remove -n [name] --all
因为mmdetection是基于pytorch的库,所以先安装下pytorch,如果直接用mmdetection里的requirement会自动安装最新版本,可能导致一些版本之间的不兼容问题。所以还是手动选择对应的cuda-cudnn-pytorch-mmdetection相关依赖库。
实验室服务器显卡是Tesla V100-PCIE-32GB。默认安装的cuda是10.0版本。
输入命令
nvidia-smi
显示CUDA Version:10.1
说明最高能支持的cuda版本是10.1,那么我还是安装10.1吧,也利于pytorch和mmdetection的兼容。
因此先进行cuda的卸载(没有所谓的从10.0-10.1升级的办法)
服务器里自带的cuda10.0/bin里面没有卸载文件。因此手动卸载吧。
# 用 package manager 方式安装的删除方法:
sudo apt-get --purge remove cuda-8.0
sudo apt autoremove
sudo apt-get autoclean
# cudnn文件和samples残留在 /usr/local/cuda-8.0/,删除
sudo rm -rf /usr/local/cuda-8.0/
安装过程不同版本的也可以参考我的过程
首先进入官网CUDA10.1下载地址
选择以往版本,然后选择
下载完后依次输入
#赋予权限 文件名自行修改
chmod +x cuda_10.1.130_410.48_linux.run
#执行安装包
./cuda_10.1.130_410.48_linux.run
中间输入accept
然后取消显卡驱动的安装(因为已经有了,如果不取消会报错)
安装完成后测试!
cat /usr/local/cuda-10.1/version.txt
nvcc -V
打开用户配置文件:
sudo vim ~/.bashrc
Vim 按i进入编辑模式
再最下面加上几行:
export PATH="/usr/local/cuda-10.1/bin:$PATH"
export LD_LIBRARY_PATH="/usr/lcoal/cuda-10.1/lib64:$LD_LIBRARY_PATH"
然后按Esc后按Shift+zz 保存并关闭
保存关闭后source文件使配置生效:
source ~/.bashrc
CUDNN下载
这里选择
这里用conda创建一个python3.7版本的虚拟环境,指令参考上面的。
然后安装Pytorch
注意官网给的命令比如
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch
后面的 -c pytorch表示从原镜像中去下载,因此要去掉,不然下载很慢。
前面的准备工作完成了,MMdetection的下载就很简单了。仔细看get_started.md文件就好了。
注意这里用
mim install mmdet
会报错
因此手动安装吧。
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements/build.txt
pip install -v -e . # or "python setup.py develop"
中间会卡住一次,挂了一晚上第二天早上没报错,成功了。
然后按照验证进行测试。
首先输入
pip list
查看下相关依赖库包括mmdet有没有正常安装
然后根据get_started的验证部分进行验证。
注意这里需要手动下载checkpoint,下载地址为(以readme文件夹model_zoo里的最新网站为准)
http://download.openmmlab.com/mmdetection/v2.0/faster_rcnn/faster_rcnn_r50_fpn_1x_coco/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth
其次需要在mmdetection文件夹里自己新建一个文件夹checkpoints(就跟configs同级的目录)
然后把下载的faster_rcnn的checkpoint放进去。正确运行的话就不会报错,但是只会出现计算的数学结果。
这里还是推荐运行demo/image_demo.py来对文件进行具体操作
具体命令为
python demo/image_demo.py demo/demo.jpg configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth
输入的时候有个小技巧,可以按Tab键进行智能补齐,正确允许后会出现检测后的图片
至此,MMdetection的下载大功告成!
如果安装中遇到问题欢迎跟我交流,如果表述有错误恳请斧正!