Ubuntu18.04下搭建深度学习环境(tensorflow CPU GPU、Keras、Pytorch、Pycharm、Jupyter)

网上关于Ubuntu16.04及14.04安装cuda、cudnn等的教程较多,Ubuntu18.04的介绍很少。本文主要介绍Ubuntu18.04下如何安装英伟达驱动以及cuda、cudnn和Anaconda等编程环境。

博主硬件为ThinkPadT450(GeForce 940M显卡),双固态硬盘双系统(Ubuntu和Windows10),具体怎么安装百度教程很多,这里就不做介绍了。

step .1:首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型。执行命令:

 

 
$ ubuntu-drivers devices

让我们进入正题:

下载:cuda、cudnn、NVIDI
1.安装显卡驱动

    检查自己电脑的gpu是否CUDA-capable

    cyg@cyg-ThinkPad-T450:~$ lspci | grep -i nvidia
    04:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940M] (rev a2)

    禁用nouveau

    cyg@cyg-ThinkPad-T450:~$ lsmod | grep nouveau

如果有输出说明nouveau正在加载

打开禁用列表

    cyg@cyg-ThinkPad-T450:~$ sudo gedit /etc/modprobe.d/blacklist.conf

在打开文本的最后一行添加:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

执行以下命令来禁止内核中nouveau

    cyg@cyg-ThinkPad-T450:~$ sudo echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

更新,重启

    cyg@cyg-ThinkPad-T450:~$ sudo update-initramfs -u

    cyg@cyg-ThinkPad-T450:~$ sudo reboot

再次查看是否禁用nouveau

    cyg@cyg-ThinkPad-T450:~$ lsmod | grep nouveau

 以上步骤可能是Ubuntu18.04的非必要操作,如果是单显卡主机,禁用nouveau驱动重启后可能会导致无法进入Ubuntu图像界面,可以按Ctrl+Alt+F3,Ubuntu18.04好像是F3,16.04是F1进入文本编辑界面安装NVIDI显卡驱动,可以参考这篇文章进行相应的设置。

实际上,博主在执行完以上步骤后,并没有重启电脑,直接执行以下操作,替换为英伟达驱动即完成了显卡的更新。

重点:

1.首先删除旧的NVIDIA驱动:

    cyg@cyg-ThinkPad-T450:~$ sudo apt-get purge nvidia-*

2.添加Graphic Drivers PPA

    cyg@cyg-ThinkPad-T450:~$ sudo add-apt-repository ppa:graphics-drivers/ppa

    cyg@cyg-ThinkPad-T450:~$ sudo apt-get update

3.寻找驱动版本

    cyg@cyg-ThinkPad-T450:~$ ubuntu-drivers devices

ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001BE1sv0000103Csd000084DBbc03sc00i00
vendor   : NVIDIA Corporation
model    : GP104M [GeForce GTX 1070 Mobile]
driver   : nvidia-driver-415 - third-party free recommended
driver   : nvidia-driver-410 - third-party free
driver   : nvidia-driver-390 - third-party free
driver   : nvidia-driver-396 - third-party free
driver   : xserver-xorg-video-nouveau - distro free builtin

gden@gden-dl:~$ sudo apt-get install nvidia-driver-415

安装了好多文件,并且比较慢。91 70%

sudo apt-get install nvidia-driver-415 --fix-missing 未下载完 继续进行。

 

 

4.安装好 最新的驱动

    cyg@cyg-ThinkPad-T450:~$ sudo apt-get install nvidia-396

5.重启

    cyg@cyg-ThinkPad-T450:~$ sudo reboot

6.挂载nvidia驱动

    cyg@cyg-ThinkPad-T450:~$ nvidia modprobe nvidia

 7.查看驱动的安装状态

    cyg@cyg-ThinkPad-T450:~$ sudo nvidia-smi

 

8.打开nvidi驱动设置程序

    cyg@cyg-ThinkPad-T450:~$ sudo nvidia-settings

 

9.在终端输入命令,实时查看GPU的使用情况:

    cyg@cyg-ThinkPad-T450:~$watch -n 1 nvidia-smi

10.到Ubuntu18.04系统的“软件和更新” 选择相应的附加驱动
2.安装cuda、cudnn

博主尝试安装过9.1版和10.0版的cuda和cudnn,都没有成功。9.1版的可能是因为cudnn用的是9.0的导致没有编译成功。后来试用9.0版本编译成功,如果想要尝试9.0外的其他版本,可以参考链接

参考下载链接下载9.0版本的cuda和cudnn,博主下载的是16.04的本地运行文件runfile(local),需要下载一个运行程序和相应的补丁,所有文件如下:

cuda_9.0.176_384.81_linux.run

cuda_9.0.176.1_linux.run

cuda_9.0.176.2_linux.run

cuda_9.0.176.3_linux.run

cuda_9.0.176.4_linux.run

cudnn下载cudnn7.05 for 9.0,如果是9.1的cuda则需要选择for9.1的

 

 下载完所有文件就可以开始安装了,因为CUDA 9.0仅支持GCC 6.0及以下版本,Ubuntu18.04gcc,g++版本较高,所有先要替换成低版本的gcc,g++:

1.安装4.8版本

    cyg@cyg-ThinkPad-T450:~$ sudo apt-get install gcc-4.8

    cyg@cyg-ThinkPad-T450:~$ sudo apt-get install g++-4.8

2.cd到/usr/bin目录下,将它改为链接到gcc-4.8

    cyg@cyg-ThinkPad-T450:~$ ls -l gcc*

    cyg@cyg-ThinkPad-T450:~$ sudo mv gcc gcc.bak

    cyg@cyg-ThinkPad-T450:~$ sudo ln -s gcc-4.8 gcc

 对g++进行同样的操作

    cyg@cyg-ThinkPad-T450:~$ ls -l g++*
    cyg@cyg-ThinkPad-T450:~$ sudo mv g++ g++.bak
    cyg@cyg-ThinkPad-T450:~$ sudo ln -s g++-4.8 g++

查看版本:

    cyg@cyg-ThinkPad-T450:~$ gcc --version
    cyg@cyg-ThinkPad-T450:~$ g++ --version

 3.安装cuda9.0

    cyg@cyg-ThinkPad-T450:~$ sudo sh cuda_9.0.176_384.81_linux.run

    cyg@cyg-ThinkPad-T450:~$ sudo cuda_9.0.176.1_linux.run

    cyg@cyg-ThinkPad-T450:~$ sudo cuda_9.0.176.2_linux.run

    cyg@cyg-ThinkPad-T450:~$ sudo cuda_9.0.176.3_linux.run

    cyg@cyg-ThinkPad-T450:~$ sudo cuda_9.0.176.4_linux.run

一直按回车键安装,碰到是否安装Driver可以选择否(因为之前已经安装),Samples也可以不安装

4.添加环境变量,修改配置

    cyg@cyg-ThinkPad-T450:~$ sudo gedit ~/.bashrc

export CUDA_HOME=/usr/local/cuda-9.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export  PATH=${CUDA_HOME}/bin:${PATH}

5.设置环境变量和动态链接库,在命令行输入:

    cyg@cyg-ThinkPad-T450:~$ sudo gedit /etc/profile

export PATH=/usr/local/cuda/bin:$PATH

    cyg@cyg-ThinkPad-T450:~$ sudo gedit /etc/ld.so.conf.d/cuda.conf

/usr/local/cuda/lib64

6.修改后保存配置:(会导致 /usr/local/cuda/lib64/libcudnn.so.7 不是符号链接?)

    cyg@cyg-ThinkPad-T450:~$ sudo ldconfig

    cyg@cyg-ThinkPad-T450:~$ sudo ln -sf   /usr/local/cuda-9.0/lib64/libcudnn.so.7.0.5  /usr/local/cuda-9.0/lib64/libcudnn.so.7

    cyg@cyg-ThinkPad-T450:~$ sudo ldconfig

 

7.安装cudnn

解压cudnn-9.0-linux-x64-v7.tgz

把相应文件复制到/usr/local/cuda/  CUDA安装文件夹里,(直接放文件到usr/local/下面,然后解压缩,可能提示无权限,可以切换到root用户执行。)

    cyg@cyg-ThinkPad-T450:~$ sudo cp cuda/include/cudnn.h    /usr/local/cuda/include

    cyg@cyg-ThinkPad-T450:~$ sudo cp cuda/lib64/libcudnn*    /usr/local/cuda/lib64

    cyg@cyg-ThinkPad-T450:~$ sudo chmod a+r /usr/local/cuda/include/cudnn.h   /usr/local/cuda/lib64/libcudnn*

至此,就可以安装Anaconda、pycharm、tensorflow等等工具了
3.安装Anaconda

下载Anaconda3-5.2.0 Linux版,cd到文件路径

    cyg@cyg-ThinkPad-T450:~$ bash Anaconda3-5.2.0-Linux-x86_64.sh -b
---------------------  
作者:阳翟土包子  
来源:CSDN  
原文:https://blog.csdn.net/cyglight8947/article/details/82865668  
版权声明:本文为博主原创文章,转载请附上博文链接!

 

四、安装Anaconda

 下载地址:https://www.anaconda.com/download/,此处我下载的是Python3.6版的。

bash Anaconda3-5.2.0-Linux-X86-64.sh

 

 

linux命令 安装anaconda

 

1、首先下载anaconda

 

wget https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh

2、安装anaconda

 

 

bash Anaconda3-5.0.1-Linux-x86_64.sh

 

3、安装过程中会需要不断回车来阅读并同意license。安装路径默认为用户目录(可以自己指定),最后需要确认将路径加入用户的.bashrc中。

最后,立即使路径生效,需要在用户目录下执行:

4、有时需要执行如下代码添加环境变量(可选)

 

echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc

 

source .bashrc

 此时,打开python就是最新的3.6版本了。

下面很重要:

使用Anaconda管理多个版本的Python环境:
假设你已安装anaconda环境则往下进行操作,否则去安装该华景


1、查看系统当前已有的Python环境,执行命令:conda info --envs
发现现在环境只有anaconda自带的python2.7环境
可以使python -V常看python版本信息
conda env list 
2、我想添加一个Python3.5的环境,
执行命令:conda create --name python35 python=3.5
命令中我制定了环境名称是Python35,指定了Python版本是3.5,执行命令后,
Conda 会自动下载最新版的Python3.5,并自动部署
3、再次查看当前系统已有的Python环境,执行命令:conda info --envs,从图中我们看
到,这里多了一个名字为Python35的Python环境
4、切换Python环境到刚才新添加的Python35,执行命令:source activate Python35,然后执行命令:python --version,查看是否切换成功

安装TensorFlow

从:https://mirrors.tuna.tsinghua.edu.cn/help/tensorflow/ 网站选择对应的安装版本。速度比较快,目前只支持tensorflow1.5.0最高版 python2.7对应的。

输入网址:最好是google浏览器 https://mirrors.tuna.tsinghua.edu.cn/help/查找tensorflow,点开链接,然后选择对应的系统及版本,复制下面的语句,命令行执行:比如 

pip install \
  -i https://pypi.tuna.tsinghua.edu.cn/simple/ \
  https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/gpu/tensorflow_gpu-1.5.0-cp35-cp35m-linux_x86_64.whl
pip install \
  -i https://pypi.tuna.tsinghua.edu.cn/simple/ \
  https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/gpu/tensorflow_gpu-1.5.0-cp27-none-linux_x86_64.whl

进入python

import tensorflow 实验一下,如果没有出错,说明成功了。

 

 

5、在Python35环境下,完成工作后,切回原来的Python环境,执行命令:source deactivate Python35
6、如果刚才添加的Python27环境,不再使用,可通过执行命令:conda remove --name python27 --all,进行删除

注意:某虚拟环境下使用pip安装某模块如果找不到,可能该版本不支持该库;或者指定的镜像通道没有,可以尝试conda install安装,但安装的时候一定要注意安装提示信息,是否会更新虚拟环境的python版本。比如PIL的在python3.5安装,会把版本下降到python2.7,导致原来的虚拟环境变化。这是一定要注意的。

pip install \
  -i https://pypi.tuna.tsinghua.edu.cn/simple/ \
  https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/gpu/tensorflow_gpu-1.2.0-cp27-none-linux_x86_64.whl
pip install \
  -i https://pypi.tuna.tsinghua.edu.cn/simple/ \
  https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/cpu/tensorflow-1.5.0-cp35-cp35m-linux_x86_64.whl

 

pip install \
  -i https://pypi.tuna.tsinghua.edu.cn/simple/ \
  https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/cpu/tensorflow-1.5.0-cp27-none-linux_x86_64.whl

 

为了保持更新,可以在终端中执行:(我未执行该操作)

conda upgrade --all

2、设置Anaconda镜像源以减少等待时间。同样,我的镜像源是科大镜像。

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/

conda config --set show_channel_urls yes

下面括号里面可以忽略:

(五、安装TensorFlow

这里参考了https://www.cnblogs.com/Ph-one/p/9000211.html

将使用virualenv安装。 首先安装libcupti-dev库。

sudo apt-get install libcupti-dev

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64

然后我们将安装virtualenv并创建一个Tensorflow Environment。

sudo apt-get install python3-pip python3-dev python-virtualenv

virtualenv --system-site-packages -p python3 tensorflow # create a enviroment named tensorflow

注意:在这一过程中可能会出现“setuptools pkg_resources pip wheel failed with error code 2”错误,导致虚拟环境创建不成功。

则使用:virtualenv --system-site-packages -p python3 tensorflow  --no-setuptools
1、安装Tensorflow CPU版本

当环境创建好了,我们必须在每次使用tensorflow时激活它。首先按照推荐安装tensorflow cpu version。

source ~/tensorflow/bin/activate

pip3 install --upgrade tensorflow  # install the cpu version

 

验证Tensorflow CPU版本

在同一个环境中,这意味着你会在你的shell中看到它。

(tensorflow)$

键入python和下面的python代码。

python

# Python

import tensorflow as tf

hello = tf.constant('Hello, TensorFlow!')

sess = tf.Session()

print(sess.run(hello))

这是我的结果。虽然它与官方验证结果不同,但是应该没问题。

>>> print(sess.run(hello))

b'Hello, TensorFlow!'

>>>

 

2、安装Tensorflow GPU版本

 首先确保我们处于同一环境中

pip3 install --upgrade tensorflow-gpu

验证Tensorflow GPU版本

仍然确保你在Tensorflow Enviroment。

键入python和下面的python代码。

python

# Python

import tensorflow as tf

hello = tf.constant('Hello, TensorFlow!')

sess = tf.Session()

print(sess.run(hello))

结果是一样的。但是我们可以看到我们的GPU设备正在工作。可以在下的测试结果中看到自己的显卡型号。


六、安装Keras

1、创建一个环境,指定python版本

$ conda create -n tf python=3.6

2、激活创建的tf环境:

$ conda activate tf 或者 $ source activate tf

在该环境下安装tensorflow-gpu及keras框架:

$ conda install tensorflow-gpu keras

4、查看安装是否成功

$ python
>>import keras
  import tensorflow

5、安装其他所需要的库

$ conda install pillow
$ conda install matplotlib
$ conda install scikit-learn
$ conda install graphviz pydot

6、退出该环境

$ conda deactivate  或者  source deactivate

7、移除tf环境

$ conda remove -n tf --all

8、查看GPU运行状况

$ watch -n 0 nvidia-smi  
---------------------  
作者:背包客w  
来源:CSDN  
原文:https://blog.csdn.net/weixin_39954229/article/details/79961172  
版权声明:本文为博主原创文章,转载请附上博文链接!


七、安装jupyter

pi3 install jupyter
jupyter notebook --generate-config

jupyter notebook
八、安装Pycharm专业破解版

我下载的是pycharm-professional-2018.1.4,破解补丁是JetbrainsCrack-2.8-release-enc.jar,找不到的童鞋可以留言,我发给你。

破解如下:

    解压缩pycharm-professional-2018.1.4并放在Home下,将JetbrainsCrack-2.8-release-enc.jar也复制到Home下。
    在pycharm的bin目录下找到pycharm.vmoptions和pycharm64.vmoptions,用gedit打开,均在末尾加

-javaagent:/home/guo/[pycharm-2018.2.4/]JetbrainsCrack-3.1-release-enc.jar (注意破解文件路径放哪里了)
    在bin目录运行命令sh ./pycharm.sh,选择激活码激活,输入一下激活码:

ThisCrackLicenseId-{

"licenseId":"11011",

"licenseeName":"微信公众号",

"assigneeName":"裸睡的猪",

"assigneeEmail":"[email protected]",

"licenseRestriction":"",

"checkConcurrentUse":false,

"products":[

{"code":"II","paidUpTo":"2099-12-31"},

{"code":"DM","paidUpTo":"2099-12-31"},

{"code":"AC","paidUpTo":"2099-12-31"},

{"code":"RS0","paidUpTo":"2099-12-31"},

{"code":"WS","paidUpTo":"2099-12-31"},

{"code":"DPN","paidUpTo":"2099-12-31"},

{"code":"RC","paidUpTo":"2099-12-31"},

{"code":"PS","paidUpTo":"2099-12-31"},

{"code":"DC","paidUpTo":"2099-12-31"},

{"code":"RM","paidUpTo":"2099-12-31"},

{"code":"CL","paidUpTo":"2099-12-31"},

{"code":"PC","paidUpTo":"2099-12-31"}

],

"hash":"2911276/0",

"gracePeriodDays":7,

"autoProlongated":false}

到期时间为2099年,基本为永久啦。这里参考了博客,在此感谢:

https://blog.csdn.net/u014044812/article/details/78727496。
九、安装pytorch-cpu

conda install pytorch -c soumith
---------------------  
作者:cskywit  
来源:CSDN  
原文:https://blog.csdn.net/cskywit/article/details/81146429  
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(基本)