// // MetalSoftmax.hpp // MNN // // Created by MNN on 2019/01/30. // Copyright © 2018, Alibaba Group Holding Limited // #ifndef MetalSoftmax_hpp #define MetalSoftmax_hpp #import "MetalExecution.hpp" #if MNN_METAL_ENABLED namespace MNN { class MetalSoftmax : public MetalExecution { public: MetalSoftmax(Backend *backend, int32_t axis); virtual ~MetalSoftmax() = default; virtual ErrorCode onResize(const std::vector &inputs, const std::vector &outputs) override; virtual void onEncode(const std::vector &inputs, const std::vector &outputs, id encoder) override; private: int32_t mAxis; int32_t mAxisLen; id mShapeBuffer; id mPipeline; std::pair mThreads; }; } // namespace MNN #endif /* MNN_METAL_ENABLED */ #endif /* MetalSoftmax_hpp */