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 some operator structures not defined in the Caffe framework, such as ROIPooling, Normalize, PSROIPooling, and Upsample. To support these networks, extend the Caffe networks for the AI processor to reduce the programing workload of operator customization and postprocessing. If these custom operators are used in Caffe networks, you need to modify or add the definition of the extension layer in the .prototxt file prior to model conversion.

This chapter provides the rundown of the extended operators supported by the AI processor and the instructions of modifying the .prototxt file.