1 /** 2 * Copyright 2023 Huawei Technologies Co., Ltd 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef MINDSPORE_CORE_BASE_CONV_POOL_OPS_H_ 18 #define MINDSPORE_CORE_BASE_CONV_POOL_OPS_H_ 19 20 #include <memory> 21 #include "ops/conv_pool_op_name.h" 22 #include "ir/anf.h" 23 #include "ir/primitive.h" 24 #include "utils/hash_map.h" 25 #include "ops/auto_generate/gen_ops_primitive.h" 26 27 namespace mindspore { 28 namespace prim { 29 // Conv 30 GVAR_DEF(PrimitivePtr, kPrimConv2DBackpropInput, std::make_shared<Primitive>("Conv2DBackpropInput")); 31 GVAR_DEF(PrimitivePtr, kPrimConv2DBackpropInputD, std::make_shared<Primitive>("Conv2DBackpropInputD")); 32 GVAR_DEF(PrimitivePtr, kPrimConv2DBackpropFilter, std::make_shared<Primitive>("Conv2DBackpropFilter")); 33 GVAR_DEF(PrimitivePtr, kPrimConv2DBackpropFilterD, std::make_shared<Primitive>("Conv2DBackpropFilterD")); 34 GVAR_DEF(PrimitivePtr, kPrimConv3DBackpropInput, std::make_shared<Primitive>("Conv3DBackpropInput")); 35 GVAR_DEF(PrimitivePtr, kPrimConv3DBackpropFilter, std::make_shared<Primitive>("Conv3DBackpropFilter")); 36 GVAR_DEF(PrimitivePtr, kPrimConv2D, std::make_shared<Primitive>("Conv2D")); 37 GVAR_DEF(PrimitivePtr, kPrimConv3D, std::make_shared<Primitive>("Conv3D")); 38 GVAR_DEF(PrimitivePtr, kPrimConv2DTranspose, std::make_shared<Primitive>(kConv2DTransposeOpName)); 39 GVAR_DEF(PrimitivePtr, kPrimConv3DTranspose, std::make_shared<Primitive>("Conv3DTranspose")); 40 GVAR_DEF(PrimitivePtr, kPrimDepthwiseConv2dNative, std::make_shared<Primitive>("DepthwiseConv2dNative")); 41 GVAR_DEF(PrimitivePtr, kPrimDepthwiseConv2dNativeD, std::make_shared<Primitive>("DepthwiseConv2dNativeD")); 42 GVAR_DEF(PrimitivePtr, kPrimDepthwiseConv2dNativeBackpropFilter, 43 std::make_shared<Primitive>("DepthwiseConv2dNativeBackpropFilter")); 44 GVAR_DEF(PrimitivePtr, kPrimDepthwiseConv2dNativeBackpropInput, 45 std::make_shared<Primitive>("DepthwiseConv2dNativeBackpropInput")); 46 47 // Pool 48 GVAR_DEF(PrimitivePtr, kPrimFractionalMaxPool, std::make_shared<Primitive>("FractionalMaxPool")); 49 GVAR_DEF(PrimitivePtr, kPrimFractionalMaxPoolGrad, std::make_shared<Primitive>("FractionalMaxPoolGrad")); 50 GVAR_DEF(PrimitivePtr, kPrimFractionalMaxPool3DWithFixedKsize, 51 std::make_shared<Primitive>("FractionalMaxPool3DWithFixedKsize")); 52 GVAR_DEF(PrimitivePtr, kPrimFractionalMaxPool3DGradWithFixedKsize, 53 std::make_shared<Primitive>("FractionalMaxPool3DGradWithFixedKsize")); 54 GVAR_DEF(PrimitivePtr, kPrimFractionalAvgPool, std::make_shared<Primitive>("FractionalAvgPool")); 55 GVAR_DEF(PrimitivePtr, kPrimFractionalAvgPoolGrad, std::make_shared<Primitive>("FractionalAvgPoolGrad")); 56 GVAR_DEF(PrimitivePtr, kPrimAdaptiveMaxPool2DGrad, std::make_shared<Primitive>("AdaptiveMaxPool2DGrad")); 57 GVAR_DEF(PrimitivePtr, kPrimAdaptiveMaxPool3DGrad, std::make_shared<Primitive>("AdaptiveMaxPool3DGrad")); 58 GVAR_DEF(PrimitivePtr, kPrimFractionalMaxPoolWithFixedKsize, 59 std::make_shared<Primitive>(kFractionalMaxPoolWithFixedKsizeOpName)); 60 GVAR_DEF(PrimitivePtr, kPrimFractionalMaxPoolGradWithFixedKsize, 61 std::make_shared<Primitive>(kFractionalMaxPoolGradWithFixedKsizeOpName)); 62 GVAR_DEF(PrimitivePtr, kPrimAdaptiveAvgPool3D, std::make_shared<Primitive>("AdaptiveAvgPool3D")); 63 GVAR_DEF(PrimitivePtr, kPrimAdaptiveAvgPool3DGrad, std::make_shared<Primitive>("AdaptiveAvgPool3DGrad")); 64 GVAR_DEF(PrimitivePtr, kPrimAdaptiveAvgPool2D, std::make_shared<Primitive>("AdaptiveAvgPool2D")); 65 GVAR_DEF(PrimitivePtr, kPrimAdaptiveAvgPool2DGrad, std::make_shared<Primitive>("AdaptiveAvgPool2DGrad")); 66 GVAR_DEF(PrimitivePtr, kPrimPooling, std::make_shared<Primitive>("Pooling")); 67 GVAR_DEF(PrimitivePtr, kPrimPoolingGrad, std::make_shared<Primitive>("PoolingGrad")); 68 GVAR_DEF(PrimitivePtr, kPrimPSROIPooling, std::make_shared<Primitive>("PSROIPooling")); 69 GVAR_DEF(PrimitivePtr, kPrimPSROIPoolingGrad, std::make_shared<Primitive>("PSROIPoolingGrad")); 70 GVAR_DEF(PrimitivePtr, kPrimPSROIPoolingV2, std::make_shared<Primitive>("PSROIPoolingV2")); 71 GVAR_DEF(PrimitivePtr, kPrimPSROIPoolingGradV2D, std::make_shared<Primitive>("PSROIPoolingGradV2D")); 72 GVAR_DEF(PrimitivePtr, kPrimROIPooling, std::make_shared<Primitive>("ROIPooling")); 73 GVAR_DEF(PrimitivePtr, kPrimMaxPool, std::make_shared<Primitive>("MaxPool")); 74 GVAR_DEF(PrimitivePtr, kPrimMaxPool3D, std::make_shared<Primitive>("MaxPool3D")); 75 GVAR_DEF(PrimitivePtr, kPrimMaxPoolGrad, std::make_shared<Primitive>("MaxPoolGrad")); 76 GVAR_DEF(PrimitivePtr, kPrimMaxPool3DGrad, std::make_shared<Primitive>("MaxPool3DGrad")); 77 GVAR_DEF(PrimitivePtr, kPrimMaxPoolV1, std::make_shared<Primitive>("MaxPoolV1")); 78 GVAR_DEF(PrimitivePtr, kPrimMaxPoolGradV1, std::make_shared<Primitive>("MaxPoolGradV1")); 79 GVAR_DEF(PrimitivePtr, kPrimMaxPoolGradGrad, std::make_shared<Primitive>("MaxPoolGradGrad")); 80 GVAR_DEF(PrimitivePtr, kPrimMaxPool3DGradGrad, std::make_shared<Primitive>("MaxPool3DGradGrad")); 81 GVAR_DEF(PrimitivePtr, kPrimMaxPoolWithArgmax, std::make_shared<Primitive>("MaxPoolWithArgmax")); 82 GVAR_DEF(PrimitivePtr, kPrimMaxPoolGradWithArgmax, std::make_shared<Primitive>("MaxPoolGradWithArgmax")); 83 GVAR_DEF(PrimitivePtr, kPrimMaxPoolGradWithArgmaxV2, std::make_shared<Primitive>("MaxPoolGradWithArgmaxV2")); 84 GVAR_DEF(PrimitivePtr, kPrimMaxPoolGradGradWithArgmax, std::make_shared<Primitive>("MaxPoolGradGradWithArgmax")); 85 GVAR_DEF(PrimitivePtr, kPrimMaxPoolWithArgmaxV2, std::make_shared<Primitive>("MaxPoolWithArgmaxV2")); 86 GVAR_DEF(PrimitivePtr, kPrimMaxPool3DWithArgmax, std::make_shared<Primitive>("MaxPool3DWithArgmax")); 87 GVAR_DEF(PrimitivePtr, kPrimMaxPool3DGradWithArgmax, std::make_shared<Primitive>("MaxPool3DGradWithArgmax")); 88 GVAR_DEF(PrimitivePtr, kPrimMaxUnpool2D, std::make_shared<Primitive>(kMaxUnpool2DOpName)); 89 GVAR_DEF(PrimitivePtr, kPrimMaxUnpool2DGrad, std::make_shared<Primitive>(kMaxUnpool2DGradOpName)); 90 GVAR_DEF(PrimitivePtr, kPrimMaxUnpool3D, std::make_shared<Primitive>(kMaxUnpool3DOpName)); 91 GVAR_DEF(PrimitivePtr, kPrimMaxUnpool3DGrad, std::make_shared<Primitive>(kMaxUnpool3DGradOpName)); 92 GVAR_DEF(PrimitivePtr, kPrimAvgPool3D, std::make_shared<Primitive>("AvgPool3D")); 93 GVAR_DEF(PrimitivePtr, kPrimAvgPool3DD, std::make_shared<Primitive>("AvgPool3DD")); 94 GVAR_DEF(PrimitivePtr, kPrimAvgPool3DGrad, std::make_shared<Primitive>("AvgPool3DGrad")); 95 GVAR_DEF(PrimitivePtr, kPrimAvgPool3DGradD, std::make_shared<Primitive>("AvgPool3DGradD")); 96 GVAR_DEF(PrimitivePtr, kPrimAvgPoolGradVm, std::make_shared<Primitive>("AvgPoolGradVm")); 97 GVAR_DEF(PrimitivePtr, kPrimAvgPoolGradGe, std::make_shared<Primitive>("AvgPoolGradGe")); 98 GVAR_DEF(PrimitivePtr, kPrimAvgPoolV1, std::make_shared<Primitive>("AvgPoolV1")); 99 GVAR_DEF(PrimitivePtr, kPrimAvgPoolGradV1, std::make_shared<Primitive>("AvgPoolGradV1")); 100 GVAR_DEF(PrimitivePtr, kPrimAdaptiveMaxPool2D, std::make_shared<Primitive>(kAdaptiveMaxPool2DOpName)); 101 GVAR_DEF(PrimitivePtr, kPrimAdaptiveMaxPool2d, std::make_shared<Primitive>("AdaptiveMaxPool2d")); 102 GVAR_DEF(PrimitivePtr, kPrimAdaptiveMaxPool3D, std::make_shared<Primitive>(kAdaptiveMaxPool3DOpName)); 103 } // namespace prim 104 } // namespace mindspore 105 106 #endif // MINDSPORE_CORE_BASE_CONV_POOL_OPS_H_ 107