首頁 > 科技

PyTorch 1.9釋出!移動端瘋狂更新,網友:我的最愛

2021-06-16 14:01:16

明敏 發自 凹非寺 量子位 報道 | 公眾號 QbitAI

時隔僅3個月,PyTorch再次迎來升級——1.9版本

這一次,官方把重頭戲放在了移動端上。

不僅Mobile Interpreter釋出了新版本,而且TorchVision庫也支援在手機上使用了,iOS、Android都支援!

網友看了都表示:

這一次更新中,我對移動端最感興趣。

而此次1.9版本集合了自2021年3月1.8版本釋出以來,超過3400次GitHub提交。

除了移動裝置端方面,還有其他諸多亮點:

前端API改進(包括torch.linalg、torch.special和 Complex Autograd)實現對彈性、容錯分散式訓練的本地支援更新PyTorch模型效能分析器LeCun也在Twitter上站臺,稱讚PyTorch做的一次比一次好!

在手機上用TorchVision庫

首先就是PyTorch Mobile最受歡迎的功能之一Mobile Interpreter更新了。

最新版本能夠將移動裝置上的二進位制檔案大小降低到原來大小的一半以下

比如,在arm64-v8a架構的Android裝置中使用MobileNetV2的pt大小,壓縮前為17.8MB、壓縮後為8.6MB。

而使用新版Mobile Interpreter後,可以把壓縮前的檔案大小降低到8MB以下,壓縮後的大小降低到4MB以下。

與此同時,從1.9版本開始,使用者可以在iOS、Android的APP上使用TorchVision庫了。

在iOS上,它需要和主要的PyTorch庫連結在一起使用;在Android上,則可作為gradle依賴項新增。

在demo APP方面,這一次更新了一個新的基於PyTorch Video庫的視訊APP和一個基於最新torchaudio,、wave2vec模型的語音識別APP。

有了這兩個APP後,PyTorch現在可以提供影象、文字、音訊和視訊在內的一整套demo APP。

前端API改進

1.9版本中,對torch.linalg、torch.special和Complex Autograd等模組進行了完善。

torch.linalg模組現在可以實現NumPy線性代數模組中的每個函數;

Complex Autograd更新的新功能,可以計算複雜梯度、優化損失函數。

此外,為了幫助偵錯和編寫可重現的程式,PyTorch 1.9增加了一個torch.use_determinstic_algorithms選項。

這是為了避免運行中可能會出現的錯誤,如下所示:

分散式訓練

TorchElastic是PyTorch的一個核心功能,它能夠讓使用者在搶佔式例項上運行分散式訓練。

△TorchElastic運行原理

新版本中,添加了一個基於c10d::Store的「獨立」集合點,能夠在本地支援彈性、容錯分散式訓練。

此外,現在還可在RPC中支援CUDA,並支援對分散式訓練進行分析等。

PyTorch Profiler

PyTorch Profiler是用來對PyTorch模型效能分析的一個工具。

通過視覺化頁面來幫助我們分析具體運行情況。

在1.9版本中,可以在Windows和Mac中支援新的torch.profiler API了。

新的API支援現有分析器功能,可以與CUPTI庫整合(僅限Linux),追蹤裝置上的CUDA核心,併為長期運行項目提供支援,例如:

PyTorch Profiler Tensorboard插件還更新了帶有NCCL的分散式訓練摘要檢視、記憶體分析檢視、從Microsoft VSCode啟動時可跳轉到原始碼等新功能。

更多更新資訊請戳:

https://pytorch.org/blog/pytorch-1.9-released/


IT145.com E-mail:sddin#qq.com