MxNet源码解析(6) registry

1. 前言

在MXNet中处处都用到了registry,因此有必要了解一下它的实现和用法。

2. registry.h

class Registry:类Registry用于注册全局的单例类。在MXNet中,各种单例类都是通过一个宏来完成注册的。

  • entry_list_:将注册的EntryType保存在该向量中
  • const_list_
  • fmap_:名字到EntryType*的映射
  • AddAlias:将别名注册
  • __REGISTER__:注册

FunctionRegEntryBase是注册函数的基本类,它提供了几个函数

  • set_body:设置函数体
  • description:定义描述字符串
  • add_argument:将一个参数加入arguments
  • add_arguments:将一组参数加入到arguments
  1. DMLC_REGISTRY_ENABLE:当我们需要一个单例模式的时候,就要将它使用该宏来初始化,该宏定义了实例化的RegistryGet()方法,方法返回该注册单例的静态变量
  2. DMLC_REGISTRY_REGISTER(EntryType, EntryTypeName, Name):将Name通过函数__REGISTER__函数来进行注册,

你可能感兴趣的:(MxNet源码解析(6) registry)