// Copyright (c) OpenMMLab. All rights reserved. #ifndef MMDEPLOY_SRC_NET_ORT_ORT_NET_H_ #define MMDEPLOY_SRC_NET_ORT_ORT_NET_H_ #include "core/net.h" #include "onnxruntime_c_api.h" #include "onnxruntime_cxx_api.h" namespace mmdeploy { class OrtNet : public Net { public: ~OrtNet() override = default; Result Init(const Value& cfg) override; Result Deinit() override; Result> GetInputTensors() override; Result> GetOutputTensors() override; Result Reshape(Span input_shapes) override; Result Forward() override; Result ForwardAsync(Event* event) override; private: Ort::Env env_; Ort::Session session_{nullptr}; std::vector input_tensors_; std::vector output_tensors_; Device device_; Stream stream_; }; } // namespace mmdeploy #endif // MMDEPLOY_SRC_NET_ORT_ORT_NET_H_