source/backend/cpu/CPUQuanConvolutionDepthwise.hpp (34 lines of code) (raw):

// // CPUQuanConvolutionDepthwise.hpp // MNN // // Created by MNN on 2018/10/23. // Copyright © 2018, Alibaba Group Holding Limited // #ifndef CPUDepthwise_hpp #define CPUDepthwise_hpp #include "core/AutoStorage.h" #include "core/Execution.hpp" #include "TFQuantizeOp_generated.h" namespace MNN { struct ConstConvolutionParameter; class CPUQuanConvolutionDepthwise : public Execution { public: CPUQuanConvolutionDepthwise(Backend *backend, const Op *depthwiseOp); virtual ~CPUQuanConvolutionDepthwise(); virtual ErrorCode onResize(const std::vector<Tensor *> &inputs, const std::vector<Tensor *> &outputs) override; virtual ErrorCode onExecute(const std::vector<Tensor *> &inputs, const std::vector<Tensor *> &outputs) override; private: int mStrideH; int mStrideW; int mDilateX; int mDilateY; int mDepthMultiplier; int mPaddingHeight; int mPaddingWidth; int ml, mt, mr, mb; int mDstYStep, mSrcYStep, mWeightZStep; int32_t mZeroPoint; PadMode mPadMode; FusedActivation mFusedActivationFunction; const TfQuantizedConv2D *mLayerParam; AutoStorage<int16_t> mWeight; AutoStorage<int32_t> mBias; Tensor mTempBuffer; ConstConvolutionParameter *mConstParameter = nullptr; }; } // namespace MNN #endif /* CPUDepthwise_hpp */