Cover; Title Page; Copyright and Credits; About Packt; Contributors; Table of Contents; Preface; Chapter 1: Introduction and Installation; Introduction to deep learning; AI; ML; Deep learning; Introduction to Caffe2; Caffe2 and PyTorch; Hardware requirements; Software requirements; Building and installing Caffe2; Installing dependencies; Installing acceleration libraries; Building Caffe2; Installing Caffe2; Testing the Caffe2 Python API; Testing the Caffe2 C++ API; Summary; Chapter 2: Composing Networks; Operators; Example -- the MatMul operator; Difference between layers and operators
Example -- a fully connected operatorBuilding a computation graph; Initializing Caffe2; Composing the model network; Sigmoid operator; Softmax operator; Adding input blobs to the workspace; Running the network; Building a multilayer perceptron neural network; MNIST problem; Building a MNIST MLP network; Initializing global constants; Composing network layers; ReLU layer; Set weights of network layers; Running the network; Summary; Chapter 3: Training Networks; Introduction to training; Components of a neural network; Structure of a neural network; Weights of a neural network; Training process
Gradient descent variantsLeNet network; Convolution layer; Pooling layer; Training data; Building LeNet; Layer 1 -- Convolution; Layer 2 -- Max-pooling; Layers 3 and 4 -- Convolution and max-pooling; Layers 5 and 6 -- Fully connected and ReLU; Layer 7 and 8 -- Fully connected and Softmax; Training layers; Loss layer; Optimization layers; Accuracy layer; Summary; Chapter 4: Working with Caffe; The relationship between Caffe and Caffe2; Introduction to AlexNet; Building and installing Caffe; Installing Caffe prerequisites; Building Caffe; Caffe model file formats; Prototxt file; Caffemodel file
Downloading Caffe model filesCaffe2 model file formats; predict_net file; init_net file; Converting a Caffe model to Caffe2; Converting a Caffe2 model to Caffe; Summary; Chapter 5: Working with Other Frameworks; Open Neural Network Exchange; Installing ONNX; ONNX format; ONNX IR; ONNX operators; ONNX in Caffe2; Exporting the Caffe2 model to ONNX; Using the ONNX model in Caffe2; Visualizing the ONNX model; Summary; Chapter 6: Deploying Models to Accelerators for Inference; Inference engines; NVIDIA TensorRT; Installing TensorRT; Using TensorRT
Importing a pre-trained network or creating a networkBuilding an optimized engine from the network; Inference using execution context of an engine; TensorRT API and usage; Intel OpenVINO; Installing OpenVINO; Model conversion; Model inference; Summary; Chapter 7: Caffe2 at the Edge and in the cloud; Caffe2 at the edge on Raspberry Pi; Raspberry Pi; Installing Raspbian; Building Caffe2 on Raspbian; Caffe2 in the cloud using containers; Installing Docker; Installing nvidia-docker; Running Caffe2 containers; Caffe2 model visualization; Visualization using Caffe2 net_drawer
Summary
Caffe2 by Facebook is a popular and relatively lightweight deep learning framework. Caffe2 is known for speed, accuracy and high efficiency in training neural networks. Caffe2 is widely used in mobile apps. This book is a fast paced guide that will teach you how to train and deploy deep learning models with Caffe2 on resource constrained platforms