歡迎您光臨本站 註冊首頁

PyTorch 1.3 發布

←手機掃碼閱讀     admin @ 2019-10-12 , reply:0

PyTorch 1.3 已經發布了,新的版本不僅能支持 Android/iOS 移動端部署,甚至還能讓用戶去對手 Google 的 Colab 上調用雲 TPU。此外還有一大波新工具,涉及可解釋性、加密、以及關於圖像語音的諸多功能。PyTorch 1.3 帶來了三個實驗性的新功能:

命名張量

允許用戶給張量維度命名,從而讓張量更易用,這樣就可以直接喊他們的名字,不用根據位置來跟蹤張量維度。

升級之前,你需要在代碼里寫註釋來給張量命名:


# Tensor[N, C, H, W]
 images = torch.randn(32, 3, 56, 56)
 images.sum(dim=1)
 images.select(dim=1, index=0)

升級之後,就直接能在代碼里寫了,這樣可讀性大大提高:


NCHW = [『N』, 『C』, 『H』, 『W』]
   images = torch.randn(32, 3, 56, 56, names=NCHW)
   images.sum('C')
   images.select('C', index=0)

另外,這項功能還能自動檢查 API 是否被正確的使用,提升了安全性,還可以直接用名字來重新排列尺寸。

量化支持

開發 ML 應用程序時,有效利用伺服器端和設備上的計算資源非常重要。

為了支持在伺服器和邊緣設備上進行更有效的部署,PyTorch 1.3 現在支持用 eager 模式進行 8 位模型量化。所謂量化,是指降低精度執行計算和存儲的技術。

當前處於實驗性的量化功能包括對后訓練量化(post-training quantization)、動態量化(dynamic quantization)和量化感知訓練(quantization-aware training)的支持。它分別利用了 x86 和 ARM CPU 的 FBGEMM 和 QNNPACK 最新的量化內核後端,這些後端與 PyTorch 集成在一起,並且現在共享一個通用 API。

移動端

另外,為了在邊緣設備上高效的運行機器學習,PyTorch 1.3 支持端到端的工作流,從 Python 到部署在 iOS 和安卓端。

當然,這個功能還是早期實驗版本,針對端到端做了優化,新版本重點在:

  1. 大小優化,根據用戶需要構建級別優化和選擇性編譯。
  2. 提升了移動 CPU 和 GPU 上的性能。
  3. 高級 API:擴展移動原生 API,覆蓋常用預處理、將機器學習合併到移動應用需要的集成任務,比如計算機視覺或者 NLP 的任務。

新工具

  • 可解釋性工具 Captum:Captum 可以幫助使用 PyTorch 的開發者了解為什麼他們的模型生成某個特定輸出。Captum 提供了先進的工具來理解特定神經元和層如何影響模型做出的預測。下面的案例展示了如何在預訓練的ResNet模型上應用模型可解釋性演算法,然後通過將每個像素的屬性疊加在圖像上,使其可視化:

noise_tunnel = NoiseTunnel(integrated_gradients)

attributions_ig_nt, delta = noise_tunnel.attribute(input, n_samples=10, nt_type='smoothgrad_sq', target=pred_label_idx)
_ = viz.visualize_image_attr_multiple(["original_image", "heat_map"],
                                      ["all", "positive"],
                                      np.transpose(attributions_ig_nt.squeeze().cpu().detach().numpy(), (1,2,0)),
                                      np.transpose(transformed_img.squeeze().cpu().detach().numpy(), (1,2,0)),
                                      cmap=default_cmap,
                                      show_colorbar=True)

 

  • 加密工具 Cryp Ten:這是一個新的基於社區的研究平台,用於推動隱私保護 ML 領域的發展。

多模 AI 系統工具

  • Detectron2:Detectron2 是在 PyTorch 中實現的目標檢測庫。它以增強的靈活性幫助計算機視覺研究,並改善可維護性和可伸縮性,以支持在生產中的用
  • Fairseq 的語音擴展:語言翻譯和音頻處理是系統和應用程序(例如搜索,翻譯,語音和助手)中的關鍵組件。由於變壓器等新架構的發展以及大規模的預訓練方法的發展,最近在這些領域取得了巨大的進步。

雲端支持

  • 谷歌雲 TPU:在 Facebook、Google 和 Salesforce 的工程師共同努力下,新版的 PyTorch 加入對了雲 TPU 支持,包括對超級計算機雲 TPU Pods 的實驗性支持。谷歌 Colab 還提供了對雲 TPU 的 PyTorch 支持。
  • 阿里云:阿里雲的集成涉及 PyTorch 1.x 的一鍵式解決方案,數據科學 Workshop notebook 服務,使用 Gloo/NCCL 進行的分散式訓練,以及與阿里巴巴 IaaS(如 OSS、ODPS 和 NAS)的無縫集成。

  • 硬體生態擴展:除了主要的 GPU 和 CPU 合作夥伴之外,PyTorch 生態系統還支持專用的機器學習加速器。比如英特爾不久前推出的 NNP-I 推理晶元、Habana Labs 的 AI 處理器

參考:量子位 


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/110493/pytorch-1-3-released
PyTorch 1.3 發布已經有303次圍觀

http://coctec.com/news/all/show-post-216630.html