4.6. Chapter Summary¶
In order to achieve a balance between usability and performance, modern machine learning systems utilize Python for frontend programming and C/C++ for backend programming.
It is expected from a machine learning framework to offer programming support for all aspects of a machine learning application workflow. This is usually delivered through high-level Python APIs, which facilitate activities such as data processing, model definition, loss function determination, model training, and model testing.
Large DNNs can be constructed by stacking neural network layers.
Various technologies are used to facilitate interoperability between Python and C, with pybind being a popular choice in machine learning frameworks.
Machine learning frameworks typically offer a variety of C/C++ interfaces, allowing users to define and register operators implemented in C++. These operators enable users to create various framework extensions, such as high-performance models, data processing functions, and optimizers.