DL框架之PyTorch:深度学习框架PyTorch的简介、安装、使用方法之详细攻略
DL框架之PyTorch:PyTorch的簡介、安裝、使用方法之詳細攻略
DL框架之PyTorch:深度學習框架PyTorch的簡介、安裝、使用方法之詳細攻略
?
?
目錄
PyTorch的簡介
1、pytorch的三大優勢
2、PyTorch的三個結構層次
PyTorch的安裝
1、20181114更新版本到 torch-0.4.1
2、20200108更新版本到 torch 1.3.1
3、Anaconda內安裝torch的whl文件更新版本到 torch 1.3.1
4、Anaconda內安裝torch的whl文件更新版本到 torch 1.0.0
PyTorch的使用方法
0、Pytorch基礎知識
1、Pytorch三行命令即可運算
2、Pytorch加載預訓練模型
?
相關文章
DL框架之PyTorch:PyTorch的簡介、安裝、使用方法之詳細攻略
Py之torchvision:torchvision庫的簡介、安裝、使用方法之詳細攻略
?
PyTorch的簡介
? ? ? ?pytorch是一個python優先的深度學習框架,是一個和tensorflow,Caffe,MXnet一樣,非常底層的框架。? ? ?
? ? ? ?在 AI 開發中,從研究到產品的過程通常涉及很多的步驟和工具,使得測試新方法、部署以及迭代提高準確率和性能很耗時、復雜。為了幫助加速和優化這個過程,Facebook 發布了 PyTorch 1.0,其開源 AI 框架的最新版本。
? ? ? ?PyTorch 1.0 發布在即,全新的版本融合了 Caffe2 和 ONNX 支持模塊化、面向生產的功能,并保留了 PyTorch 現有的靈活、以研究為中心的設計。PyTorch 1.0 從 Caffe2 和 ONNX 移植了模塊化和產品導向的功能,并將它們和 PyTorch 已有的靈活、專注研究的設計結合,已提供多種 AI 項目的從研究原型制作到產品部署的快速、無縫路徑。利用 PyTorch 1.0,AI 開發者可以通過混合前端快速地實驗和優化性能,該前端可以在命令式執行和聲明式執行之間無縫地轉換。PyTorch 1.0 中的技術已經讓很多 Facebook 的產品和服務變得更強大,包括每天執行 60 億次文本翻譯。
? ? ? ?PyTorch是一個基于Torch的Python開源機器學習庫,用于自然語言處理等應用程序。它主要由Facebookd的人工智能小組開發,不僅能夠 實現強大的GPU加速,同時還支持動態神經網絡,這一點是現在很多主流框架如TensorFlow都不支持的。 PyTorch提供了兩個高級功能: 1.具有強大的GPU加速的張量計算(如Numpy) 2.包含自動求導系統的深度神經網絡 除了Facebook之外,Twitter、GMU和Salesforce等機構都采用了PyTorch。
? ? ? ?從 PyTorch 到 Caffe2 的遷移過程以前是手動的、耗時間的和容易出錯的。為了解決這個問題,Facebook 與主要的硬件和軟件公司合作創建了 ONNX(開放神經網絡交換格式),這是一種用于表示深度學習模型的開放格式。通過 ONNX,開發者能在不同的框架間共享模型,例如我們可以導出由 PyTorch 構建的模型,并將它們導入到 Caffe2。在 Facebook 中,這令我們能在大規模服務器和移動端上快速實現 AI 的研究、訓練和推斷。Facebook 已經用這些工具(PyTorch、Caffe2 和 ONNX)來構建和部署 Translate,這一工具能大規模運行并支持翻譯 Facebook 中最常用的 48 種語言。在 VR 中,這些工具對于將基于 Oculus 的新研究部署到生產過程中至關重要。
? ? ? ?Torch官網:https://pytorch.org/
? ? ? ?Torch官網的gitHub:https://github.com/torch/torch7
? ? ? ?pypi torch : ?https://pypi.org/project/torch/
? ? ? ?Torch自稱為神經網絡界的 Numpy,因為他能將 torch 產生的 tensor 放在 GPU 中加速運算 (前提是你有合適的 GPU), 就像 Numpy 會把 array 放在 CPU 中加速運算。 所以神經網絡的話, 當然是用 Torch 的 tensor 形式數據最好。 就像 Tensorflow 當中的 tensor 一樣。pytorch是一個動態的建圖的工具。不像Tensorflow那樣,先建圖,然后通過feed和run重復執行建好的圖。相對來說,pytorch具有更好的靈活性。
?? ? ?如圖所示,Torch已經實現了很多庫,比如ML、RL等。
(1)、比如查詢BatchNormalization算法的實現
1、pytorch的三大優勢
- (1)、Python優先支持策略:Pytorch主推的特性之一,就是支持python(官方的提法:puts Python first)。因為直接構建自 Python C API,Pytorch從細粒度上直接支持python的訪問。相比于原生Python實現,引入的新概念很少,這不僅降低了 python 用戶理解的門檻,也能保證代碼基本跟原生的 python 實現一致。事實上,開發者可以直接用原生 python 代碼擴展 Pytorch 的 operation。
- (2)、動態圖的良好支持:Tensorflow運行必須提前建好靜態計算圖,然后通過feed和run重復執行建好的圖。但是Pytorch卻不需要這么麻煩:PyTorch的程序可以在執行時動態構建/調整計算圖。相對來說,pytorch具有更好的靈活性。這得益于Pytorch直接基于 python C API 構建的 python 接口。
- (3)、易于Debug:Pytorch在運行時可以生成動態圖,開發者就可以在堆棧跟蹤中看到哪一行代碼導致了錯誤。你甚至可以在調試器中停掉解釋器并看看某個層會產生什么。
- (4)、PyTorch可以使用GPU的功能代替numpy。 一個深刻的學習研究平臺,提供最大的靈活性和速度。
?
2、PyTorch的三個結構層次
- tensor:張量,多維數組,可在GPU上跑。
- variable:可記住tensor在計算圖中的位置,可知道當前variable和之前variable的關系。
- module:神經網絡的層次,如全連接層、卷積層。
?
PyTorch的安裝
pip install torch pip install torch==0.4.1.post2T1方法 git clone https://github.com/pytorch/vision cd vision python setup.py install T2方法 pip3 install http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl? pip3 install torchvisionT3方法 pip install torch-0.4.0-cp36-cp36m-win_amd64.whl pip install torchvision?
1、20181114更新版本到 torch-0.4.1
pip3 install http://download.pytorch.org/whl/cu80/torch-0.4.1-cp36-cp36m-win_amd64.whl pip3 install torchvision
(1)、測試
?
2、20200108更新版本到 torch 1.3.1
官網:https://pytorch.org/
執行命令:
pip3 install torch===1.3.1 torchvision===0.4.2 -f https://download.pytorch.org/whl/torch_stable.html或者 pip install torch-1.3.1-cp36-cp36m-win_amd64.whl?
3、Anaconda內安裝torch的whl文件更新版本到 torch 1.3.1
pip install D:\ProgramData\Anaconda3\envs\torch-1.3.1-cp36-cp36m-win_amd64.whl
?
4、Anaconda內安裝torch的whl文件更新版本到 torch 1.0.0
pip install torch===1.0.0 torchvision===0.2.1 -f https://download.pytorch.org/whl/cu100/torch_stable.html
?
?
PyTorch的使用方法
相關文章
Pytorch之CNN:基于Pytorch框架實現經典卷積神經網絡的算法(LeNet、AlexNet、VGG、NIN、GoogleNet、ResNet)——從代碼認知CNN經典架構
?
0、Pytorch基礎知識
1、PyTorch是一個提供兩個高級功能的python包: ?
具有強GPU加速度的張量計算(如numpy)?
深層神經網絡建立在基于磁帶的自動調整系統上?
可以重用您最喜愛的python軟件包,如numpy,scipy和Cython,以便在需要時擴展PyTorch。 ?
2、PyTorch在細粒度級別是由以下組件組成的庫:
torch? ?像NumPy這樣的Tensor圖書館,擁有強大的GPU支持?
torch.autograd ??一種基于磁帶的自動分類庫,支持所有可區分的Tensor操作手電筒。pytorch的自動求導工具包在torch.autograd中。
torch.nn? ?一個神經網絡庫與autograd設計了最大的靈活性。pytorch神經網絡構建很容易,主要使用的包是torch.nn這個包,可以嘗試使用pytorch構建一個簡單的二層神經網絡結構。
torch.optim? ?一種與torch.nn一起使用的優化包,具有標準優化方法,如SGD,RMSProp,LBFGS,Adam等。?
torch.multiprocessing? ?python多處理,但是具有魔法內存共享的手電筒傳感器跨過程。適用于數據加載和hogwild培訓。
torch.utils? ?DataLoader,Trainer等實用功能為方便起見 torch.legacy(.nn / .optim) 由于向后兼容性原因,已經從割炬移植的舊代碼?
1、Pytorch三行命令即可運算
?
2、Pytorch加載預訓練模型
import torch import torchvisionalexnet= torchvision.models.models.alexnet(pretrained=True) vgg16 = torchvision.models.vgg16(pretrained=True) resnet101 = torchvision.models.resnet101(pretrained=True) resnet152 = torchvision.models.resnet152(pretrained=True)?
?
?
?
?
參考文獻
PyTorch官網
PyTorch中文文檔
pytorch入門
pytorch 學習筆記(一)
Win10 Python3.6下安裝PyTorch
總結
以上是生活随笔為你收集整理的DL框架之PyTorch:深度学习框架PyTorch的简介、安装、使用方法之详细攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Crawler:基于BeautifulS
- 下一篇: Py之dominate:python的d