Overview

This chapter is limited to Caffe network modification.

There are several types of network operators:

  • Standard operators: standard Caffe operators, such as Convolution.
  • Custom operators: open-source but non-standard Caffe operators supported by the Ascend 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 enable the Ascend AI Processor to support these networks, extend the original Caffe network models to reduce the programing workload of operator customization and postprocessing. If these custom operators are used in your Caffe network models, you need to modify or add the definition of the extension layer in the .prototxt file prior to model conversion to ensure successful conversion.

This chapter provides the list of the custom operators supported by the Ascend AI Processor and the instructions for modifying the .prototxt file based on the custom operators.