您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“PyTorch的原型功能有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“PyTorch的原型功能有哪些”這篇文章吧。
PyTorch的一個原型功能:支持Android的神經網絡API (NNAPI)。PyTorch Mobile旨在為ML開發人員提供一流的體驗,并在所有移動硬件上實現高性能的執行。NNAPI的支持對于實現這一目標至關重要,因為它擴展了我們可以用來快速執行模型的硬件集。這個初始版本包含了對一組小而強大的特性和操作的全功能支持,我們將在未來幾個月擴大支持。
NNAPI允許Android應用程序在手機芯片最強大、最高效的部件上運行計算密集型神經網絡,包括GPU(圖形處理單元)和NPU(專門的神經處理單元)。它在Android 8 (Oreo)中被引入,并在Android 10和11中顯著擴展,以支持更豐富的AI模型集。雖然NNAPI為各種硬件驅動程序提供了方便的統一接口,但它是一個需要大量集成工作的低級API。像PyTorch這樣的高級框架使更多的應用程序開發人員可以獲得這些好處。
NNAPI沒有本地磁盤模型格式,所以我們選擇將模型定義封裝在普通的TorchScript模型中。開發人員將在訓練后準備好他們的模型,然后在NNAPI上執行。然后,保存的模型可以打包到Android應用程序中(或通過網絡交付),然后使用PyTorch Mobile的Java API或libtorch c++ API加載和運行。對于已經使用PyTorch Mobile的應用程序,不需要更改代碼。開發人員可以簡單地用NNAPI模型替換他們的CPU模型。
對于PyTorch開發者來說,訪問和使用Android的NNAPI對隨時在線的實時模型(如設備上的計算機視覺)特別有吸引力。這些模型往往是計算密集型的、對延遲敏感的和能耗高的。同時滿足這三個要求是一項挑戰,這使得這些模型成為利用硬件加速的最佳選擇。這也是Facebook對NNAPI感興趣的原因之一。在門戶設備上支持虛擬背景體驗的AI模型現在正在Messenger應用程序中使用NNAPI進行測試,以啟用沉浸式360度背景功能。
如表1所示,在Pixel 3上為這個模型使用Android的NNAPI,可以在單核CPU和2核CPU之間實現高性能,從而為非ML應用程序代碼釋放CPU。此外,在像Pixel 4和Pixel 5這樣的新設備上,NNAPI支持更高級別的性能,這可以被更復雜的ML模型利用。
類似地,許多實時音頻模型也被引入到移動應用程序中。由于具有類似的并發性、延遲和電源需求,減少背景噪聲等特性也將受益于基于NNAPI的硬件加速。
在框架或API之間轉換機器學習模型總是很棘手,這次也不例外。雖然PyTorch和NNAPI都是為了運行相同類型的神經網絡而開發的,但在從一個轉換到另一個時,需要彌合語義上的許多微小差異。例如:
這是PyTorch中NNAPI支持的第一個原型版本,當部署在Android 10及以上設備上時,它支持眾所周知的線性卷積和MLP模型。即將發布的PyTorch將添加額外的功能,例如:
使用表1中所示的手機,表2展示了對開源MobileNetV2模型進行基準測試的結果,與使能360度背景模型中看到的結果類似,可以獲得類似的CPU負載,甚至更顯著的性能優勢。
以上是“PyTorch的原型功能有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。