As mentioned in Chapter 1, Getting Started with Machine Learning and ML.NET, the ONNX standard is widely regarded within the industry as a truly universal format across machine learning frameworks. In the next two sections, we will review what ONNX provides, in addition to the YOLO model that will drive our example in this chapter.
Introducing ONNX
ONNX was created as a way for a less locked-down and free-flowing process when working with either pre-trained models or training models across frameworks. By providing an open format for frameworks to export to, ONNX allows interoperability, and thereby promotes experimentation that would have otherwise been prohibitive due to the nature of proprietary formats being used in almost every framework.
Currently, supported frameworks include TensorFlow, XGBoost, and PyTorch—in addition to ML.NET, of course.