一 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顯卡+對應顯卡驅動安裝(精簡版)
正確的做法是:
- 當進入藍色背景的界面perform mok management 後,選擇 enroll mok ,如果選擇的是continue boot,則會正常進入系統,但是並不會加載驅動。
- 進入enroll mok 界面,選擇 continue ,
- 進入enroll the key 界面,選擇 yes ,
- 接下來輸入你在安裝驅動時輸入的密碼,
- 之後會跳到藍色背景的界面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版本。
-
如果自帶gcc是高版本,進行降級操作
# 首先,安裝地版本的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新手教程
至此,結束所有的內容。