2 #ifndef _NNDEPLOY_INFER_INFER_H_
3 #define _NNDEPLOY_INFER_INFER_H_
15 Infer(
const std::string &name, std::vector<dag::Edge *> inputs,
16 std::vector<dag::Edge *> outputs);
19 Infer(
const std::string &name, std::vector<dag::Edge *> inputs,
50 rapidjson::Document::AllocatorType &allocator);
55 bool own_inference_ =
true;
56 std::shared_ptr<inference::Inference> inference_ =
nullptr;
58 std::set<std::string> inference_input_names_;
59 std::set<std::string> inference_output_names_;
61 bool is_input_dynamic_ =
false;
62 bool is_output_dynamic_ =
false;
63 bool can_op_input_ =
false;
64 bool can_op_output_ =
false;
virtual base::Param * getParam()
Get parameter.
virtual base::Status setInferenceType(base::InferenceType inference_type)
virtual base::Status shareInference(Infer *infer)
virtual std::shared_ptr< inference::Inference > getInference()
virtual base::Status setOutputName(const std::string &name, int index=0)
Set output edge name.
virtual base::Status setMemory(device::Buffer *buffer)
Set memory buffer.
virtual base::Status setParam(base::Param *param)
Set parameter.
virtual base::Status run()
Run node (pure virtual function)
virtual base::Status serialize(rapidjson::Value &json, rapidjson::Document::AllocatorType &allocator)
Serialize to JSON.
virtual std::shared_ptr< base::Param > getParamSharedPtr()
Get parameter (shared pointer)
Infer(const std::string &name, std::vector< dag::Edge * > inputs, std::vector< dag::Edge * > outputs, base::InferenceType type)
virtual base::Status setInputName(const std::string &name, int index=0)
Set input edge name.
virtual base::Status setParamSharedPtr(std::shared_ptr< base::Param > param)
Set parameter (shared pointer)
Infer(const std::string &name)
Infer(const std::string &name, std::vector< dag::Edge * > inputs, std::vector< dag::Edge * > outputs)
virtual base::Status deserialize(rapidjson::Value &json)
Deserialize from JSON.
virtual base::Status deinit()
Deinitialize node.
virtual int64_t getMemorySize()
Get memory size.
virtual base::Status init()
Initialize node.
virtual base::Status setInputNames(const std::vector< std::string > &names)
Set all input edge names.
Infer(const std::string &name, base::InferenceType type)
virtual base::Status setOutputNames(const std::vector< std::string > &names)
Set all output edge names.
#define NNDEPLOY_CC_API
api
@ kInferenceTypeNotSupport