Ubuntu18.04配置detectron环境步骤(全网最详细)
基于崭新的ubuntu18.04系统上进行的一系列操作步骤如下:
配置显卡驱动
参考
推荐使用手动安装,之前通过ppa安装出现了某些问题导致安装后nvidia-smi没有反应,所以后来手动安装的成功了。
首先打开nvidia显卡驱动根据自己的型号选择下载。
下载完成后进行如下步骤:
- 查看是否禁用nouveau驱动,若没有输出则为禁用,否则手动禁用
lsmod | grep nouveau
禁用nouveau步骤
- 创建/etc/modprobe.d/blacklist-nouveau.conf文件,你可以通过如下命令:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
- 填入以下内容:
blacklist nouveau
options nouveau modeset=0
- 更新
sudo update-initramfs -u
- 重启电脑
reboot
- 卸载原有驱动
sudo apt-get remove --purge nvidia*
- 安装
关闭图形化用户界面(可以通过sudo service lightdm start 恢复或者ctrl+alt+f7)
sudo service lightdm stop
进入存放驱动的目录下,给驱动赋予权限(将.run之前的改为自己的驱动)
sudo chmod +x NVIDIA-Linux-********.run
开始安装(同样改名字)
sudo ./NVIDIA-Linux-x86_64-390.67.run -no-opengl-files
恢复图形界面查看是否成功
sudo service lightdm start
nvidia-smi
如果如下显示则成功
注意事项(提示安装失败别方)
- The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
- Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No 继续。
- Nvidia’s 32-bit compatibility libraries? 选择 No 继续。
- Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续
配置cuda和cudnn
cuda选择自己机器支持的版本可以参考
本机器显卡是1070的所以装的是9.1版本的cuda以及支持cuda9.1的cudnn
参考
注意:ubuntu18.04默认gcc版本是7.3的但是cuda9.1最高支持不超过6所以在安装CUDA之前需要先对gcc降级
- 查看gcc版本
gcc --version
- 不符合则手动降级
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
装完后进入到/usr/bin目录下然后运行以下命令
cd /usr/bin
$ls -l gcc*
会显示以下结果,可以看到gcc链接到了gcc-7
lrwxrwxrwx 1 root root 7th May 16 18:16 /usr/bin/gcc -> gcc-7.3
需要将其链接到刚安装的gcc4.8
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-4.8 gcc #重新链接
同理,对g++做相同的操作
查看g++发现也是链接到了7.3
ls -l g++*
lrwxrwxrwx 1 root root 7th May 15:17 g++ -> g+±7.3
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++
再看gcc和g++版本
gcc -v g++ -v
均显示gcc version 4.8 ,说明gcc 4.8安装成功。
- 安装cuda及其补丁
注意:打开nvidia-smi查看推荐安装的cuda是10.1但是这里安装的是9.1,在官网看的话cuda9.1没有ubuntu18.04的下载路径,类似于高版本必然支持低版本,所以这里根据16.04下载,结果发现完全兼容。
开始安装cuda和cudnn:
首先进入下载界面下载cuda官方下载地址
选择9.1版本
选择如下:
对应的有一下四个文件,需要全部下载,第一个是主文件,后3个相当于补丁。
下载完成后,安装cuda以及其补丁
输入命令安装Base Installer:
sudo sh cuda_9.1.85_387.26_linux.run
需要注意的是,之前已经安装过显卡驱动程序,故在提问是否安装显卡驱动时选择no,其他 选择默认路径或者yes即可。
然后,继续执行以下操作安装3个 patch :
sudo sh cuda_9.1.85.1_linux.run
sudo sh cuda_9.1.85.2_linux.run
sudo sh cuda_9.1.85.3_linux.run
安装完毕之后,将以下两条加入.bashrc文件中
sudo vim ~/.bashrc
export PATH=/usr/local/cuda-9.1/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:PATH}} #注意,根据自己的版本,修改cuda-9.2/9.0…
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64KaTeX parse error: Expected '}', got 'EOF' at end of input: …LIBRARY_PATH:+:{LD_LIBRARY_PATH}} #注意,根据自己的版本,修改cuda-9.2/9.0…
到这一步,cuda 就安装完成了,接下来进行cudnn的安装:
cuDNN 的安装,就是将 cuDNN 包内的文件,拷贝到cuda文件夹中即可。
选择如下版本cuDNN v7.0.5 library for liunx下载完毕后,切到默认的Downloads文件夹,可以看到 cudnn-9.1-linux-x64-v7.tgz 压缩包
先解压,然后将其中的内容复制到CUDA安装文件夹里面.
cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
执行cp后防止出错需要更新一下软链接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7
sudo ln -s libcudnn.so.7 libcudnn.so
至此,cuda和cudnn安装成功。
配置jdk(推荐使用安装包)
- 首先去下载jdk安装包 ******.gz
- 创建一个目录用于存放解压后的文件,并解压缩到该目录下
sudo mkdir /usr/lib/jvm
sudo tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/lib/jvm
- 修改环境变量
sudo vim ~/.bashrc
- 在文件末尾追加如下内容
#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_181 ## 这里要注意目录要换成自己解压的jdk 目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
- 使环境变量生效
source ~/.bashrc
- 设置默认jdk
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_181/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_181/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_181/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.8.0_181/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.8.0_181/bin/javap 300
- 执行
sudo update-alternatives --config java
- 测试是否安装成功
java -version
javac -version
配置opencv
首先检查python版本,确保python版本是到3.*
若是2.*版本则手动切换到3具体如下:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
检查是否成功则打开终端输入python查看结果即可
安装opencv推荐sudo pip install opencv-python
查看是否安装成功则打开终端输入python引用cv2这个包不报错则为成功
python
import cv2
配置caffe2
这里根据官网的步骤就可以
caffe2官网安装步骤
推荐从源码编译
选择如下接下来就是安装依赖包
可能会提示pip升级之类的问题,升级即可。
pip install 太慢的话可以加入临时镜像例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple *****(*为要安装的)
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
git \
libgoogle-glog-dev \
libgtest-dev \
libiomp-dev \
libleveldb-dev \
liblmdb-dev \
libopencv-dev \
libopenmpi-dev \
libsnappy-dev \
libprotobuf-dev \
openmpi-bin \
openmpi-doc \
protobuf-compiler \
python-dev \
python-pip
pip install --user \
future \
numpy \
protobuf \
typing \
hypothesis
sudo apt-get install -y --no-install-recommends \
libgflags-dev \
cmake
这里install可能会出现问题,按提示操作就行,或者一个包一个包手动安装就可以
这里不用考虑官网中GPU相关操作,因为在之前已经操作过了
接下来就是从git中安装pytorch
git clone https://github.com/pytorch/pytorch.git && cd pytorch
git submodule update --init --recursive
python setup.py install
完成上述步骤后可以检测是否成功安好Caffe2
cd ~ && python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
如果输出Success则成功
接下来检测是否gpu是否成功支持
python caffe2/python/operator_test/activation_ops_test.py
这里一定会有输出不管是失败还是成功,只要有输出就可以(不是Error)
配置cocoAPI
API 的作用就是为了提取标注文件中的信息, 使其分别用于各自的场景
为了更好的使用数据集, COCO 对数据集的标注信息做了统一管理
cocoAPI的配置十分简单
git clone https://github.com/cocodataset/cocoapi.git #默认放在/home下
cd cocoapi/PythonAPI
make install
python setup.py install --user
配置detectron
git clone https://github.com/facebookresearch/detectron #默认放在/Home下
pip install -r $DETECTRON/requirements.txt
cd detectron && make
测试是否成功
python detectron/detectron/tests/test_spatial_narrow_as_op.py
到这里detectron所需要的环境全部搭建完成~~感谢观看