200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 从零开始 搭建Windows 10+Ubuntu 18.04双系统及Anaconda3+CUDA10.1+cuDNN7.6+Tensorflow2.1等开发环境

从零开始 搭建Windows 10+Ubuntu 18.04双系统及Anaconda3+CUDA10.1+cuDNN7.6+Tensorflow2.1等开发环境

时间:2021-10-10 19:39:18

相关推荐

从零开始 搭建Windows 10+Ubuntu 18.04双系统及Anaconda3+CUDA10.1+cuDNN7.6+Tensorflow2.1等开发环境

硬件配置:处理器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、教程参考:

windows10安装ubuntu双系统教程(绝对史上最详细) - 不妨不妨,来日方长 - 博客园

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

Ubuntu18.04镜像下载地址:

Index of /ubuntu-releases/

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

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

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

sudo update-grubsudo grub-install /dev/nvme0v1

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

4、重启,选择系统进入

第二步:准备工作

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

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

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

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

2、安装更新

sudo apt updatesudo 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对应的驱动查询

/Download/index.aspx?lang=en-us#

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

(2)查询CUDA的版本支持

Release Notes :: CUDA Toolkit Documentation

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

(3)查询cuDNN的版本

cuDNN Archive | NVIDIA Developer

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

(4)tensorflow的版本查询

从源代码构建 | TensorFlow

tensorflow1.x.x安装

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

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 --versionconda --version

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

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

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

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

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

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

第五步:安装CUDA10.1

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

CUDA Toolkit Archive | NVIDIA Developer

2、终端运行安装gcc

sudo apt install gcc

3、安装CUDA

sudo sh cuda_10.1.105_418.39_linux.run

4、 accept

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

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

7、添加环境变量

export PATH=/usr/local/cuda-10.1/bin:$PATHexport 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

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

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

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

4、安装cuDNN

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

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

5、cuDNN安装结束

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

下载压缩包:

解压文件

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.hsudo chmod a+r /usr/local/cuda-10.0/lib64/libcudnn*

第七步:安装 tensorflow

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

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

打开终端运行anaconda

anaconda-navigator

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

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

打开终端运行

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

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

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

1)打开终端升级pip

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

2)安装tensorflow2.1.0

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

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

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

/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./simple/tensorflow/

第八步:tensorflow测试

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

2、在Spyder输入如下指令

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

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

第九步:牛刀小试tensorflow2.1

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

#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Fri Mar 6 20:43:29 @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) #设置图像titleax1.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')])#设置损失函数pile(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])

运行结果:

附录1:安装pytorch

1、官网下载地址:

Start Locally | PyTorch

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.bz2conda install torchvision-0.5.0-py37_cu101.tar.bz2

4、pytorch测试

在Spyder中输入

import torchprint(torch.__version__)

5、结果

6、卸载

conda remove --force pytorchconda remove --force torchvision

附录2:安装Opencv

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

conda config --add channels https://mirrors./anaconda/pkgs/main/conda config --add channels https://mirrors./anaconda/pkgs/free/conda config --add channels https://mirrors./anaconda/cloud/conda-forge/conda config --add channels https://mirrors./anaconda/cloud/msys2/conda config --add channels https://mirrors./anaconda/cloud/bioconda/conda config --add channels https://mirrors./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

附录3:安装MATLAB

1、MATLABb 下载地址

链接: /s/1HPscHmYO_hJIEG3EkIO6cA 提取码: wtmy

2、新建挂载文件夹

mkdir matlab

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

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

4、进入挂载目录安装

sudo ~/matlab/install

5、使用密钥

6、输入Crack中给的密钥

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

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

卸载光盘1

sudo umount ~/matlab

挂载光盘2

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

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

10、卸载光盘2

sudo umount ~/matlab

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

sudo /usr/local/MATLAB/Rb/bin/matlab

12、选择不联网激活

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

14、点击完成

15、替换libmwlmgrimpl.so文件

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

16、添加快捷启动

打开配置环境变量

sudo nano ~/.bashrc

末尾加入matlab启动路径

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

使配置生效

source ~/.bashrc

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

18、错误

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

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

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

19、添加桌面快捷

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

输入:

[Desktop Entry]Categories=Application;Development;Comment=Matlab:科学计算的语言Encoding=UTF-8Exec=/usr/local/MATLAB/Rb/bin/matlab -desktop -prefersoftwareopenglIcon=/usr/local/MATLAB/Rb/toolbox/shared/dastudio/resources/MatlabIcon.pngName=MATLAB RbStartupNotify=trueTerminal=falseType=Application

附录4:安装pycharm

1、pycharm Linux版本下载

Download PyCharm: Python IDE for Professional Developers by JetBrains

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

2、安装教程

Ubuntu 18.04 安装 PyCharm_梦Dancing的博客-CSDN博客_ubuntu安装pycharm

3、Pycharm中输入中文

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

附录5:一些常用指令

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

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。