| 22 | //#define MNN_PIPELINE_DEBUG |
| 23 | namespace MNN { |
| 24 | static std::set<OpType> _getQuantPropagateOp(Runtime::CompilerType type) { |
| 25 | std::set<OpType> propagateOpTypes = { OpType_Raster, OpType_ReLU, OpType_ReLU6, OpType_Pooling, |
| 26 | OpType_Interp, OpType_CropAndResize, OpType_ROIPooling}; |
| 27 | if (type == Runtime::CompilerType::Compiler_Origin) { |
| 28 | propagateOpTypes.insert(OpType_ConvertTensor); |
| 29 | propagateOpTypes.insert(OpType_Concat); |
| 30 | propagateOpTypes.insert(OpType_Flatten); |
| 31 | propagateOpTypes.insert(OpType_Identity); |
| 32 | propagateOpTypes.insert(OpType_Transpose); |
| 33 | propagateOpTypes.insert(OpType_Pack); |
| 34 | propagateOpTypes.insert(OpType_Permute); |
| 35 | propagateOpTypes.insert(OpType_Reshape); |
| 36 | propagateOpTypes.insert(OpType_Slice); |
| 37 | propagateOpTypes.insert(OpType_StridedSlice); |
| 38 | propagateOpTypes.insert(OpType_Squeeze); |
| 39 | propagateOpTypes.insert(OpType_Unpack); |
| 40 | propagateOpTypes.insert(OpType_Unsqueeze); |
| 41 | propagateOpTypes.insert(OpType_GatherV2); |
| 42 | } |
| 43 | return propagateOpTypes; |
| 44 | } |
| 45 | |
| 46 | OperatorInfo::OperatorInfo() { |
| 47 | mContent = new Info; |