ANN领域算子模型抽象,说人话,就是抽象了一套跑NN相关的范式 prepareParam准备要接下来要run的函数类型 函数类型和DAnnNode的成员函数一一对应,分别有 train/search/insert/update/remove/loadModel/saveModel/edition; 上述接口在DAnnNode这个基类都为空,由派生类自行实现,在run统一调用;
More...
|
| | CObject ()=default |
| |
| virtual CStatus | init () |
| |
| virtual CStatus | destroy () |
| |
| virtual | ~CObject ()=default |
| |
| template<typename TAspect , typename TParam = GAspectDefaultParam, c_enable_if_t< std::is_base_of< GAspect, TAspect >::value, int > = 0, c_enable_if_t< std::is_base_of< GAspectParam, TParam >::value, int > = 0> |
| GElement * | addGAspect (TParam *param=nullptr) |
| |
| template<typename TAspect , typename ... Args, c_enable_if_t< std::is_base_of< GTemplateAspect< Args... >, TAspect >::value, int > = 0> |
| GElement * | addGAspect (Args... args) |
| |
| template<typename T , c_enable_if_t< std::is_base_of< GElementParam, T >::value, int > = 0> |
| GElement * | addEParam (const std::string &key, T *param) |
| |
| CStatus | addDependGElements (const std::set< GElement * > &elements) |
| |
| GElement * | setName (const std::string &name) override |
| |
| GElement * | setLoop (CSize loop) |
| |
| GElement * | setLevel (CLevel level) |
| |
| GElement * | setVisible (CBool visible) |
| |
| GElement * | setBindingIndex (CIndex index) |
| |
| GElement * | setTimeout (CMSec timeout, GElementTimeoutStrategy strategy=GElementTimeoutStrategy::AS_ERROR) |
| |
| GElement * | setMacro (CBool macro) |
| |
| CBool | isGGroup () const |
| |
| CBool | isGAdaptor () const |
| |
| CBool | isGNode () const |
| |
| GElementState | getCurState () const |
| |
| CStatus | removeDepend (GElement *element) |
| |
| GElement & | operator-- (int) noexcept |
| |
| GElement & | operator> (GElement *element) |
| |
| GElement & | operator& (GElement *element) |
| |
| GElement & | operator* (CSize loop) noexcept |
| |
| template<typename TAspect , typename TParam , c_enable_if_t< std::is_base_of< GAspect, TAspect >::value, int > , c_enable_if_t< std::is_base_of< GAspectParam, TParam >::value, int > > |
| CGRAPH_NAMESPACE_BEGIN GElementPtr | addGAspect (TParam *param) |
| |
| template<typename TAspect , typename ... Args, c_enable_if_t< std::is_base_of< GTemplateAspect< Args... >, TAspect >::value, int > > |
| GElementPtr | addGAspect (Args... args) |
| |
| template<typename T , c_enable_if_t< std::is_base_of< GElementParam, T >::value, int > > |
| GElementPtr | addEParam (const std::string &key, T *param) |
| |
| virtual const std::string & | getName () const |
| |
| const std::string & | getSession () const |
| |
| const std::string & | getDescription () const |
| |
| virtual auto | setDescription (const std::string &description) -> decltype(this) |
| |
| virtual | ~CDescInfo ()=default |
| |
| std::string | name_ |
| |
| std::string | session_ |
| |
| std::string | description_ |
| |
ANN领域算子模型抽象,说人话,就是抽象了一套跑NN相关的范式 prepareParam准备要接下来要run的函数类型 函数类型和DAnnNode的成员函数一一对应,分别有 train/search/insert/update/remove/loadModel/saveModel/edition; 上述接口在DAnnNode这个基类都为空,由派生类自行实现,在run统一调用;
run的调用逻辑: prepareParam为纯虚函数,派生类必须重写,返回的是接下来run要跑的函数类型 接着run会调用这个函数类型在ann_func_arr_实际注册的函数 最后再调用一次refreshParam刷新参数
P.S. 感觉用处不大,和目前常用的 前处理 -> NN -> 后处理 不太match,倒是比较契合算法的模型训练流程?