Help Center/
Atlas 300 Application (Model 3000)/
Matrix API Reference/
Model Manager APIs (C++ Language)/
Other Compilation Dependent APIs/
AINNNodeFactory
Updated on 2022-03-13 GMT+08:00
AINNNodeFactory
Macro that supports service engine self-registration, provides the API for creating an NN node, and supports the query of registered NN node description information (by name or all). The AINNNodeFactory class is defined in ai_nn_node.h.
class AINNNodeFactory { public: static AINNNodeFactory* GetInstance(); /* * @brief Create an NN node based on the NN node name. * @param [in] name NN node name * @return std::shared_ptr<IAINNNode> Pointer to the NN node object corresponding to the name. If nullptr is returned, the corresponding NN node cannot be found. */ std::shared_ptr<IAINNNode> CreateNNNode(const std::string &name); /* * @brief Obtain the descriptions of all registered NN nodes. * @param [out] nnnode_desc Descriptions of all registered NN nodes * @return SUCCESS Success * @return Other: failure */ void GetAllNNNodeDescription(AINNNodeDescriptionList &nnnode_desc); /* * @brief Obtain the description of the NN node based on the NN node name. * @param [in] name NN node name * @param [out] engin_desc NN node description * @return SUCCESS Success * @return Other: failure */ AIStatus GetNNNodeDescription(const std::string &name, AINNNodeDescription &engin_desc); /* * @brief Register the NN node creation function. * @param [in] nnnode_desc NN node description * @param [in] create_func Function for creating an NN node * @return SUCCESS Success * @return Other: failure */ AIStatus RegisterNNNodeCreator(const AINNNodeDescription &nnnode_desc, AINNNODE_CREATE_FUN create_func); AIStatus RegisterNNNodeCreator(const string nnnode_str, AINNNODE_CREATE_FUN create_func); /* * @brief Deregister the NN node. * @param [in] name NN node name * @return SUCCESS Success */ AIStatus UnRegisterNNNode(const AINNNodeDescription &nnnode_desc); AIStatus UnRegisterNNNode(const string nnnode_str); private: std::map<std::string, AINNNODE_CREATE_FUN> create_func_map_; std::map<std::string, AINNNodeDescription> nnnode_desc_map_; std::mutex map_lock_; };
Parent topic: Other Compilation Dependent APIs
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
The system is busy. Please try again later.
For any further questions, feel free to contact us through the chatbot.
Chatbot