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新手教程

至此,結束所有的內容。

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