TensorFlow?PyTorch?Paddle?AI工具庫生態之爭:ONNX將一統天下( 二 )


文章插圖
ONNX實現與現狀實際上,要滿足將模型從任何其他AI框架轉換為ONNX一直是一個挑戰 。主要障礙之一是這些AI框架生態的高速發展與每次版本迭代帶來的新支持(例如算子等) 。
模型從一個框架到另一個框架的轉換歸結為能夠表示原始模型的基礎數學運算 。下圖顯示了每個框架中定義的運算符數量 。實際上,目前ONNX僅支持PyTorch所有算子的約13% ,一些使用低頻 PyTorch 運算符構建的模型在轉換時還是有困難 。

TensorFlow?PyTorch?Paddle?AI工具庫生態之爭:ONNX將一統天下

文章插圖
不過像PyTorch這樣的工具庫里,包含的很多運算符有這一樣或者類似的功能,是否需要完全同步支持也是一個問題 。但ONNX開放了自定義運算符的功能,使得用戶可以 根據需要添加自己的功能 。
即使目前 ONNX 還做不到完全支持和自由銜接所有AI工具框架,但憑借豐富的運算符集,ONNX已經可以描述來自各種框架的大多數 DNN 和 ML 模型 。它的『函數』功能,使得用戶可以把暫時不支持的復雜的操作符用更原始的操作符來表達。
它帶來了AI生態的自由流通 , 隨著生態和社區的高速發展,相信在未來ONNX會成為AI生態中最終的橋梁之一 , 發揮巨大的作用 。
參考資料
  • ONNX 官方網站:https://onnx.ai/
  • ONNX 官方Github地址:https://github.com/onnx/onnx

TensorFlow?PyTorch?Paddle?AI工具庫生態之爭:ONNX將一統天下

文章插圖

推薦閱讀