[筆記分享] 我如何在 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/
「平行處理python」的推薦目錄:
- 關於平行處理python 在 紀老師程式教學網 Facebook 的精選貼文
- 關於平行處理python 在 軟體開發學習資訊分享 Facebook 的最佳解答
- 關於平行處理python 在 Re: [問題] python multiProcess效能很差? - 批踢踢實業坊 的評價
- 關於平行處理python 在 嗡嗡的隨手筆記- 前言在python 中有thread 與multiprocess... 的評價
- 關於平行處理python 在 Python threading2023-在Facebook/IG/Youtube上的焦點新聞 ... 的評價
- 關於平行處理python 在 Python threading2023-在Facebook/IG/Youtube上的焦點新聞 ... 的評價
- 關於平行處理python 在 [問題] 平行處理問題- 看板Python - PTT網頁版 的評價
- 關於平行處理python 在 NumPy在運算矩陣時會自動使用平行運算(多核心)嗎? #8 的評價
- 關於平行處理python 在 Python 使用threading 套件來讓多執行緒來加速運算速度 的評價
- 關於平行處理python 在 【python】python教學#python #python 資料擷取#Python網路 ... 的評價
平行處理python 在 軟體開發學習資訊分享 Facebook 的最佳解答
今日內容摘要
✅ 程式碼分析器工具、缺陷資料庫和 Clang 靜態分析器與 Clang Tidy 的檢視器擴充
✅ 人性化設計的驗證碼解決器瀏覽器擴充套件
✅ 一個容易操作和預測時間序列的 python 程式庫
✅ 基於 eBPF 用於提供並透明地保護網路連線和應用程式工作負載(如應用程式容器或 process)之間的負載平衡
✅ 功能齊全,開源,對隱私友好的 Android 電子郵件應用程式
✅ 流行的聊天和網路電話服務 Discord 的 Java 包裝器
✅ 容器的應用程式核心
✅ 一個 Rust 的資料平行處理程式庫
✅ 用 Rust 編寫可靠的非同步應用程式的 runtime
https://softnshare.com/opensource-news-167/
平行處理python 在 嗡嗡的隨手筆記- 前言在python 中有thread 與multiprocess... 的推薦與評價
前言在python 中有thread 與multiprocess 兩種平行處理程式的方式, 若只是單純的平行需求,我們可以使用threading 這個模組來快速完成平行處理的方式。 ... <看更多>
平行處理python 在 Python threading2023-在Facebook/IG/Youtube上的焦點新聞 ... 的推薦與評價
Python threading在2023的熱門內容就在年度社群熱搜話題焦點新聞網. ... 在python 中有thread 與multiprocess 兩種平行處理程式的方式,若只是單純的平行需求,我們 ... ... <看更多>
平行處理python 在 Re: [問題] python multiProcess效能很差? - 批踢踢實業坊 的推薦與評價
經過大家的提醒,我修改了我的代碼如下
if __name__ == "__main__":
content = input_file(target).split("\n")
content = manager.list(content)
for files in source:
obj_grab.append((LogCatcher(files), content))
pool = Pool()
pool.map(transferConcat, obj_grab)
pool.close()
pool.join()
def concatMessage(logCatcher, content):
for key in logCatcher.dic_map:
regex = re.compile(key)
for j in range(len(content)):
for m in re.finditer(regex, content[j]):
content[j] += logCatcher.index + obj_grab.dic_map[key]
def transferConcat(args):
return concatMessage(*args)
結果變82秒....
人生已經如此的艱難...
請問這裡哪一步又做錯了呢?
------------------------------------------------------------------------
補充:obj_grab是一個list,裡面放不同file input產生的logCatcher
content是我要改的file,用manager()宣告是要讓不同process同時修改
※ 引述《ntuleo (里歐)》之銘言:
: 主要是參考segmentfault的這篇
: https://segmentfault.com/a/1190000000414339
: 看起來很有效,可是實際...
: if __name__ == "__name__":
: pool = Pool()
: content = pool.map(transferConcat, [(obj_grab, content)])[0]
: pool.close()
: pool.join()
: def concatMessage(obj_grab, content):
: for logCatcher in obj_grab:
: for key in logCatcher.dic_map:
: regex = re.compile(key)
: for j in range(len(content)):
: for m in re.finditer(regex, content[j]):
: content[j] += " " + logCatcher.index + " " + logCatcher.dic_map[key]
: return content
: def transferConcat(args):
: return concatMessage(*args)
: 以上是我的代碼(部分,只貼問題點),執行時間22秒
: 若單純執行method大概也是22秒...等於沒加速...
: 我試過調整pool的數量,沒什麼效果
: 請問要怎麼做才能真正體現mulitiProcess的效能呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.50.98
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1430271720.A.120.html
... <看更多>