// Copyright (c) OpenMMLab. All rights reserved. #ifndef MMDEPLOY_SRC_NET_NCNN_NCNN_NET_H_ #define MMDEPLOY_SRC_NET_NCNN_NCNN_NET_H_ #include "core/net.h" // It's ncnn's net.h #include "net.h" namespace mmdeploy { class NCNNNet : public Net { public: ~NCNNNet() override; Result Init(const Value& args) override; Result Deinit() override; Result> GetInputTensors() override; Result> GetOutputTensors() override; Result Reshape(Span input_shapes) override; Result Forward() override; Result ForwardAsync(Event* event) override { return success(); }; private: Device device_; Stream stream_; std::string params_; std::string weights_; std::vector input_indices_; std::vector output_indices_; std::vector input_tensors_; std::vector output_tensors_; ncnn::Net net_; }; } // namespace mmdeploy #endif // MMDEPLOY_SRC_NET_NCNN_NCNN_NET_H_