深入淺出PyTorch_1_簡介和安裝

[toc]

PyTorch簡介

1.1.1 PyTorch的介紹

PyTorch是由Facebook人工智能研究小組開發(fā)的一種基于Lua編寫的Torch庫的Python實現(xiàn)的深度學習庫路狮,目前被廣泛應(yīng)用于學術(shù)界和工業(yè)界,而隨著Caffe2項目并入Pytorch歹茶, Pytorch開始影響到TensorFlow在深度學習應(yīng)用框架領(lǐng)域的地位±ぐ矗總的來說,PyTorch是當前難得的簡潔優(yōu)雅且高效快速的框架馒过。因此本課程我們選擇了PyTorch來進行開源學習臭脓。

1.1.2 PyTorch的發(fā)展

“All in Pytorch”,對于PyTorch的發(fā)展我們只能用一句話來概況了腹忽,PyTorch自從提出就獲得巨大的關(guān)注以及用戶數(shù)量的劇增来累,而最直觀的莫過于下面統(tǒng)計圖所表現(xiàn)的的簡明直了。

下圖來自Paper with code網(wǎng)站窘奏,顏色面積代表使用該框架的論文公開代碼庫的數(shù)量佃扼,我們可以發(fā)現(xiàn)截至2021年6月,PyTorch的代碼實現(xiàn)已經(jīng)是TensorFlow實現(xiàn)的4倍蔼夜,我們也可以看紅色部分的PyTorch正在取代他的老大哥稱霸學術(shù)圈兼耀,PyTorch會借助ONNX所帶來的落地能力在工業(yè)界逐漸走向主導地位。

總的來說求冷,我們必須承認到現(xiàn)在為止PyTorch還是有不如別的框架的地方瘤运,但是框架只是給我們提供了輪子,讓我們造汽車更加方便匠题,最重要的還是我們個人的科學素養(yǎng)的提升拯坟。

image

1.1.3 PyTorch的優(yōu)勢

PyTorch有著下面的優(yōu)勢:

  • 更加簡潔,相比于其他的框架韭山,PyTorch的框架更加簡潔郁季,易于理解。PyTorch的設(shè)計追求最少的封裝钱磅,避免重復造輪子梦裂。
  • 上手快,掌握numpy和基本的深度學習知識就可以上手盖淡。
  • PyTorch有著良好的文檔和社區(qū)支持年柠,作者親自維護的論壇供用戶交流和求教問題。Facebook 人工智能研究院對PyTorch提供了強力支持褪迟,作為當今排名前三的深度學習研究機構(gòu)冗恨,F(xiàn)AIR的支持足以確保PyTorch獲得持續(xù)的開發(fā)更新。
  • 項目開源味赃,在Github上有越來越多的開源代碼是使用PyTorch進行開發(fā)掀抹。
  • 可以更好的調(diào)試代碼,PyTorch可以讓我們逐行執(zhí)行我們的腳本心俗。這就像調(diào)試NumPy一樣 – 我們可以輕松訪問代碼中的所有對象傲武,并且可以使用打印語句(或其他標準的Python調(diào)試)來查看方法失敗的位置。
  • 越來越完善的擴展庫,活力旺盛谱轨,正處在當打之年

PyTorch的安裝(m1環(huán)境)

本安裝教程主要參考
《金玉良緣易配而木石前盟難得|M1 Mac os(Apple Silicon)天生一對Python3開發(fā)環(huán)境搭建(集成深度學習框架Tensorflow/Pytorch)》

conda安裝

進入下載頁面:https://github.com/conda-forge/miniforge/#download 選擇mac arm64位架構(gòu):

image

下載成功后吠谢,進入命令行目錄土童,執(zhí)行命令進行安裝:

#進入命令行目錄
cd ~/Downloads

#執(zhí)行命令進行安裝
sudo bash ./Miniforge3-MacOSX-arm64.sh

隨后會有一些條款需要確認,一路Yes Yes...

然后編輯配置文件vim ~/.zshrc工坊,加入如下內(nèi)容:

path=('/Users/{您的mac用戶名}}/miniforge3/bin' $path)
export PATH

存盤之后執(zhí)行命令

source ~/.zshrc

配置好環(huán)境變量之后献汗,鍵入python3 ,顯示如下王污,即表示安裝完成

~python3

Python 3.9.2 | packaged by conda-forge | (default, Feb 21 2021, 05:00:30) 
[Clang 11.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.

接下來罢吃,需要配置一下conda的國內(nèi)下載源

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/

conda config --set show_channel_urls yes

基本環(huán)境配置完畢。

PyTorch (cpu版)安裝

當前arm64架構(gòu)的只支持3.9版本昭齐,所以我們來創(chuàng)建一個虛擬空間
尿招,這里提前將需要的基礎(chǔ)庫都一一安裝,因為如果不在創(chuàng)建虛擬空間時提前安裝阱驾,之后使用pip是安裝不上的

sudo conda create -n pytorch numpy matplotlib pandas python=3.9

安裝成功后就谜,激活環(huán)境:

source activate

(pytorch) ?  conda activate pytorch  

隨后下載arm64版本的pytorch安裝包:
https://github.com/wizyoung/AppleSiliconSelfBuilds/blob/main/builds/torch-1.8.0a0-cp39-cp39-macosx_11_0_arm64.whl

下載成功后,執(zhí)行安裝命令:

sudo pip install torch-1.8.0a0-cp39-cp39-macosx_11_0_arm64.whl

至此安裝成功里覆,一般這個過程沒啥坑丧荐。

PyTorch 測試

讓我們來試試Pytorch在M1芯片加持后的性能,編寫test_torch.py:

from tqdm import tqdm
import torch

@torch.jit.script
def foo():
    x = torch.ones((1024 * 12, 1024 * 12), dtype=torch.float32)
    y = torch.ones((1024 * 12, 1024 * 12), dtype=torch.float32)
    z = x + y
    return z


if __name__ == '__main__':
    z0 = None
    for _ in tqdm(range(10000000000)):
        zz = foo()
        if z0 is None:
            z0 = zz
        else:
            z0 += zz

矩陣加法邏輯運算達到了45 it/s喧枷,torch短時間內(nèi)適配M1芯片虹统,如此性能已經(jīng)非常驚艷了。

PyCharm配置conda 虛擬環(huán)境

  1. 進入setting隧甚,進入Project Interpreter ,選擇解釋器-->show All
  2. 點擊右邊的+號
  3. 選擇Existing environment-->點擊省略號
  4. 選擇conda環(huán)境目錄(在annaconda安裝目錄的envs下面)车荔,進入環(huán)境文件夾后選擇python即可
  5. 選擇好后,一路點擊ok戚扳,直到setting界面夸赫,選擇好剛載入的環(huán)境解釋器,確認即可咖城。

Q: m1芯片是否支持安裝PyTorch(GPU版)?

A: 不支持(截止2021.10.12 https://discuss.pytorch.org/t/how-to-run-on-gpu-in-apple-m1/132071

截圖_20211012140352.png

參考資料及相關(guān)材料

  1. Awesome-pytorch-list:目前已獲12K Star茬腿,包含了NLP,CV,常見庫,論文實現(xiàn)以及Pytorch的其他項目宜雀。
  2. PyTorch官方文檔:官方發(fā)布的文檔切平,十分豐富。
  3. Pytorch-handbook:GitHub上已經(jīng)收獲14.8K辐董,pytorch手中書悴品。
  4. PyTorch官方社區(qū):在這里你可以和開發(fā)pytorch的人們進行交流。
  5. M1 Mac os(Apple Silicon)天生一對Python3開發(fā)環(huán)境搭建(集成深度學習框架Tensorflow/Pytorch):M1配置python,照著配置就對了。
  6. 深入淺出PyTorch學習資料:教程淺顯易懂苔严,初學者必備定枷。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市届氢,隨后出現(xiàn)的幾起案子欠窒,更是在濱河造成了極大的恐慌,老刑警劉巖退子,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岖妄,死亡現(xiàn)場離奇詭異,居然都是意外死亡寂祥,警方通過查閱死者的電腦和手機荐虐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丸凭,“玉大人福扬,你說我怎么就攤上這事∠” “怎么了忧换?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長向拆。 經(jīng)常有香客問我亚茬,道長,這世上最難降的妖魔是什么浓恳? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任刹缝,我火速辦了婚禮,結(jié)果婚禮上颈将,老公的妹妹穿的比我還像新娘梢夯。我一直安慰自己,他們只是感情好晴圾,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布颂砸。 她就那樣靜靜地躺著,像睡著了一般死姚。 火紅的嫁衣襯著肌膚如雪人乓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天都毒,我揣著相機與錄音色罚,去河邊找鬼。 笑死账劲,一個胖子當著我的面吹牛戳护,可吹牛的內(nèi)容都是我干的金抡。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼腌且,長吁一口氣:“原來是場噩夢啊……” “哼梗肝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起铺董,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤巫击,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后柄粹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喘鸟,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡匆绣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年驻右,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崎淳。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡堪夭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拣凹,到底是詐尸還是另有隱情森爽,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布嚣镜,位于F島的核電站爬迟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏菊匿。R本人自食惡果不足惜付呕,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望跌捆。 院中可真熱鬧徽职,春花似錦、人聲如沸佩厚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抄瓦。三九已至潮瓶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钙姊,已是汗流浹背筋讨。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留摸恍,地道東北人悉罕。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓赤屋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親壁袄。 傳聞我的和親對象是個殘疾皇子类早,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容