Ubuntu18.04配置detectron环境步骤(亲测有效,少走十公里弯路)

基于崭新的ubuntu18.04系统上进行的一系列操作步骤如下:

配置显卡驱动

参考
推荐使用手动安装,之前通过ppa安装出现了某些问题导致安装后nvidia-smi没有反应,所以后来手动安装的成功了。
首先打开nvidia显卡驱动根据自己的型号选择下载。
下载完成后进行如下步骤:

  1. 查看是否禁用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
  1. 卸载原有驱动
    sudo apt-get remove --purge nvidia*
  2. 安装
    关闭图形化用户界面(可以通过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降级

  1. 查看gcc版本
    gcc --version
  2. 不符合则手动降级
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安装成功。

  1. 安装cuda及其补丁

注意:打开nvidia-smi查看推荐安装的cuda是10.1但是这里安装的是9.1,在官网看的话cuda9.1没有ubuntu18.04的下载路径,类似于高版本必然支持低版本,所以这里根据16.04下载,结果发现完全兼容。

开始安装cuda和cudnn:
首先进入下载界面下载cuda官方下载地址
song选择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官方下载地址

选择如下版本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下载地址

  1. 首先去下载jdk安装包 ******.gz
  2. 创建一个目录用于存放解压后的文件,并解压缩到该目录下
sudo mkdir /usr/lib/jvm
sudo tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/lib/jvm
  1. 修改环境变量
sudo vim ~/.bashrc
  1. 在文件末尾追加如下内容
#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 

  1. 使环境变量生效
source ~/.bashrc
  1. 设置默认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
  1. 执行
sudo update-alternatives --config java
  1. 测试是否安装成功
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所需要的环境全部搭建完成~~感谢观看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值