硬件配置:处理器I7,内存16G,独立显卡RTX2060

(PS:独立显卡并不是必须的,tensorflow也能运行CPU版本,但是速度确实差强人意。推荐还是最少配备一块显卡)

已装系统:Windows 10

目标:在Win10基础上安装Ubuntu双系统,并在Ubuntu中搭建深度学习开发环境

如果不使用显卡(GPU),配置好的电脑可以装虚拟机,虚拟机更方便安全。但是虚拟机中不能使用物理显卡,所以有调用GPU加速需求的一定要慎装虚拟机。

目录

第一步:装双系统

第二步:准备工作

第三步:安装Anaconda3

第四步:安装显卡驱动(不包含CUDA)

第五步:安装CUDA10.1

第六步:安装cuDNN 

第七步:安装 tensorflow

第八步:tensorflow测试

第九步:牛刀小试tensorflow2.1

附录1:安装pytorch

附录2:安装Opencv

附录3:安装MATLAB

附录4:安装pycharm

附录5:一些常用指令


第一步:装双系统

1、教程参考:


我装过很多次双系统,这个教程是我看过写得最全面的,按照教程来做99.9%都能成功安装。注意安全模式要关闭!!!

Ubuntu18.04镜像下载地址:

Index of /ubuntu-releases/

2、UEFI方式装好系统后,重启是无法直接进入Ubuntu系统。拔掉U盘,我是开机按F12选择进入Ubuntu系统的(不同的电脑键位不一样,就是开机选择从U盘启动那个按键)

3、设置开机选择Windows10或Ubuntu启动

 Ctrl+Alt+T打开终端运行如下代码:

sudo update-grub
sudo grub-install /dev/nvme0v1

 (这里的nvme0v1是指安装了Ubuntu的硬盘-不是分区号, 不知道的可以sudo fdisk -l,查看一下) 

4、重启,选择系统进入

没有独立显卡如何安装pytorch_机器学习

第二步:准备工作

1、进入Ubuntu后啥都不要做,首先更换国内镜像源,否者下载或更新内容会浪费大量的时间。

找到如图所示的软件和更新,我的版本安装之后就是中文界面,其他版本如果是英文也不要立即就去切换语言,否则会浪费大量的时间。

没有独立显卡如何安装pytorch_tensorflow_02

打开软件和更新选择镜像源(推荐清华的镜像源,速度很快的)

没有独立显卡如何安装pytorch_机器学习_03

镜像源设置好后就可以配置你的Ubuntu环境了,换语言等等。

2、安装更新

sudo apt update
sudo apt upgrade

3、安装chrome,搜狗拼音等必要的deb软件包 

sudo dpkg -i 软件.deb

4、修复安装(或添加依赖关系)

sudo apt-get -f install

每装完一个软件后就修复一下,避免出错。 

5、确定需要的Python、显卡驱动、CUDA、cuDNN及tensorflow的版本。非常重要,非常重要,非常重要!!!!!!!

先说一下它们之间的关系,Python是我们的开发语言。显卡驱动就是我们使用显卡所需要的驱动。CUDA是我们使用显卡做数据运算所需要的工具平台。cuDNN是我们使用显卡做神经网络运算所需要的库文件。tensorflow使我们使用神经网络的库包。

换言之,显卡驱动就是让GPU可以动起来,但不一定用作数据运算,可能用于3D图像显示,渲染等。加上CUDA之后GPU就能够做数据运算了。加上cuDNN之后GPU就能够进行深度学习方面的数据运算了。

这几个软件的版本是相互依赖的,必须兼容,我们从显卡出发来确定所有需要软件的版本。

(1)显卡:GeFore RTX2060对应的驱动查询

https://www.nvidia.com/Download/index.aspx?lang=en-us#

没有独立显卡如何安装pytorch_没有独立显卡如何安装pytorch_04

查询结果,RTX2060可以支持的的最新版驱动为440.64,注意这不代表我们就需要装最新版的驱动。

 

没有独立显卡如何安装pytorch_深度学习_05

 (2)查询CUDA的版本支持

Release Notes :: CUDA Toolkit Documentation

没有独立显卡如何安装pytorch_没有独立显卡如何安装pytorch_06

可以看到显卡驱动440.64版本驱动支持最新版本 CUDA10.2.89,这也不代表我们就能装最新的CUDA。

(3)查询cuDNN的版本

cuDNN Archive | NVIDIA Developer

没有独立显卡如何安装pytorch_神经网络_07

可以看到cuDNN最高只支持CUDA10.1版本,所以我们不能安装CUDA10.2。

(4)tensorflow的版本查询

从源代码构建  |  TensorFlow

tensorflow1.x.x安装

根据tensorflow的需求安装Python、CUDA和cuDNN即可。注意如果(2)和(3)步骤中支持的CUDA和cuDNN版本低于下表,则不能安装。

没有独立显卡如何安装pytorch_深度学习_08

 tensorflow2.x.x安装

由上表可知,tensorflow1.13的CUDA需求版本已经为CUDA10.0。所以tensorflow2.x.x的CUDA版本不得低于10.0。

参考官方文档tensorflow2.x.x的CUDA版本对应如下

tensorflow2.0.x        Python 2.7/3.3-3.7         CUDA10.0

tensorflow2.1.x        Python 2.7/3.3-3.7         CUDA10.1

暂时tensorflow2.1为最新版本。

综上所述,我们选择安装的最新版本环境为:tensorflow2.1、Python 3.7、CUDA10.1和cuDNN7.6.4。

第三步:安装Anaconda3

anaconda的作用是安装Python及Python一些相关的依赖库。所以anaconda比单独安装Python更好用。

1、anaconda3镜像下载地址:

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

下载最新版,最新版支持Python3.7。

2、打开终端安装anaconda3

bash Anaconda3-5.3.1-Linux-x86_64.sh

最后会提示你是否安装VScode,选择否 ,VScode没啥用。其他的都选择yes。 

3、安装完成后重启终端,输入如下指令,查看anaconda是否安装成功

python --version
conda --version

 

没有独立显卡如何安装pytorch_深度学习_09

第四步:安装显卡驱动(不包含CUDA)

显卡驱动和CUDA是可以同时安装的。后面会提及,一起安装容易出错,这里选择分开安装。

网上有很多终端指令的安装方法,这里我们用的是可视化安装方法来安装,更方便。

1、打开软件和更新选择附加驱动,系统会自动搜索稳定的驱动,选择一个nvidia的驱动安装就好。

没有独立显卡如何安装pytorch_tensorflow_10

2、安装完成后重启,然后打开终端运行nvidia-smi就能看到显卡信息

没有独立显卡如何安装pytorch_神经网络_11

从图中我们可以看出我们安装的显卡驱动版本为430.50,此时CUDA10.1还没有安装,这个是不能搞错的。 

第五步:安装CUDA10.1

1、下载CUDA Toolkit 10.1,没有update那一个

CUDA Toolkit Archive | NVIDIA Developer

没有独立显卡如何安装pytorch_深度学习_12

没有独立显卡如何安装pytorch_神经网络_13

2、终端运行安装gcc

sudo apt install gcc

3、安装CUDA

sudo sh cuda_10.1.105_418.39_linux.run

4、 accept

没有独立显卡如何安装pytorch_深度学习_14

5、去掉第一个显卡驱动,因为我们在上一步骤已经安装过了更高版本的显卡驱动

 

没有独立显卡如何安装pytorch_深度学习_15

6、安装完成,有一个warning说我们没有安装显卡驱动,事实上我们已经装过,不用管它。(至于为什么要分开安装,因为一起安装会出错)

没有独立显卡如何安装pytorch_tensorflow_16

7、添加环境变量

export PATH=/usr/local/cuda-10.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH

第六步:安装cuDNN 

1、简单介绍一下显卡驱动、CUDA和cuDNN的关系。

CUDA相当于一个数据运算库。但是显卡驱动不单单是用来做数据运算的,当我们要用来做数据运算时才调用CUDA。

cuDNN是用于深度神经网络计算的,相当于更小一个级别的库。

当我们要进行神经网络计算时,首先需要显卡驱动,其次它属于数据运算,所以需要CUDA,最后它还需要一个神经网络专用的支持库cuDNN。

2、cuDNN下载网站:

cuDNN Archive | NVIDIA Developer

没有独立显卡如何安装pytorch_tensorflow_17

下载其中对应CUDA10.1的任意一个版本。我们选择最新的7.6.4版本。

3、下载Ubuntu18.04对应的CUDNN安装包

需要先注册,下载Ubuntu18.04对应的那三个安装包

没有独立显卡如何安装pytorch_机器学习_18

 4、安装cuDNN

打开终端,进入安装包所在路径运行:

sudo dpkg -i libcudnn7_7.6.4.38-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.4.38-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.4.38-1+cuda10.1_amd64.deb

5、cuDNN安装结束

为了装多版本CUDA方便,推荐使用以下方法安装cuDNN安装方法

下载压缩包:

没有独立显卡如何安装pytorch_没有独立显卡如何安装pytorch_19

解压文件

tar -xzvf cudnn-10.0-linux-x64-v7.6.4.38.tgz

拷贝文件到CUDA路径

sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include/
 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64/
 
sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h
 
sudo chmod a+r /usr/local/cuda-10.0/lib64/libcudnn*

第七步:安装 tensorflow

有四种安装方法:推荐第三种,我用的也是第三种

1、安装方法(一):在anaconda图形化界面中安装

打开终端运行anaconda

anaconda-navigator

在environments中找到tensorflow和tensorflow-gpu安装(前者基于CPU,后者基于GPU,可以都安装)。

 

没有独立显卡如何安装pytorch_深度学习_20

2、安装方法(二): 使用指令安装

打开终端运行

python -m pip install --upgrade pip
pip install tensorflow-gpu

第一行更新pip,第二行用pip安装tensorflow 

3、安装方法(三):使用清华tensorflow镜像安装(这种方法最快最方便)

1)打开终端升级pip

python -m pip install --upgrade pip
pip install --ignore-installed PyHamcrest

2)安装tensorflow2.1.0

pip install tensorflow-gpu==2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

其中2.1是我需要安装tensorflow的版本号,这个一定要注意,不能出错。

tensorflow各个版本需要的CUDA版本以及Cudnn的对应关系:

https://www.tensorflow.org/install/install_sources#common_installation_problems

从源代码构建  |  TensorFlow

官方推荐我的CUDA10.1对应的tensorflow版本必须大于2.1.0,因此我选择安装版本tensorflow2.1.0。

3)安装过程应该会出现错误

安装过程可能会缺少库或者升级库,用如下指令安装即可:

pip install --ignore-installed  XXXXXXX

再重复执行第2)步的过程,直到没有错误为止。

4、安装方法(四):先在网页中下载,然后再离线安装。

离线安装包镜像下载地址:

https://pypi.tuna.tsinghua.edu.cn/simple/tensorflow/

第八步:tensorflow测试

1、打开Spyder,Spyder是在安装anaconda时附加安装的Python编译环境。不喜欢Spyder的可以安装Pycharm来运行python代码。

2、在Spyder输入如下指令

import tensorflow as tf
print(tf.test.is_gpu_available())

输出为true,说明我们的tensorflow-gpu安装成功了 

没有独立显卡如何安装pytorch_tensorflow_21

第九步:牛刀小试tensorflow2.1

手写字体识别代码,新建.py文件,运行即可

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Mar  6 20:43:29 2020

@author: ubuntu
"""
#输入tensorflow包
import tensorflow as tf
#输入matplotlib作图包
import matplotlib.pyplot as plt

#定义显示函数
def plot_image(image):
    fig=plt.gcf()    #图表生成
    fig.set_size_inches(3,3)  #设置图表大小
    plt.imshow(image,cmap='binary') #以黑白灰度显示图片
    plt.show()    #开始绘图

#定义带标签的显示函数
def plot_image_labels_prediction(image,labels,prediction):
    fig = plt.gcf()
    fig.set_size_inches(3,3)  #设置图表大小
    ax1 = fig.add_subplot(1, 1, 1)
    title = 'label=' + str(labels) #定义title方便图像结果对应
    title += '   prediction='+ str(prediction)
    ax1.imshow(image,cmap='binary') #以黑白灰度显示图片
    ax1.set_title(title,fontsize=10) #设置图像title
    ax1.set_xticks([]) #无x刻度
    ax1.set_yticks([]) #无y刻度
    plt.show()

#下载mnist数据集
mnist = tf.keras.datasets.mnist
#载入mnist数据样本
(x_train, y_train), (x_test, y_test) = mnist.load_data()
#显示一张训练样本图像
plot_image(x_train[0])
#将样本转化为浮点型
x_train, x_test = x_train / 255.0, x_test / 255.0
#设置神经网络各层
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])
#设置损失函数
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
#训练
model.fit(x_train, y_train, epochs=5)
#测试整个测试集
model.evaluate(x_test,  y_test, verbose=2)
#进行分类
prediction=model.predict_classes(x_test)
#可视化第一百张测试序列的分类结果
plot_image_labels_prediction(x_test[100],y_test[100],prediction[100])

运行结果:

没有独立显卡如何安装pytorch_没有独立显卡如何安装pytorch_22

附录1:安装pytorch

1、官网下载地址:

Start Locally | PyTorch

没有独立显卡如何安装pytorch_没有独立显卡如何安装pytorch_23

conda和pip安装都行,直接copy指令到终端中运行即可安装。

由于官网指令安装太慢了,可以用离线安装的方法。

2、 各个版本离线下载

下载地址:

Index of /anaconda/cloud/pytorch/linux-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

我们用的CUDA10.1,Python3.7,cudnn7.6,所以下载的文件为:

pytorch-1.4.0-py3.7_cuda10.1.243_cudnn7.6.3_0.tar.bz2

torchvision-0.5.0-py37_cu101.tar.bz2

3、安装pytorch

打开终端运行

conda install pytorch-1.4.0-py3.7_cuda10.1.243_cudnn7.6.3_0.tar.bz2
conda install torchvision-0.5.0-py37_cu101.tar.bz2

4、pytorch测试

在Spyder中输入

import torch
print(torch.__version__)

5、结果

没有独立显卡如何安装pytorch_tensorflow_24

6、卸载

conda remove --force pytorch
conda remove --force torchvision

附录2:安装Opencv

1、给anaconda添加中科大镜像源

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/

conda config --set show_channel_urls yes

2、安装Opencv python3.7版本

conda install menpo opencv

3、安装Opencv python2.7版本

conda install -c menpo opencv

注意区别,加一个-c表示在python2.7的基础上安装opencv

4、安装opencv-python

pip3 install opencv-python

 5、安装完成,import cv2

没有独立显卡如何安装pytorch_没有独立显卡如何安装pytorch_25

附录3:安装MATLAB

1、MATLAB 2018b 下载地址

链接: https://pan.baidu.com/s/1HPscHmYO_hJIEG3EkIO6cA 提取码: wtmy

2、新建挂载文件夹

mkdir matlab

3、将光盘1挂载到matlab文件夹

sudo mount -o loop ~/Mydata/LINUX/Install/R2018b_glnxa64_dvd1.iso  ~/matlab

4、进入挂载目录安装

sudo ~/matlab/install

5、使用密钥

没有独立显卡如何安装pytorch_深度学习_26

6、输入Crack中给的密钥

没有独立显卡如何安装pytorch_神经网络_27

7、装到一半的时候需要挂载光盘2

没有独立显卡如何安装pytorch_深度学习_28

 8、新开一个终端挂载光盘2

卸载光盘1

sudo umount ~/matlab

挂载光盘2

sudo mount -o loop ~/Mydata/LINUX/Install/R2018b_glnxa64_dvd2.iso  ~/matlab

 9、点击确定,继续安装完成即可。

10、卸载光盘2

sudo umount ~/matlab

11、终端运行matlab,开始激活

sudo /usr/local/MATLAB/R2018b/bin/matlab

 12、选择不联网激活

没有独立显卡如何安装pytorch_深度学习_29

13、使用Crack中的license_standalone.lic进行激活

没有独立显卡如何安装pytorch_深度学习_30

14、点击完成

没有独立显卡如何安装pytorch_没有独立显卡如何安装pytorch_31

15、替换libmwlmgrimpl.so文件

sudo cp -f ~/Mydata/LINUX/MATLAB_R2018b_Linux64_Crack/R2018b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/libmwlmgrimpl.so /usr/local/MATLAB/R2018b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/

16、添加快捷启动

打开配置环境变量

sudo nano ~/.bashrc

末尾加入matlab启动路径

export PATH=/usr/local/MATLAB/R2018b/bin/:$PATH

使配置生效

source ~/.bashrc

17、在终端中输入matlab,就可以愉快地进行matlab程序呢开发了。

18、错误

无法写入 "/home/ubuntu/.matlab/R2018b" 中的预设文件 "matlab.prf"。 请检查文件权限。

进入路径赋予更改权限即可:

cd /home/ubuntu/.matlab/
sudo chmod 777 R2018b/

19、添加桌面快捷

sudo nano /usr/share/applications/Matlab2018b.desktop

输入:

[Desktop Entry]
Categories=Application;Development;
Comment=Matlab:科学计算的语言
Encoding=UTF-8
Exec=/usr/local/MATLAB/R2018b/bin/matlab -desktop -prefersoftwareopengl
Icon=/usr/local/MATLAB/R2018b/toolbox/shared/dastudio/resources/MatlabIcon.png
Name=MATLAB R2018b
StartupNotify=true
Terminal=false
Type=Application

附录4:安装pycharm

1、pycharm Linux版本下载

Download PyCharm: Python IDE for Professional Developers by JetBrains

下载社区版,专业版要收费

2、安装教程


3、Pycharm中输入中文

JetBrains全家桶2019.3版本在Ubuntu不能输入中文的问题

附录5:一些常用指令

sudo apt-get autoclean --清理旧版本的软件缓存

sudo apt-get clean--清理所有软件缓存

sudo apt-get autoremove--删除系统不再使用的孤立软件

sudo apt-get -f install --修复软件之间依赖关系