Overview

This chapter is limited to Caffe network modification.

There are several types of network operators:

  • Standard operators: standard Caffe operators supported by the AI processor, such as Convolution.
  • Custom operators: open-source but non-standard Caffe operators supported by the AI processor, including:
    • Operators extended based on the Caffe framework, such as ROIPooling in Faster R-CNN and Normalize in SSD.
    • Operators extended based on other deep learning frameworks, such as PassThrough in YOLOv2.

Networks such as Faster R-CNN and SSD include certain operator structures not defined in the original Caffe framework, such as ROIPooling, Normalize, PSROIPooling, and Upsample. To enable the AI processor to support these networks, extensions must be applied to original Caffe network models, reducing the workload of custom operator development and postprocessing. If such custom operators are used in a developer-provided Caffe network model, modify or add definitions for extended layers in the .prototxt file before model conversion. Only in this way can the model conversion complete successfully.

The following sections provide the list of custom operators for the AI processor and instructions for modifying the .prototxt file.