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

     以前一直都是在Windows上玩CPU版的Tensorflow,现在有时间弄一下,买了一根16GB的内存条扩容上。以前是Win10+Ubuntu双系统,以前的Ubuntu上由于做实验有一堆的错误待解决,现在懒得折腾了,直接装成Ubuntu单系统。我的电脑配置如下:

CPU:Intel Core i7-7770HQ

内存:24GB

显卡:NVIDIA 940MX

硬盘:128GBSSD+1TB机械

Linux空间划分如下:

     SSD:200MB  /boot  主分区

                 24GB   /swap  逻辑分区

                 剩余    /           主分区

     机械:/home     逻辑分区

     下面进入正题,从安装GPU驱动开始,对CUDA9、cuDNN7.1等显卡相关库的安装,以及开发环境Anaconda、Pycharm专业版破解、最后介绍tensorflow CPU版和GPU版,keras,Pytorch的安装,其间踩了不少坑,靠百度解决问题,参考可很多博客,在此感谢。

目录

一、安装NVIDIA驱动

1.卸载原有NVIDIA驱动(任选其一)

2.禁用nouveau驱动

3.命令行安装驱动

4. perform mok management(不一定会出现)

二、安装CUDA9.0

1、GCC降级

3、安装其依赖的库:

4、测试:

三.安装cuDNN

1、安装

2、测试

四、安装Anaconda

五、安装TensorFlow

1、安装Tensorflow CPU版本

2、安装Tensorflow GPU版本

六、安装Keras

七、安装jupyter

八、安装Pycharm专业破解版

九、安装pytorch-cpu


一、安装NVIDIA驱动

1.卸载原有NVIDIA驱动(任选其一)

#使用apt方法安装: 

sudo apt-get remove --purge nvidia*

 

#使用.run文件安装:

sudo chmod +x *.run 

sudo ./NVIDIA-Linux-x86_64-384.59.run –uninstall

 

2.禁用nouveau驱动

sudo gedit /etc/modprobe.d/blacklist.conf

在末尾添加:

blacklist nouveau

然后执行:sudo update-initramfs -u

重启进入命令行界面后执行:lsmod | grep nouveau。如果没有屏幕输出,说明禁用nouveau成功。注意此步需要在命令行下执行。

3.命令行安装驱动

确定自己所需要安装的驱动版本:

ubuntu-drivers devices

可以看到有目前可以安装的驱动:

driver   : nvidia-driver-390 - distro non-free recommended

driver   : xserver-xorg-video-nouveau - distro free builtin

安装推荐的390

sudo apt install nvidia-driver-390

安装完毕使用命令nvidia-smi会出现显卡信息。

4. perform mok management(不一定会出现)

安装完显卡驱动后,系统需要重启加载驱动,注意如果按照上述流程进行驱动安装,那在重启系统时,会出现一个蓝色背景的界面 perform mok management , 本人在这一步选择了 continue reboot 导致新安装的 N 卡驱动没有加载,正确的做法如下: 
(1)
当进入蓝色背景的界面perform mok management 后,选择 enroll mok , 
(2)
进入enroll mok 界面,选择 continue , 
(3)
进入enroll the key 界面,选择 yes , 
(4)
接下来输入你在安装驱动时输入的密码, 
(5)
之后会跳到蓝色背景的界面perform mok management 选择第一个 reboot

这样,重启后N卡驱动就加载了,恭喜你,Ubuntu 18.04LST 安装成功。可以在系统信息处看到显卡已经是独立显卡。

二、安装CUDA9.0

下载地址:https://developer.nvidia.com/cuda-zone

注意:tensorflowCUDA的版本有要求,见https://github.com/mind/wheels

1、GCC降级

由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,故手动进行降级:

sudo apt-get install gcc-4.8 
sudo apt-get install g++-4.8

装完后进入到/usr/bin目录下 

  $ls -l gcc* 

会显示以下结果

lrwxrwxrwx 1 root root 7th May 16 18:16 /usr/bin/gcc -> gcc-7.3

发现gcc链接到gcc-7.0, 需要将它改为链接到gcc-4.8,方法如下:

sudo mv gcc gcc.bak #备份 
sudo ln -s gcc-4.8 gcc #重新链接

同理,对g++也做同样的修改:

ls -l g++* 

lrwxrwxrwx 1 root root 7th May 15:17 g++ -> g++-7.3

需要将g++链接改为g++-4.8:

sudo mv g++ g++.bak 
sudo ln -s g++-4.8 g++

再查看gccg++版本号:

gcc -v g++ -v

均显示gcc version 4.8 ,说明gcc 4.8安装成功

2、安装cuda及其补丁
先安装Base Insataller:

sudo sh cuda_9.0.176_384.81_linux.run

需要注意的是,之前已经安装过显卡驱动程序,故在提问是否安装显卡驱动时选择no,其他 选择默认路径或者yes即可。然后,继续执行以下操作安装3 patch 

sudo sh cuda_9.0.176.1_linux.run

sudo sh cuda_9.1. 176.2_linux.run

sudo sh cuda_9.1. 176.3_linux.run

 

配置环境变量:

cd  ~

sudo gedit .bashrc

在末尾添加以下路径:

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

 

更新路径:

source .bashrc

 

3安装其依赖的库:

sudo apt-get install python-pip python-dev

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

 

4、测试:

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

 

cd ../bandwidthTest

sudo make

./bandwidthTest

 

三.安装cuDNN

1、安装

下载地址:https://developer.nvidia.com/cudnn,需要简单注册(免费),下载对应的cuDNN,我这里下载的是cuDNN v7.1.4[May 16,2018],for CUDA 9.0,选择其下的cuDNN v7.1.4 Library for Linux。解压后的文件夹名字为CUDA,复制到CUDA的安装目录/usr/local/cuda下。

tar -xzvf cudnn-9.0-linux-x64-v7.tgz

sudo 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

 

2、测试

安装Freeimage

在我们验证cuDNN之前,我们必须首先安装freeimage lilbray作为ministCUDNN示例代码的依赖关系。否则,会有提示要求我们正确设置Freeimage。

sudo apt-get install libfreeimage3 libfreeimage-dev

 

验证cuDNN安装

cp -r /usr/src/cudnn_samples_v7/ $HOME

cd $HOME/cudnn_samples_v7/mnistCUDNN

make clean && make

./mnistCUDNN

如果一切正常,我们可以得到我们的结果 - “测试通过!”

四、安装Anaconda

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

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

1、添加环境变量:

sudo gedit ~/.bashrc

在末尾加入:

export PATH="/home/zhangyunfeng/anaconda2/bin:$PATH"

更新一下环境变量:

source ./bashrc

最后使用命令看下有没有生效 

conda list

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

Pip install keras

七、安装jupyter

pip3 install jupyter
jupyter notebook --generate-config

jupyter notebook

八、安装Pycharm专业破解版

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

破解如下:

  1. 解压缩pycharm-professional-2018.1.4并放在Home下,将JetbrainsCrack-2.8-release-enc.jar也复制到Home下。
  2. 在pycharm的bin目录下找到pycharm.vmoptions和pycharm64.vmoptions,用gedit打开,均在末尾加-javaagent:/home/ctr/pycharm-2018.1.4/jetbrainsCrack-2.8-release-enc.jar
  3. 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

                 

你可能感兴趣的:(机器学习,Python)