Ubuntu18.04 CUDA9.0 Caffe1.0 Tensorflow12.0 MXNet Digits6.1 python多版本配置

目录

1. Ubuntu18.04系统安装

gcc7+gcc6共存配置

python3+python2共存配置

2. CUDA9.0安装

3. 深度学习平台安装:Caffe、Tensorflow、MXNet

3.1 caffe安装:

caffe的python2和python3版本共存

3.2 Tensorflow安装:

3.3 MXNet安装:

3.4 Nvidia Digits 安装(只能在pyhton2.7下使用):

创建virtualenv隔离环境


1. Ubuntu18.04系统安装

1)插入安装介质,光标移动到Install Ubuntu,按e键,在splash后添加nomodeset,按F10启动安装。
2)进入ubuntu,先打开system setting–software&update指定更新源为china-清华源。
3)修改grub:sudo gedit /etc/default/grub
找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
修改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
更新GRUB:sudo update-grub
4)在system-setting面板的language里点设置,自动安装iBus,注销后就可以添加Chinese-->pinyin输入法:
5) 显卡驱动:从nvidia官网下载推荐驱动的.runfile文件安装,1080Ti目前是390.87,
显卡驱动的安装依赖gcc-7和make:

sudo apt install gcc make

然后关闭图形界面-->安装驱动-->回到图形界面:

sudo init 3
sudo sh NVIDIA-Linux-x86_64-390.87.run
sudo init 5

gcc7+gcc6共存配置

为系统安装gcc-6,并使用 update-alternatives工具设置gcc的快捷切换选项:

sudo apt install gcc-6 g++-6

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7

sudo update-alternatives --config gcc

python3+python2共存配置

ubuntu18系统中自带python3,再通过apt安装python2,然后通过和上面配置gcc相同的方式,使用 update-alternatives工具设置python的快捷切换选项:

sudo apt install python2.7

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 30 --slave /usr/local/bin/pip pip /usr/local/bin/pip3

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 20 --slave /usr/local/bin/pip pip /usr/local/bin/pip2

sudo update-alternatives --config python 

为两个python版本都安装pip,并检测/usr/local/bin/下的pip,pip2,pip3文件头分别是:

#!/usr/bin/python
#!/usr/bin/python2
#!/usr/bin/python3

这样pip就自动对应update-alternatives中当前选中的python版本,pip2和pip3分别对应python2和python3

最后记得给pip换国内源:创建文件 ~/.pip/pip.conf 并写入:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

[install]
trusted-host=pypi.tuna.tsinghua.edu.cn

安装jupyter-notebook:

sudo apt install jupyter-notebook

给jupyter添加python2 kernel:

sudo pip2 install ipython==5.8.0
sudo pip2 install ipykernel==4.10.0
sudo python2 -m ipykernel install --name python2

2. CUDA9.0安装

根据TensorFlow官网的提示,安装CUDA=9.0,Cudnn>=7.2(选择9.0配套的最新版本即可)
安装cuda前需将系统的默认gcc版本切换到6,并且最后可能会提示有一些依赖库缺失,用sudo apt install安装那些库即可:

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev 

如果编译sample时仍出现缺少-lGL:

locate libGL.so
# 拷贝相关so的位置,建立软链接:
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/libGL.so

然后运行cuda**.run安装文件...

为方便所有用户使用,这里在/etc/profile文件中将cuda9.0目录地址加入系统path, 随系统启动生效

# CUDA
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

/usr/local/cuda是/usr/local/cuda-9.0的软链接地址,如果以后需要切换使用其他版本的cuda,只需将/usr/local/cuda指向其他cuda目录即可。

3. 深度学习平台安装:Caffe、Tensorflow、MXNet

3.1 caffe安装:

建议用caffe1.0源码编译,使用编译而不推荐直接通过官网描述的apt安装caffe的原因是为了和tensorflow共存。apt安装会在/usr/lib下自动安装cuda的9.1版本,而最新的tensorflow12只支持cuda9.0,而且apt安装的9.1的很多文件还很难卸干净,所以还是不要轻易尝试为好。

过程也很简单,参考官网安装依赖库:

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler 

sudo apt-get install --no-install-recommends libboost-all-dev 

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install libatlas-base-dev

sudp apt-get install cmake

修改一下cmakelist.txt中的python version为 2或3,如果是多GPU的话的use NCCL改为on, 再进入python目录下打开requirements.txt,修改其中的两行:

python-dateutil>=1.4,<2 改为 python-dateutil>=1.4
matplotlib>=1.3.1 改为 matplotlib>=1.3.1,<=2.2.3(此行仅对于python2修改,采用python3编译则无需修改)

然后安装python依赖项

sudo pip2 install -r requirements.txt
或
sudo pip3 install -r requirements.txt

然后就可以参考官网的说明编译:

mkdir build
cd build
cmake ..
make all -j6
make install
make runtest

caffe的python2和python3版本共存

如果想python2和python3都需要用caffe的话,就切换cmakelist.txt中的python version分别编译两次,每次将build下生成的install文件夹拷贝至/usr/local/下并分别命名为caffe-1.0-py2或caffe-1.0-py3,像这样:

用 update-alternatives工具设置caffe的快捷切换选项(生成动态切换的软链接/usr/local/caffe):

sudo update-alternatives --install /usr/local/caffe caffe /usr/local/caffe-1.0-py3/ 30
sudo update-alternatives --install /usr/local/caffe caffe /usr/local/caffe-1.0-py2/ 20

sudo update-alternatives --config caffe

同时配置系统环境变量(sudo gedit /etc/profile)(也可以配置到用户环境变量中 gedit ~/.bashrc

# caffe
export PATH="$PATH:/usr/local/caffe/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/caffe/lib"

最后一步就是把caffe-1.0-py2和caffe-1.0-py3下的python目录下的内容分别拷贝至/usr/local/lib/python2.7/dist-packages/和/usr/local/lib/python3.6/dist-packages/下。

需要在不同python下切换使用caffe时,通过 sudo update-alternatives --config caffe 命令切换即可。

3.2 Tensorflow安装:

 若在普通用户下安装则使用--user 参数,无需sudo

pip3 install --upgrade tensorflow-gpu
或
pip2 install --upgrade tensorflow-gpu

3.3 MXNet安装:

http://mxnet.incubator.apache.org/

pip3 install mxnet-cu90mkl
或
pip2 install mxnet-cu90mkl

3.4 Nvidia Digits安装 (只能在pyhton2.7下使用):

需要安装必要的依赖项:

sudo apt-get install --no-install-recommends git graphviz python-tk

创建virtualenv隔离环境

建议digits安装在普通用户个人目录下,并且为digits安装python环境前先用pip安装virtualenv+virtualenvwrapper,配置隔离环境,因为requirements.txt定义了不少低版本的包,

pip install --user virtualenv
pip install --user virtualenvwrapper

然后在用户home下新建一个.virtualenv目录,在~/.bashrc下添加如下(~/.local/bin/virtualenvwrapper.sh是用--user安装时该脚本的位置,若使用sudo pip则该文件在/usr/local/bin下):

#virtualenv
if [ `id -u` != '0' ]; then
  export VIRTUALENV_USE_DISTRIBUTE=1        # <-- Always use pip/distribute
  export WORKON_HOME=~/.virtualenvs       # <-- Where all virtualenvs will be stored
  source ~/.local/bin/virtualenvwrapper.sh
  export PIP_VIRTUALENV_BASE=$WORKON_HOME
  export PIP_RESPECT_VIRTUALENV=true
fi

创建隔离python环境,指定python2(或python2.7),指定--system-site-packages允许使用系统pip库(这样才能调用caffe和tensorflow),最后的digits是该环境的名字,可以随便起:

mkvirtualenv -p python2 --system-site-packages digits

workon digits

然后在digits隔离环境下安装DIGITS-6.1的相应依赖包:https://github.com/NVIDIA/DIGITS/blob/digits-6.0/docs/BuildDigits.md

进入digits-6.1目录直接运行digits-devserver会报缺包,需安装requirements.txt中的python环境,注意该文件内有以下几个包的版本参数需要修改为:

Pillow==4.3.0
numpy
protobuf==3.6.1
matplotlib==2.0.0

原因是Digits-6.1的requirements.txt中标注的这几个包版本过低,低于tensorflow12要求的最低版本,而按最新版本安装当然Digits也不支持,修改为tensorflow12接受的最低版测试可以。

pip install -r ./requirements.txt

./digits-devserver

手把手教你用英伟达 DIGITS 解决图像分类问题

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值