ONNX¶
Wprowadzenie¶
ONNX (Open Neural Network Exchange) to projekt mający na celu unifikację standardów obecnych w dziedzinie AI. Jego głównym założeniem jest ułatwienie transferu modeli gotowych do inferencji pomiędzy różnymi językami programowania, systemami operacyjnymi i architekturami sprzętowymi.
Dostępność¶
Budowa i trenowanie modelu możliwe jest wyłącznie w języku Python. Ładowanie modeli do inferencji dostępne jest z poziomu różnych języków programowania oraz na wielu platformach sprzętowych. Aby zainstalować bibliotekę dla języka Python, wystarczy skorzystać z popularnych menadżerów oprogramowania (pip, conda). W przypadku instalacji dla innego języka lub innej platformy warto skorzystać ze wskazówek konfiguratora dostępnego na stronie biblioteki. Więcej informacji:
- lista wspieranych frameworków wraz z instrukcjami użycia dostępnymi po kliknięciu w nazwę frameworka
- lista wspieranych języków i platform oraz instrukcje instalacji
Szczegóły¶
Sama biblioteka ONNX dostępna jest dla języka Python, natomiast z modeli w formacie ONNX można korzystać w innych środowiskach przy użyciu ONNX Runtime. Jest to silnik przeznaczony do akceleracji modeli. Skupiony jest głównie na umożliwianiu inferencji, ale posiada także integrację wspierającą trening modeli w popularnych frameworkach AI jak np. Pytorch czy Tensorflow. Początkowo stworzony przez Microsoft do współpracy z frameworkiem Pytorch, obecnie rozwijany jako projekt w ramach Linux Foundation. Stowarzyszenia zaangażowane w jego rozwój dążą do usystematyzowania sposobów reprezentacji modeli AI oraz związanych z AI narzędzi w celu ułatwienia komunikacji między zespołami stosującymi różne frameworki i technologie.
Informacje o wydaniu¶
Obecna wersja ONNX to 1.15.0, wydana w październiku 2023 roku. W przypadku ONNX-runtime aktualna wersja to 1.16.3 z listopada 2023. Standard ONNX jest rozwijany regularnie, z nowymi wersjami publikowanymi 1-2 razy w roku. Posiada stabilne API.
Linki¶
- strona główna ONNX
- strona główna ONNX runtime
- repozytorium ONNX
- repozytorium ONNX runtime
- lista wspieranych frameworków
- lista wspieranych języków i środowisk wraz z instrukcjami instalacji
- wprowadzanie dla poszczególnych języków programowania