[筆記分享] 我如何在 Anaconda 上,安裝 TensorFlow 2.x,並開啟 GPU 加速
Evernote 網址: https://bit.ly/33K77F9
--------------
最近我正在台大計算機中心,教授「深度學習」這門課程。整門深度學習,用得最多的函式庫就是 TensorFlow 了。它可以用來建構深度學習所需要的「神經網路」架構,所以任一個深度學習工程師,都得要會安裝。
深度學習的開發環境很多!我個人偏好 Google Colab(線上環境)與 Anaconda(本地端環境)。Colab 的執行環境,Google 工程師已經幫你裝好了。你只要點擊 https://colab.research.google.com 就能用。比泡麵還簡單!但你也只能被動接受 Google 工程師幫你裝好的執行環境。畢竟「線上平台」彈性還是比「本地端平台」要小一點。
早期(TensorFlow 1.x 時期)要裝 TensorFlow,並開啟 GPU 圖形加速功能,只要開啟 Anaconda Prompt 命令列視窗,輸入下面這一行就可以了:
conda install tensorflow-gpu
但 TensorFlow 2.x 之後,Anaconda 並沒有把 conda 這個指令調整得很好。大家已經用到 TensorFlow 2.3 了,conda 安裝出來的最新版居然只到 TensorFlow 2.1。更慘的是,開啟 GPU 加速時,所需搭配的 cuDNN 函式庫與 CUDA Toolkit 版本,也跟 TensorFlow 2.1 這個版本衝得亂七八糟!總之,就是一堆同學裝不起來!機器空有獨立顯卡,但無法發揮 GPU 加速平行運算的能力!
有鑑於此,我今天早上就親自「試水溫」,想辦法找出這幾樣東西的排列組合,到底怎麼樣是對的:
Python版本 x nVidia驅動程式版本 x TensorFlow版本 x cuDNN 函式庫版本 x CUDA Toolkit版本
也順便找出最順暢的安裝流程,分享給大家。希望有需要的朋友能喜歡!
祝福大家都能釋放顯卡平行處理的威力,讓你跑神經網路時,硬是比別人快好幾倍!
有我說明不足的地方,歡迎在下方留言。不敢說一定有能力解決,但我會盡力的! :-)
PS: 本文歡迎轉發、按讚、留言鼓勵我一下!您的隻字片語,都是讓我繼續提供好物的動力喔!
--------
看更多的紀老師,學更多的程式語言:
● YOTTA Python 課程購買: https://bit.ly/2k0zwCy
● YOTTA 機器學習 課程購買: https://bit.ly/30ydLvb
● Facebook 粉絲頁: https://goo.gl/N1z9JB
● YouTube 頻道: https://goo.gl/pQsdCt
如果您覺得這個粉絲頁不錯,請到「評論區」給我一個好評喔!
https://www.facebook.com/pg/teacherchi/reviews/
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「cuda平行運算」的推薦目錄:
- 關於cuda平行運算 在 紀老師程式教學網 Facebook 的精選貼文
- 關於cuda平行運算 在 自強基金會 Facebook 的最佳解答
- 關於cuda平行運算 在 原價屋coolpc Facebook 的最讚貼文
- 關於cuda平行運算 在 コバにゃんチャンネル Youtube 的精選貼文
- 關於cuda平行運算 在 大象中醫 Youtube 的最佳解答
- 關於cuda平行運算 在 大象中醫 Youtube 的最佳貼文
- 關於cuda平行運算 在 [評價] 108-2 趙挺偉CUDA平行計算導論- 看板NTUcourse 的評價
- 關於cuda平行運算 在 NVIDIA Taiwan, profile picture - Facebook 的評價
- 關於cuda平行運算 在 平行處理用CUDA | 泰迪熊的程式足跡 的評價
- 關於cuda平行運算 在 P6T7 WS SuperComputer支援CUDA平行運算能力的效益如何 的評價
- 關於cuda平行運算 在 [問題] cuda gpu運算if else問題- 看板C_and_CPP - PTT數位 ... 的評價
cuda平行運算 在 自強基金會 Facebook 的最佳解答
台北的捧友們有福了🧧🧧
AI人工智慧課程有這~~麼~~多‼️‼️
🈯️🈯️把握這大好機會
大步向AI領域邁進🏃️🏃
⭐️⭐️超值⭐️⭐️《美商摩根大通補助60%》AI/FPGA數位雛型系統設計實務班 (以Verilog為例含專題實作)
http://bit.ly/2WdVG6q
⭐️雙系統手機APP 開發與 物聯網入門應用 (入門班)
http://bit.ly/2ETNP3h
⭐️大數據規劃、整合處理及資料分析與開發設計應用實務
http://bit.ly/2XcGYst
⭐️《智慧電子學院計畫》CUDA平行運算技術及程式優化與TensorFlow深度學習(Deep Learning)實務班
http://bit.ly/2WeF9iy
#台北課程
#AI人工智慧
#大數據
#CUDA
#深度學習
#FPGA
#APP 開發
#物聯網
#美商摩根大通補助超划算
#智慧電子學院計畫
cuda平行運算 在 原價屋coolpc Facebook 的最讚貼文
【#原價屋開箱】要價35萬的Volta 卡王!NVIDIA Quadro GV100 深度運算專業繪圖卡。
http://coolpc.com.tw/phpBB2/viewtopic.php?f=71&t=249957
35萬的高貴價格當然不是拿來打電動拉,除了在大家印象中的專業繪圖領域外,各行各業越來越重視的AI人工智慧、大數據分析、深度學習等應用更是倚靠平行運算效能,而這點正好就是NVIDIA Quadro 繪圖卡專精的領域,這次Quadro GV100 採用12nm 製程的Volta GPU 架構,不但提供了5120個 CUDA 平行運算核心更加入640個Tensor 核心,專用於深度學習矩陣算法比平行運算更快,大幅提升深度學習的資料吞吐量及運算量還更省電!記憶體部分搭載業界最快速的32GB HBM2 ....
cuda平行運算 在 コバにゃんチャンネル Youtube 的精選貼文
cuda平行運算 在 大象中醫 Youtube 的最佳解答
cuda平行運算 在 大象中醫 Youtube 的最佳貼文
cuda平行運算 在 NVIDIA Taiwan, profile picture - Facebook 的推薦與評價
CUDA 及平行運算程式技術#線上研討會· 當面對高效能GPU 硬體規格與多核心之GPU 架構,該如何借助#CUDA 進行優化,處理更複雜的科學問題? ... <看更多>
cuda平行運算 在 平行處理用CUDA | 泰迪熊的程式足跡 的推薦與評價
CUDA 是由NVIDIA所推出的一種整合技術CUDA核心運算技術不但對遊戲、文書處理或是影音轉檔都幫助甚大,今日的GPU在浮點運算效能上早已超越CPU,不但現在 ... ... <看更多>
cuda平行運算 在 [評價] 108-2 趙挺偉CUDA平行計算導論- 看板NTUcourse 的推薦與評價
※ 本文是否可提供臺大同學轉作其他非營利用途?(須保留原作者 ID)
(是/否/其他條件):
是
哪一學年度修課:
108-2
ψ 授課教師 (若為多人合授請寫開課教師,以方便收錄)
趙挺偉
λ 開課系所與授課對象 (是否為必修或通識課 / 內容是否與某些背景相關)
物理所選修
δ 課程大概內容
- An Overivew of Nvidia GPUs,
and GPU Accelerated Computation with CUDA
- Vector Addition, Matrix Addition, Field Theory on 2D lattice
- Vector Addition of Arbitrarily Long Vectors,
Dot Product of 2 Vectors, Parallel Reduction
- Laplace/Poisson Equations on 2-Dim Lattice with Boundary Conditions,
Texture Memory
- CUDA with multi-GPUs, Vector addition with multi-GPUs,
Peer-to-Peer (P2P) communications between GPUs
- Solving Laplace Equation with multi-GPUs, Heat diffusion.
- Histogram, Atomic Operations.
Introduction to Pseudo-Random Number Generators
- Monte Carlo Simulation, Importance Sampling, Metropolis Algorithm
Monte Carlo Simulation of 2D Ising Model
- Monte Carlo Simulation of 2D Ising Model with Parallel Computers.
Even-Odd (Checkboard) Updating Scheme, Constant Memory,
GPU Accelerated MC Simulation of 2D Ising Model with Global Memory
- Error Estimation for Monte Carlo Simulation, Unified Memory,
Vector Addition with the Unified Memory
- Fourier Transform, Discrete Fourier Transform, Fast Fourier Transform,
CUDA Library, cuFFT, Physical Applications.
- CUDA libraries: cuBLAS, Examples: Saxpy, Sgemm
- LAPACK, MAGMA, Examples - dsyevd, zheevd, Physical applications
Ω 私心推薦指數(以五分計) ★★★★★
有物理底子,喜歡寫程式,想了解基本平行計算 ★★★★★
單純想學平行演算法 / CUDA ★★★★★
從上面課程內容可以知道這門課其實很物理,畢竟開個系所就是物理所,所以
如果像我一樣物理很爛的話,可能會有一半的時間聽不懂上課講的東西是怎麼
來的,我自己是後來就都當作給定一些已知事實,想去算某些式子的感覺單純
去學CUDA相關概念的。另外如果物理不好的話寫作業可能會無法驗證自己寫的
code是不是爛的,因為很多作業都跟物理有關,常常我都不知道自己算出來的
東西是在幹嘛QQ
η 上課用書(影印講義或是指定教科書)
真要算的話應該就是 CUDA C Programming Guide吧
https://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf
μ 上課方式(投影片、團體討論、老師教學風格)
全英文上課,老師有一定的口音,但是我覺得不會影響理解
這學期因為疫情,第一次上課後半段就跟大家說會用Zoom上課,老師也跑去
他的辦公室用Zoom講話測試,確保我們都會用Zoom上課
後來用Zoom上課的時候都是用簡報上課,中間會穿插實際跑之前寫好的程式
給我們看
講解程式碼的部分都講得很細,幾乎是把每一行都完整講過一遍,示範的code
也會有簡單的註解可以看,不過非常小的抱怨一下老師用vi沒標色一開始有
點不舒服,不過看久也有點開始習慣沒標色的editor了
老師人很nice的感覺,常常會問大家有什麼問題,有人有問題都會認真回答,
或者有時候有人感覺就是麥忘了關,老師也會確認他是不是真的有問題想問
之前上課的時候問過一個程式相關的問題,老師當下有簡單回答過,但晚上
的時候又寄了一份完整的回答給大家,感覺是真的滿用心的
σ 評分方式(給分甜嗎?是紮實分?)
60% 作業
30% Project
10% 上課表現/學習態度
這門課到最後好像只剩12個人在上,所以我也不確定算不算甜
看成績感覺就是作業準時好好交、Project好好做、上課有出席就會A+
但其實我覺得這應該是基本要求才對,只是總共也只有4個人做到QQ
我自己是這學期心態炸光光,雖然有認真寫作業,但應該超過一半的作業都遲
交,最後拿A。
ρ 考題型式、作業方式
這次總共十份作業,也就是前面幾周每周都有作業,作業內容跟上課內容滿
接近,有時候可能上課的範例程式碼改幾下就好了,不過我是都會自己全部
重寫。
每次作業除了要交程式碼以外也要交一份pdf,內容就是回答一些跟寫的程式
有關的問題,最常見的就是叫你回答實測中最好的參數是哪組,或是比較幾
個方法的快慢,並說明原因。
因為作業是CUDA,也就代表我們的code都會需要GPU才能跑,為了怕大家沒有
自己的GPU,或是不像資工系自己有GPU工作站可以用,這門課有提供上課的學
生6台GPU工作站可以ssh上去用,其中五台每台有兩張970,另外一台是兩張1060
再小抱怨一下OS是debian 9,而且上面沒有tmux只有screen,而且screen似乎
不支援256色,想在screen裡開vim寫code會有點不舒服,而且每台的家目錄是
獨立的,如果想換工作站用要自己搬家。
不過GPU有時候神秘的壞掉(資工系的似乎也會),不過寄信老師都會很快的處
理好。
Project的部份自訂主題,只要跟CUDA/平行有關應該都可以,最後要交一份
report跟code。
我自己是嘗試用CUDA實作了Doc2VecC,但跑得比原本CPU版的還慢很多很多,
最後report寫了我的嘗試跟一些可能的問題,最後拿了個中位數的Project成
績。
ω 其它(是否注重出席率?如果為外系選修,需先有什麼基礎較好嗎?老師個性?
加簽習慣?嚴禁遲到等…)
這學期是沒人來簽,但感覺這門課要選就選的上吧,開30人這學期也只有12
人上到底。
基礎的話最基本的應該就是C/C++了,畢竟CUDA就是C++的某種extension,老
師上課不會講C++語法的部分,所以一定要會寫C/C++,不然我猜應該一開始
就不知道在幹嘛了。
另外跟前面講的一樣,我覺得可能還是要有一定的物理能力,至少不會像我
一樣上課常常都很懵。
Ψ 總結
老師教的東西雖然不是很新,但是應該算是通用的,畢竟也不可能真的把整
個CUDA C Programming講完,而且很多新的東西舊的GPU像970也不會支援
個人覺得如果是跟我一樣只想學平行演算法的話,是不太推薦修這門課,但
是如果是想學平行演算法在科學計算上的各種應用的話,我覺得這門課應該
不會太差
這門課以一個2學分的課來看的話我是覺得花的時間有點小多,但這部分很有
可能是因為我每次作業都堅持從0開始刻,要修的話可以斟酌一下
--
Send from JPTT on my Google Glass
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.102.192 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/NTUcourse/M.1594669505.A.BFE.html
※ 編輯: oToToT (123.193.102.192 臺灣), 07/14/2020 03:46:33
※ 編輯: oToToT (123.193.102.192 臺灣), 07/14/2020 03:53:03
... <看更多>