Book Image

Caffe2 Quick Start Guide

By : Ashwin Nanjappa
Book Image

Caffe2 Quick Start Guide

By: Ashwin Nanjappa

Overview of this book

Caffe2 is a popular deep learning library used for fast and scalable training, and inference of deep learning models on different platforms. This book introduces you to the Caffe2 framework and demonstrates how you can leverage its power to build, train, and deploy efficient neural network models at scale. The Caffe 2 Quick Start Guide will help you in installing Caffe2, composing networks using its operators, training models, and deploying models to different architectures. The book will also guide you on how to import models from Caffe and other frameworks using the ONNX interchange format. You will then cover deep learning accelerators such as CPU and GPU and learn how to deploy Caffe2 models for inference on accelerators using inference engines. Finally, you'll understand how to deploy Caffe2 to a diverse set of hardware, using containers on the cloud and resource-constrained hardware such as Raspberry Pi. By the end of this book, you will not only be able to compose and train popular neural network models with Caffe2, but also deploy them on accelerators, to the cloud and on resource-constrained platforms such as mobile and embedded hardware.
Table of Contents (9 chapters)

Exporting the Caffe2 model to ONNX

Caffe2 models can be easily exported to ONNX format using Python. This enables a vast number of other DL frameworks to use our Caffe2 models for training and inference. The frontend module provided by Caffe2-ONNX does all of the heavy lifting of the exporting. This module is located as the python/onnx/frontend.py file in the Caffe2 source code.

The ch5/export_to_onnx.py script provided along with this book's source code shows how to export an existing Caffe2 model to ONNX format. As an example, consider converting the Caffe2 model of AlexNet that we created in Chapter 4, Working with Caffe. We exported the operators and the weights of this network in Caffe2 to the files predict_net.pb and init_net.pb files respectively.

We can invoke the ONNX conversion script, as follows, to convert this Caffe2 model to an ONNX file named alexnet.onnx:

...