隱私權聲明
本公司關心使用者隱私權與個人資訊,並遵守本公司的網站隱私政策,使用者若有任何問題,可以參考本公司的「網站隱私政策」,或利用電子郵件或連絡電話詢問本公司.
2023
08
17

微軟開源ONNX Script函式庫,開發者能以Python簡單編寫ONNX模型[轉載自IThome]

關鍵字:程式設計專案開發

文/李建興 | 2023-08-08發表
微軟開源ONNX Script函式庫,開發者能以Python簡單編寫ONNX模型

微軟釋出開源函式庫ONNX Script,該工具可讓開發者直接以程式語言Python編寫ONNX模型,而這也是新PyTorch ONNX匯出工具的基礎,用以更好地支援PyTorch 2.0即時編譯器TorchDynamo。微軟計畫將ONNX Script貢獻給Linux基金會旗下的ONNX GitHub組織。

微軟投資發展ONNX Script,便是為ONNX與PyTorch進一步深度整合鋪路。微軟從PyTorch 0.3.0時候開始在ONNX支援PyTorch,而現在PyTorch已經發展到2.0,甚至即將發布2.1,TorchDynamo加入代表著序列化模型工具TorchScript即將退役,因此原本的ONNX匯出工具也會需要大改。

為此,微軟重新規畫了ONNX匯出的基礎,ONNX Script便是這項基礎的最新成果。微軟在去年底的時候開始這項工作,並且與PyTorch工程師密切合作,確保TorchDynamo能夠正確無誤地匯出ONNX模型。

過去開發者在編寫ONNX模型時,需要對ONNX模型的規範和序列化格式有深入的理解,雖然微軟對此還釋出了簡化流程的API,在很大程度抽象化序列化格式,但是使用者仍需要非常熟悉ONNX的結構,才能夠順利完成工作。

而微軟新釋出的ONNX Script採用了新方法,並透過開發者普遍對Python的理解,使編寫ONNX模型變得更加容易。ONNX Script對ONNX中的所有運算子,提供強型態API,因此現有的Python工具、語法檢查器以及IDE,都能夠提供有參考價值的回饋,並且確保執行正確性,而且因為ONNX Script支援Python語言結構,因此熟悉Python的開發者,便能夠更自然地編寫ONNX模型,包括條件、迴圈,還有一元或二元運算子等。

ONNX Script融合了Python語言和ONNX模型的優點,不只擁有Python可讀性和生產力,也能利用現有Python和ONNX工具,對ONNX模型靜態推理,也就是說,用戶可以不實際執行模型,就可透過工具理解和最佳化模型行為。

整體來說,ONNX Script提供一種新的Python程式開發模型,在開發者創建ONNX模型的時候,可以使用熟悉的Python語言,以獲得更好的開發體驗。

微軟視ONNX Script為定義和擴展ONNX的手段,新的核心運算子和高階函式都已經能夠用ONNX Script編寫,而這也加速了ONNX標準的演進。在之後,微軟也會提供轉換ONNX到ONNX Script的支援,讓開發者可以無縫編輯既有模型,使得ONNX模型更容易最佳化和維護。

你可能有興趣的作品案例
傑立資訊傑立資訊事業有限公司
Powered by AWS Cloud Computing

電話:(02)2739-9096 | 傳真:(02)2739-6637 | 客服:[email protected] | 臺北市信義區和平東路3段257號6樓map

© 2019 傑立資訊 All rights reserved.| 網站隱私政策

線上詢價