• <ruby id="bi9vj"><b id="bi9vj"></b></ruby>

        <b id="bi9vj"></b>

        PyTorch 1.3 發布

        oschina
         oschina
        發布于 2019年10月12日
        收藏 5

        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 處理器

        參考:量子位 

        本站文章除注明轉載外,均為本站原創或編譯。歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動共創開源社區。
        轉載請注明:文章轉載自 OSCHINA 社區 [http://www.url23.com]
        本文標題:PyTorch 1.3 發布
        加載中
        返回頂部
        頂部
        聚看影院