▶Book Description
Caffe2 is a popular deep learning library used for fast and scalable training and inference of deep learning models on various platforms. This book introduces you to the Caffe2 framework and shows how you can leverage its power to build, train, and deploy efficient neural network models at scale.
It will cover the topics of installing Caffe2, composing networks using its operators, training models, and deploying models to different architectures. It will also show how to import models from Caffe and from other frameworks using the ONNX interchange format. It covers the topic of deep learning accelerators such as CPU and GPU and shows how to deploy Caffe2 models for inference on accelerators using inference engines. Caffe2 is built for deployment to a diverse set of hardware, using containers on the cloud and resource constrained hardware such as Raspberry Pi, which will be demonstrated.
By the end of this book, you will be able to not only compose and train popular neural network models with Caffe2, but also be able to deploy them on accelerators, to the cloud and on resource constrained platforms such as mobile and embedded hardware.
▶What You Will Learn
- Build and install Caffe2
- Compose neural networks
- Train neural network on CPU or GPU
- Import a neural network from Caffe
- Import deep learning models from other frameworks
- Deploy models on CPU or GPU accelerators using inference engines
- Deploy models at the edge and in the cloud
▶Key Features
- Migrate models trained with other deep learning frameworks on Caffe2
- Integrate Caffe2 with Android or iOS and implement deep learning models for mobile devices
- Leverage the distributed capabilities of Caffe2 to build models that scale easily
▶Who This Book Is For
Data scientists and machine learning engineers who wish to create fast and scalable deep learning models in Caffe2 will find this book to be very useful. Some understanding of the basic machine learning concepts and prior exposure to programming languages like C++ and Python will be useful.
▶What this book covers
- Chapter 1, Introduction and Installation, introduces Caffe2 and examines how to build and install it.
- Chapter 2, Composing Networks, teaches you about Caffe2 operators and how to compose them to build a simple computation graph and a neural network to recognize handwritten digits.
- Chapter 3, Training Networks, gets into how to use Caffe2 to compose a network for training and how to train a network to solve the MNIST problem.
- Chapter 4, Working with Caffe, explores the relationship between Caffe and Caffe2 and how to work with models trained in Caffe.
- Chapter 5, Working with Other Frameworks, looks at contemporary deep learning frameworks such as TensorFlow and PyTorch and how we can exchange models from and to Caffe2 and these other frameworks.
- Chapter 6, Deploying Models to Accelerators for Inference, talks about inference engines and how they are an essential tool for the final deployment of a trained Caffe2 model on accelerators. We focus on two types of popular accelerators: NVIDIA GPUs and Intel CPUs. We look at how to install and use TensorRT for deploying our Caffe2 model on NVIDIA GPUs. We also look at the installation and use of OpenVINO for deploying our Caffe2 model on Intel CPUs and accelerators.
- Chapter 7, Caffe2 at the Edge and in the cloud, covers two applications of Caffe2 to demonstrate its ability to scale. As an application of Caffe2 with edge devices, we look at how to build Caffe2 on Raspberry Pi single-board computers and how to run Caffe2 applications on them. As an application of Caffe2 with the cloud, we look at the use of Caffe2 in Docker containers.