detectron2 linux 安装记录
- 记录一下安装 Detectron2 ,即FAIR开源的目标检测算法实现。
- 首先这个库在 Linux 下是比较好安装的,之后看看能不能成功在 WIN10 上。
- 这个问题其实一开始就得考虑好,因为我使用的是实验室设备,用的docker contianer环境,内部有anaconda3环境,里面的 pyyaml 包,它的版本是3.12,然后detectron2需要pyyaml包的版本在 5.1 以上,我不论是用 pip uninstall pyyaml还是
conda uninstall pyyaml都不行,显示错误,ERROR: Cannot uninstall ‘PyYAML’. It is a distutils installed project and thus we cannot accurately。
- 无奈之下,只能自己重新建个docker images了(重新配置环境,因为之前的环境是别的同学配置好的,我就没管了)。首先查看自己ubuntu的版本,cat /etc/issue 命令,去DockerHub下载对应的镜像,通过docker pull 命令。
- 无奈,不是sudo用户,实验室的共用机子,所以我直接用现成的nvidia/cuda镜像。
- 安装anaconda3,比较方便管理各种包,Linux下的安装过程,可以参考链接 link(Linux下安装Anaconda3详细教程),注意环境变量的配置。
- 如果要更新apt-get update还有一些坑,(因为我们需要apt-get install vim才能改环境变量,在container里没有下载的话),可以自行百度或者必应。
- 都弄好了,需要安装相关依赖包,比如前面的大坑,pyyaml一定要更新到5.1以上,不管是通过conda还是pip,(首先检查这个是不是5.1,如果不是,后面的工作就白费了,不然我也不可能这么辛苦又弄个images)然后pytorch和cuda版本对应(注意:要装1.5.0版本,不然会报奇奇怪怪的错误)。
- 然后编译detectron2,参考 link (Detectron2安装测试) 注意:一定要在.bashrc环境变量加上下面四句话:
#vim ~/.bashrc
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/lib
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
之后source ~/.bashrc, 不然会报Kernel not compiled with GPU support错误。最后删除其中的bulid文件夹,再重新编译一次的detectron2,就可以用了。
- 展示一下运行实例:
- 用的是timg.jpg这张图,原图和实例分割后的图分别是下面这样:
可以看到效果还是不错的。