目錄
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是一個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/torch7pypi 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)、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。 一個深刻的學習研究平台,提供最大的靈活性和速度。