TensorFlow依舊有王者榮耀,但PyTorch虎視眈眈。
今天,PyTorch官方在GitHub發布0.4.0版本,最重要的改進是支持Windows系統。
PyTorch是在2017年1月由Facebook推出的。它是經典機器學習庫Torch框架的一個端口,Torch二進制文件包裝于GPU加速的Python。
除了GPU加速和內存使用的高效外,PyTorch受歡迎的主要因素是動態計算圖的使用。已經有其他一些不太知名的深度學習框架使用動態計算圖,例如Chainer。
動態圖的優點在于,圖(graph)是由run定義(“define by run”),而不是傳統的“define and run”。特別是,在輸入可以變化的情況下,例如文本這樣的非結構化數據,這非常有用而且高效。
圖:PyTorch動態計算圖 - 來源:http://pytorch.org/about/
以下為更新內容目錄:
主要核心變更
Tensor/Variable合并
零維張量
dtypes
遷移指南
新功能
張量
全面支持高級索引
快速傅立葉變換
權衡內存計算
bottleneck - 一個在你的代碼中識別hotspots的工具
torch.distributions
24個基本概率分布
增加了cdf,方差,熵,困惑度(perplexity)等。
分布式訓練
易于使用的Launcher utility
NCCL2后端
C ++擴展
Windows支持
ONNX改進
RNN支持
性能改進
Bug修復
主要核心變化
以下是用戶每天使用的最重要的核心功能的更新。
主要變化和潛在的重要更新:
Tensors和Variables已經合并
有些操作會返回0維(標量)Tensors
棄用了volatileflag
改進:
添加了dtypes,devices和 Numpy 風格的Tensor創建函數
支持編寫與device無關的代碼
PyTorch團隊編寫了一個遷移指南,幫助用戶將代碼轉換為新的API和style。如果您想要遷移以前版本的PyTorch中的代碼。
遷移指南:http://pytorch.org/2018/04/22/0_4_0-migration-guide.html
本部分的內容(主要核心變更)包含在遷移指南中。
合并Tensor和Variable類
torch.autograd.Variable和torch.Tensor現在是同一類。更確切地說,torch.Tensor能夠跟蹤歷史并像舊的Variable一樣運行;Variable的換行繼續像以前一樣工作,但返回的對象類型變成torch.Tensor。這意味著你不再需要將代碼中的任何Variable wrapper。
Tensor的type( )已經改變
還要注意Tensor的type( )不再反映數據類型。使用isinstance()或x.type()來代替:
Windows支持
PyTorch現在正式支持Windows!我們為Python 3.5和3.6提供預編譯的Conda二進制文件和pip wheels。Windows上的PyTorch不支持分布式訓練,可能比Linux / OSX慢一點,因為Visual Studio支持較早版本的OpenMP。
與往常一樣,你可以使用http://pytorch.org上的命令在Windows上安裝PyTorch。
-
WINDOWS
+關注
關注
4文章
3551瀏覽量
88841 -
API
+關注
關注
2文章
1503瀏覽量
62140 -
機器學習
+關注
關注
66文章
8423瀏覽量
132752 -
pytorch
+關注
關注
2文章
808瀏覽量
13246
原文標題:年度最大更新!PyTorch 0.4:完全改變API,官方支持Windows
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論