ubuntu20.04 安装、美化、办公环境搭建及深度学习开发环境搭建

一 ubuntu20.04安装

1 前言
我们进行双系统的安装
电脑起初是win10系统,在此基础上留出80G“为分配”的空间来装载ubuntu20.04系统,按照下列方法进行安装,亲测有效。
安装ubuntu前,电脑基本配置是:
WIN10;
GeForce GTX 1650;
i7-9750H CPU;
7.6 GiB;
512.1 GB SSD ;

2 方式
推荐跟着视频一步步地进行操作,亲测有效。
视频教程链接:【ubuntu20.04】10分钟win10安装ubuntu20.04双系统(无需Bios设置)

其实按照上面的方式,足够大家安装运行,不过为了防止该视频因特殊情况而失效,还是尝试做一个简单的总结:

  • 下载软件:ubuntu-20.04-desktop-amd64.iso(桌面版而不是服务器版本) 、rufus-3.11.exe(用制作系统启动盘的高效简便的官方推荐软件)。
  • 烧录系统:准备32G以上的U盘,打开rufus软件,仅需要指定U盘以及iso文件的位置。我在制作的时候,可能会提示需要安装几个文件,同意即可。
    在这里插入图片描述
  • Windows分区:通过磁盘管理器,通过压缩或者扩展的方式得到一定大小的“未分配的内存空间”。**我分配了80G,如果需要扩展卷,是需要被扩展卷的右侧有未被分配的空间的。同时,未被分配的内存不会在“我的电脑”中显示。**至此,准备工作结束。
  • 重启并通过U盘进入安装界面:视频中介绍了一种shift+点击重启的技术,替代通过F12、bios选择,详情见视频
  • 安装选择:为了安装方便,选择中文语言、“更新和其他软件”中选择正常安装、“安装类型”中选择 其他选项,进而选择目标“空闲”内存作为分区位置,其中,挂载点位置,对于初学者,应填写“/”、“这是谁”中密码因为会经常使用,所以不建议繁琐,用户名不可以为大写,最终较为漫长的等待。安装结束后重启,重启时会提醒将U盘拔出。
  • 电脑启动:先进入GRUB界面,使用户选择进入哪个系统,默认会选择Ubuntu。

至此,安装全部结束。

二 简单美化

1 自己的界面

在这里插入图片描述

  • 背景图片是系统自带,使用了系统自带的图标和主题,对shell使用了其他的风格。

在这里插入图片描述

  • 外观-Dock更改

在这里插入图片描述

  • 声音-允许声音超过100,另输出声音均衡输出。

在这里插入图片描述

我没有使用网上大肆推崇的Mac风格,我尝试过,由于图标颜色与背景不搭等视觉问题,我最终回归了Ubuntu自带的风格。
我也没有使用Dash to dock 与Dash to panel 两个常用的扩展,因为有时候会出一点问题,不愿意为了画面美观过度消费精力。
在经过一番折腾后,虽然几近回到了原点,但是我仍然保留了chromeOS风格的shell,让我比较喜欢。

2 方式

我几乎就是根据重点参考文章,真正的大神,实时更新,给Ubuntu18.04(18.10)安装mac os主题这篇文章过了一把瘾。

不过一些网站的打开速度,确实让人感动,因此也建议大家如果无闲暇时间,就不要尝试打开这些网页下载。
推荐文章的大神特意分享了一些thems和icons,我也保存了下来,做了分享,以备不时之需。

链接:https://pan.baidu.com/s/11i5oMBd0NEqI7KNpza-75A 密码:49zr

具体的使用方式,见大神的巨作!

三 办公环境搭建

3.1 语言

ubuntu20.04中因为缺少某些包的原因,不能再安装搜狗输入法了。
我尝试使用谷歌输入法,虽然没有windows系统下的界面舒服,但是是目前我本人用过比较满意的。

具体的执行方式参考:ubuntu 20.04中文输入法安装
简述为三步:

  • sudo apt-get install fcitx-googlepinyin
  • language support 中的键盘输入法系统Keyboard input method system将默认的iBus,更改为fcitx。
  • 应用程序fcitx配置中通过加号+添加新的输入法Google Pinyin

3.2 常用的软件安装

sudo apt-get install fcitx-googlepinyin # 谷歌拼音输入法
sudo apt-get install git # git
sudo apt-get install stacer # 系统管理器
sudo apt-get install virtualbox # 虚拟机
sudo apt-get install okular # pdf阅读器
sudo apt-get install flameshot # 截图工具
sudo apt-get install pandoc # markdown转word
sudo apt-get install texmaker # latex编辑器
sudo apt-get install redshift # 屏幕色温调节
sudo apt-get install pdfgrep # pdf文件正则表达式检索
sudo apt-get install recoll poppler-utils # 文件内容检索工具
sudo apt-get install rdfind # 重复文件扫描
sudo snap install mathpix-snipping-tool # 图片转latex

3.3 Sublime && Typora

参考文章ubuntu装机一条龙

wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo apt-get update
sudo apt-get install sublime-text
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update 
sudo apt-get install typora

3.4 微信、QQ、百度网盘

参考文章Ubuntu 20.04 安装微信、QQ等
其中,TopIcons Plus插件的安装,参考文章ubuntu18 安装TopIcons-plus

经常性的微信对于我而言,还有另一个不可或缺的功能是:截图!

注意的是:

  • 关于截图,如果快捷键设置不对,就不能唤醒截图功能,可以多次尝试尝试;而且如果微信的界面没有显示,就算是托盘悬浮,也不能通过快捷键唤醒截图功能。
  • 不过自己尝试的时候,感觉截屏的图像不能够粘贴到其他的平台。只能在微信内部粘贴复制。
  • TIM的情况与微信一致,不过TIM的截图可以在微信中粘贴复制,微信的也可以在TIM中使用。具体的内容需要大家自行探索。

四 深度神经网络GPU环境

参考文章:Ubuntu18.04深度学习GPU环境配置.

4.1 简单介绍安装过程

  • Nvida Driver安装
  • CUDA编程语言环境安装,是一种通用并行计算架构
  • cuDNN安装,是用于深度神经网络的GPU加速库
  • Anaconda安装

需要首要强调的是,从diver的版本到cuda、cuDNN以及Anaconda,版本必须相匹配,且前面的的版本决定了后面的版本,而driver的版本则取决于系统的类型和GPU的款式

下面的内容并不具体,只是将命令行copy了,因而缺乏图像说明与展示。

4.2 nvidia Driver 安装

1 驱动安装流程
首先删除旧有的驱动、其次禁止自带的nouveau nvidia驱动、然后添加PPA、最终通过PPA存储哭安装适合的dirver。

2 删除旧的驱动
原来Linux默认安装的显卡驱动不是英伟达的驱动,所以先把旧得驱动删除掉

sudo apt-get purge nvidia*

3 禁止自带的nouveau nvidia驱动
打开配置文件:

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

填写禁止配置的内容:

blacklist nouveau
options nouveau modeset=0

更新配置文件

sudo update-initramfs -u

至此,需要重启一下,这里需要知道,当遇到驱动安装或者更改时,我们通常需要在操作完成后重新启动系统。

4 添加Graphic Drivers PPA

# 将ppa:graphics-drivers/ppa存储库添加到系统中
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

查看合适的驱动版本:

# 接下来,确定您的显卡型号和推荐的驱动程序
ubuntu-drivers devices

###################
(base) martoony@xutongli-OMEN:~$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001F91sv0000103Csd00008575bc03sc00i00
vendor   : NVIDIA Corporation
model    : TU117M [GeForce GTX 1650 Mobile / Max-Q]
driver   : nvidia-driver-440 - distro non-free recommended
driver   : nvidia-driver-435 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

这里显示建议安装440。

# 安装
sudo apt-get install nvidia-driver-440

这里安装时,你的终端中应该会出现了一个通知,
内容大致是提醒你重新启动电脑,并且重新启动之前,需要输入一个密码,在重启的时候会用它启动驱动的切换。

事实上我在进行该行命令时,在弹出提醒后,就卡了,无法点击确定退出,也根本没有遇到要求写入密码的环节。
暴力关掉终端后,再次运行该命令,会提示apt被6547的进程占用,于是通过kill命令杀死了该进程。

之后,我在网上百度,得知可以通过“软件与更新”中的附加驱动切换驱动程序。

在这里插入图片描述

因而我换用了435的驱动,点击应用更改后,过一会儿会出现输入密码的环节。(仿佛这样的方式才是正常的方式,我不确定附加驱动中是否在一开始就存在这两个驱动的选项,如果一开始就存在,那不妨就通过该方式进行安装,倒来得方便)

以上介绍了一个bug,但是重点在于,重启操作执行后,会跳出一个蓝色背景的界面perform mok management,这个界面的操作才是关键。
参考文章配有 Nvidia 显卡的笔记本安装 ubuntu18.04 所遇到的问题与解决以及Ubuntu16的gtx1070显卡+对应显卡驱动安装(精简版)

正确的做法是:

  1. 当进入蓝色背景的界面perform mok management 后,选择 enroll mok ,如果选择的是continue boot,则会正常进入系统,但是并不会加载驱动。
  2. 进入enroll mok 界面,选择 continue ,
  3. 进入enroll the key 界面,选择 yes ,
  4. 接下来输入你在安装驱动时输入的密码,
  5. 之后会跳到蓝色背景的界面perform mok management 选择第一个 reboot
# 完成后,重新启动系统
sudo reboot

这样,重启后N卡驱动就加载了。

5 其他的安装方式简介

注意,你可能看到其他的安装方式。
比如,通过Nvidia驱动下载官网查询下载,从该网站查询可知,我应该安装的驱动版本是430,而事实上,我通过PPA方式安装的是435也可以用,如果是这种方式安装,下载后也可以安装,具体的操作方式参考文章如何在Ubuntu 18.04 Bionic Beaver Linux上安装NVIDIA驱动程序,文章还介绍了第三种方式,即通过标准Ubuntu存储库自动安装
在这里插入图片描述
在这里插入图片描述

总的来说,推荐通过PPA信息库的方式安装最新的Nvidia beta驱动程序,以免出现系统不稳定的风险。

6 测试驱动是否完成

nvidia-smi

#############################
Sun Jul  5 11:00:10 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21       Driver Version: 435.21       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1650    Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   43C    P8     2W /  N/A |    577MiB /  3911MiB |     11%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1172      G   /usr/lib/xorg/Xorg                            45MiB |
|    0      1726      G   /usr/lib/xorg/Xorg                           241MiB |
|    0      3042      G   ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files   106MiB |
|    0     49895      G   /usr/bin/gnome-shell                         175MiB |
+-----------------------------------------------------------------------------+

4.3 CUDA的安装

1 确定与driver版本相匹配的cuda版本并下载

通过官网查询NVIDIA CUDA Toolkit Release Notes.
方便起见,将相关的图展示出来。
在这里插入图片描述
我的驱动是435的,因而我选择最新且适应的CUDA10.1。
然后进入官网下载对应的版本CUDA Toolkit Archive
在这里插入图片描述
以上的版本都可以选择性的安装,如果安装较低版本的CUDA应该会被通知更新升级吧,具体没有了解,不过不重要,程序安装,坚持按部就班就是对的。

在这里插入图片描述
以 10.1 update为例。
下载到Downloads文件下,再启动终端,执行sudo sh命令。
不过在执行sudo sh命令之前,需要做两件预备工作。

2 两件预备工作-安装依赖库以及降低gcc版本

首先是,安装依赖库。

# 依赖库安装
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

其次是,降级gcc的版本
通常我们的ubuntu系统自带的gcc版本较高,比如ubuntu20.04中的gcc是9.3.0版本的。
而CUDA9.0要求GCC版本是5.x或者6.x;CUDA10.0则要求GCC版本是7,并且ubuntu20.04中当安装gcc 5 的时候,提示已经不提供了。
这就是需要降低gcc版本的原因。

方法如下:

  • 查看自己系统的gcc版本
g++ --version
######################################
已经是修改后的版本。
g++ (Ubuntu 7.5.0-6ubuntu2) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# 首先,安装地版本的gcc
sudo apt-get install gcc-7
sudo apt-get install g++-7

# 替换之前的版本 
# 其中的50 表示优先级,具体意义并不清楚,但是有效
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 50

# 再次查看gcc版本,检查是否修改完毕。
g++ --version

3 安装cuda

1 执行命令

# 具体的run文件的名字结合自己的匹配版本进行修改。
sudo sh cuda_10.1.168_418.67_linux.run

2 输入accept
在这里插入图片描述
3 选择安装选项:不选驱动
在这里插入图片描述
接下来的步骤均是yes。
参考文章Ubuntu:安装 cuda10.1 驱动

4 环境配置

  • 进行环境的配置
sudo gedit ~/.bashrc
  • 会弹出一个可写的配置文件,在末尾把以下配置写入并保存。
# 记得修改一下路径呀!
export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}  
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  • 最后执行
source ~/.bashrc

5 测试

# 第一步,进入例子文件
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
# 第二步,执行make命令
sudo make
# 第三步
./deviceQuery

显示的内容是

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 1650"
  CUDA Driver Version / Runtime Version          10.1 / 10.1
  CUDA Capability Major/Minor version number:    7.5
  Total amount of global memory:                 3912 MBytes (4101898240 bytes)
  (16) Multiprocessors, ( 64) CUDA Cores/MP:     1024 CUDA Cores
  GPU Max Clock rate:                            1560 MHz (1.56 GHz)
  Memory Clock rate:                             4001 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 1048576 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
  Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  1024
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 3 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device supports Compute Preemption:            Yes
  Supports Cooperative Kernel Launch:            Yes
  Supports MultiDevice Co-op Kernel Launch:      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.1, CUDA Runtime Version = 10.1, NumDevs = 1
Result = PASS

如此,表示通过。
通过以下命令可以检测driver的版本以及GPU的使用情况

sudo  nvidia-smi

########################################
Sun Jul  5 11:00:10 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21       Driver Version: 435.21       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1650    Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   43C    P8     2W /  N/A |    577MiB /  3911MiB |     11%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1172      G   /usr/lib/xorg/Xorg                            45MiB |
|    0      1726      G   /usr/lib/xorg/Xorg                           241MiB |
|    0      3042      G   ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files   106MiB |
|    0     49895      G   /usr/bin/gnome-shell                         175MiB |
+-----------------------------------------------------------------------------+


同时,如果在进行深度学习训练时,可以执行如下命令实时检测GPU使用。

# 我们设置为每 10s 显示一次显存的情况
watch -n 10 nvidia-smi

###############################
Every 10.0s: nvidia-smi                                                                                                                              xutongli-OMEN: Sun Jul  5 11:24:40 2020

Sun Jul  5 11:24:40 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21       Driver Version: 435.21       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1650    Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   43C    P8     2W /  N/A |    582MiB /  3911MiB |      2%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1172      G   /usr/lib/xorg/Xorg                            45MiB |
|    0      1726      G   /usr/lib/xorg/Xorg                           240MiB |
|    0      3042      G   ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files   108MiB |
|    0     49895      G   /usr/bin/gnome-shell                         178MiB |
+-----------------------------------------------------------------------------+

上面的表格中: 
第一栏的Fan:N/A是风扇转速,从0到100%之间变动。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温。 
第二栏的Temp:是温度,单位摄氏度。 
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。 
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。 
第五栏的Bus-Id是涉及GPU总线的东西,domain:bus:device.function 
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。 
第五第六栏下方的Memory Usage是显存使用率。 
第七栏是浮动的GPU利用率。 
第八栏上方是关于ECC的东西。 
第八栏下方Compute M是计算模式。

4.4 cuDNN安装

1 选择匹配的版本下载对应的三个deb文件包
参考网站cuDNN Download,应该是需要登录后才可以下载。
在这里插入图片描述
找到下面的三个文件,下载到Downloads中
在这里插入图片描述
注意的是,ubuntu系统为20.04,我们选择18.04也是可以的
重要的是根据CUDA版本选择cuDNN。

2 安装cnDNN

# 安装命令
sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.3.11-1+cuda9.0_amd64.deb

3 测试

# 如图中的命令
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
#################################################################
最终如果有提示信息:“Test passed! ”,则说明安装成功
cudnnGetVersion() : 7605 , CUDNN_VERSION from cudnn.h : 7605 (7.6.5)
Host compiler version : GCC 7.5.0
There are 1 CUDA capable devices on your machine :
device 0 : sms 16  Capabilities 7.5, SmClock 1560.0 Mhz, MemSize (Mb) 3911, MemClock 4001.0 Mhz, Ecc=0, boardGroupID=0
Using device 0

Testing single precision
Loading image data/one_28x28.pgm
Performing forward propagation ...
Testing cudnnGetConvolutionForwardAlgorithm ...
Fastest algorithm is Algo 0
Testing cudnnFindConvolutionForwardAlgorithm ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: 0.017376 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: 0.040768 time requiring 3464 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: 0.042656 time requiring 57600 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: 0.069632 time requiring 203008 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 7: 0.118784 time requiring 2057744 memory
Resulting weights from Softmax:
0.0000000 0.9999399 0.0000000 0.0000000 0.0000561 0.0000000 0.0000012 0.0000017 0.0000010 0.0000000 
Loading image data/three_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000000 0.0000000 0.9999288 0.0000000 0.0000711 0.0000000 0.0000000 0.0000000 0.0000000 
Loading image data/five_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000008 0.0000000 0.0000002 0.0000000 0.9999820 0.0000154 0.0000000 0.0000012 0.0000006 

Result of classification: 1 3 5

Test passed!

Testing half precision (math in single precision)
Loading image data/one_28x28.pgm
Performing forward propagation ...
Testing cudnnGetConvolutionForwardAlgorithm ...
Fastest algorithm is Algo 0
Testing cudnnFindConvolutionForwardAlgorithm ...
^^^^ CUDNN_STATUS_SUCCESS for Algo 2: 0.029216 time requiring 28800 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 1: 0.030720 time requiring 3464 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 0: 0.047232 time requiring 0 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 5: 0.059360 time requiring 203008 memory
^^^^ CUDNN_STATUS_SUCCESS for Algo 4: 0.064672 time requiring 207360 memory
Resulting weights from Softmax:
0.0000001 1.0000000 0.0000001 0.0000000 0.0000563 0.0000001 0.0000012 0.0000017 0.0000010 0.0000001 
Loading image data/three_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000000 0.0000000 1.0000000 0.0000000 0.0000714 0.0000000 0.0000000 0.0000000 0.0000000 
Loading image data/five_28x28.pgm
Performing forward propagation ...
Resulting weights from Softmax:
0.0000000 0.0000008 0.0000000 0.0000002 0.0000000 1.0000000 0.0000154 0.0000000 0.0000012 0.0000006 

Result of classification: 1 3 5

Test passed!

至此,深度神经网络的GPU环境已经安装完毕

五 集成开发环境搭建

5.1 Anaconda

建议使用anaconda以及虚拟环境进行开发,通过Anaconda安装jupyterNotebook等内容。

通过官网进行下载Anaconda安装程序.下载到Downloads中。

安装过程是参考官网Installing on Linux,

bash Anaconda3-2020.02-Linux-x86_64.sh

同时参考中文的操作文档Ubuntu 安装 Anaconda3 详细步骤

5.2 TensorFlow和Keras 安装

安装完anaconda 以后可以在终端直接用pip 对TensorFlow和Keras进行安装,这时,是对conda中的python进行的安装,而不是系统自带的。

建议采用conda安装,参考文章ubuntu16.04下安装&配置anaconda+tensorflow新手教程

至此,结束所有的内容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章