close

第一章 PyTorch 簡介與安裝

本章,將帶領讀者踏入PyTorch的環境配置之路,從Python虛擬環境的搭建到IDE的安裝,CUDAcuDNN的配置,再到PyTorch的精細安裝,直至Jupyter Notebook的實踐,每一步均圖文並茂。

篇章概覽:

  • PyTorch初認識:開篇,將揭示PyTorch的起源,介紹它如何加速從科研原型至部署的路徑,以及背後的歷史與哲學。
  • Anaconda環境配置:深入Python虛擬環境的搭建,Anaconda的語法,如何借助它輕鬆管理Python環境與包,創建隔離的環境,為PyTorch鋪路。
  • IDE選擇:PyCharm & VS Code:對比兩大IDEPyCharm的社區版與專業版,VS Code
  • CUDAcuDNN:介紹CUDAcuDNN的安裝,如何讓GPU驅動PyTorch加速,選對的CUDA版本匹配,是關鍵的一節。
  • PyTorch系列包安裝:從torchtorchvisiontorchaudiotorchtext,將詳細介紹安裝流程與版本匹配。
  • Jupyter Notebook實踐:介紹Jupyter Notebook的概念及安裝,並且配置Kernel

1.1 PyTorch 初認識

一句話認識PyTorch

“An open source machine learning framework that accelerates the path from research prototyping to production deployment.” ——選自 https://pytorch.org/

PyTorch 是一個開源機器學習框架,説明使用者加速從演算法模型研究到產品部署的過程。

PyTorch歷史

FAIR Facebook AI ResearchFacebook人工智慧研究院 )於2017年初發佈PyTorchPyTorch 的命名由 Py(代表 Python)和 Torch 組成。Py就是python語言,Torch是一款早期的深度學習框架,所以PyTorch是在Torch基礎上用python語言重新打造的一款深度學習框架。

那麼什麼是Torch呢?Torch是紐約大學在2002年開發的深度學習框架。Torch雖然很好用,但是它採用了一門較為小眾的語言——Lua語言作為介面。這明顯地增高了Torch的使用門檻,想要使用Torch必須學習一門新的程式設計語言,這讓大家都望而卻步。

好在Torch的幕後團隊也意識到這一點,於是團隊採用python語言作為介面對Torch進行了重構,於是就有了PyTorch

PyTorch代碼最早公開版本可追溯至2016824日的v0.1.1https://github.com/pytorch/pytorch/tags?after=v0.1.4

隨後

•20171月正式發佈PyTorch

•20184月更新0.4.0版,支援Windows系統

•201811月更新1.0穩定版,已成為GitHub上第二快的開源項目

......

PyTorch版本的更新感興趣的讀者,可以關注PyTorch-Tags,這裡是最權威版本更新資訊來源,要比官方文檔還要快。

PyTorch必備網站

要熟悉PyTorch,不得不熟悉PyTorch的一些官方網站,以及這些網站的使用。下面列舉幾個實用的PyTorch網站。

官網 https://pytorch.org/

官網包含權威的PyTorch介紹、PyTorch官方文檔、生態資源等資訊。例如在Get Started中,可以獲取權威的安裝資訊。例如,特定版本下,windows系統,所支援的CUDA版本是多少,這點非常關鍵,往往GPU用不起來,就是CUDA版本不匹配。

 

 

 

安装命令.png

 

除了最新穩定版,還可以下載歷史版本的whl檔,進行離線安裝(網速不好的讀者,建議手動下載whl,然後進行安裝)。歷史版本whl的在哪那裡下載呢? 是需要挖掘的,網址在上圖的windows系統、Pip安裝、PythonCUDA條件下才會出現,它是:https://download.pytorch.org/whl,點擊torch,就可以發現所有歷史版本都在這裡可以找到,並且命名都有良好的規範,這裡不過多介紹,在安裝部分再詳細講解。

除了Get Started欄目,其它欄目也是很好的學習資料。

  • EcosystemPyTorch生態系統資源庫,裡面收錄生態系統內的資源,也歡迎大家加入並貢獻資源,裡邊有CV資料增強開源庫——albumentationsFB的目標檢測和分割演算法庫——detectron2、優秀的部署平臺——onnxruntime等等
  • Mobile:移動端PyTorch實現方案及資源。
  • BlogPyTorch相關新聞。
  • Tutorials:案例教程,這裡面都是個人提供的、針對某一個應用的demo級的教程。包含如下方向,對於新手來說,可以看一下,瞭解個大概,但裡面的代碼多是demo,無法開箱即用於項目應用,這也是本書第二部分將會彌補的地方,敬請期待。
  •  

 

  • Docstutorial主题.pngPyTorch API官方文檔, 這也是我一直首推的學習資料,PyTorch的文檔非常友好,可以查閱不同版本,各個API都有詳細介紹,大多都有代碼案例,PyTorch的基礎部分主要從這裡開始進行講解。Docs下還會分PyTorchtorchvisiontorchaudiotorchtext等,大家需要針對性的檢索。
  • Resource:這裡包含各種資源,如社區、新聞報導、論壇、ModelHub資源等等。

PyTorch發展趨勢

為什麼要學PyTorch 因為PyTorch發展迅猛,已經在多方面榮登深度學習框架第一的寶座,學術界絕大多數論文都有PyTorch實現,想要緊跟技術,利用新模型進行科學研究,進行專案開發的,不得不跟隨學術界的趨勢,所以可以看到PyTorch席捲各界。

PyTorch稱王,TensorFlow答應麼?一起來看看幾個資料。

1 各大頂會期刊中,使用PyTorch的論文數量占PyTorch+TensorFlow的百分比。其實就是 p / (p+t),這裡有一個分界點就是50%,當達到50%時,說明PyTorchTensorFlow平分秋色,當大於50%時說明PyTorch已經超過TF,而當資料超過75%,表明PyTorch已經是TF的兩倍。從這個趨勢可以發現轉捩點在2018-2019年之間發生,現在已經2021年末了,哪個框架是學術界的帶頭大哥?

<<AI人工智慧 PyTorch自學>> 上篇:PYTORC

 

2:這幅圖對比的是PyTorchTF的決定數量,可以看到TF的份額被PyTorch一步步蠶食,實線代表的PyTorch持續上揚,TF的虛線不斷下探。

<<AI人工智慧 PyTorch自學>> 上篇:PYTORC

圖片出自:https://horace.io/pytorch-vs-tensorflow/

通過學術界的論文情況就可以說明PyTorch是未來的大勢所趨,雖然說早期PyTorch在工業部署上並不如TensorFlow,但是如今PyTorch推出了libtorchTorchServe,以及各類優秀的,適配性良好的部署框架層出不窮,如TensorRTOpenVINOONNX等,都可以幫助PyTorch進行快速部署

感覺PyTorch是在學術界佔據主導地位,讓科研工作者感到滿意,新模型都是PyTorch實現的,工業界的開發者總不能不用最新的演算法、模型,只能紛紛轉向PyTorch了。因此,相信大家選擇使用PyTorch進行深度學習、機器學習模型開發,一定能加速大家的演算法模型開發,也印證了PyTorch的主旨——An open source machine learning framework that accelerates the path from research prototyping to production deployment.”

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 HCHUNGW 的頭像
    HCHUNGW

    HCHUNGW的部落格

    HCHUNGW 發表在 痞客邦 留言(0) 人氣()