配置

Modelopt的pydantic BaseModel用于算法和模式中的任何类型的配置。

函数

ModeloptField

一个强制设置默认值的pydantic.Field。

get_kwargs_for_create_model_with_rules

生成pydantic.create_model的kwargs以自动生成规则配置类。

ModeloptConfig ModeloptBaseConfig

基础类:BaseModel

我们的配置基类用于模式配置。

基类扩展了pydantic的BaseModel的功能,提供了额外的方法和属性,以便更轻松地访问和操作配置。

显示默认配置为JSON
默认配置 (JSON):

{}

get(key, default=None)

获取给定键(可以是名称或别名)的值,如果未找到则返回默认值。

Parameters:
  • key (str) –

  • 默认 (任意) –

Return type:

任何

get_field_name_from_key(key)

从给定的键中获取字段名称(可以是字段的名称或别名)。

Parameters:

key (str) –

Return type:

str

items()

如果可能,返回带有键作为别名的配置项。

Return type:

ItemsView[str, Any]

keys()

返回配置的键(别名优先于名称)。

Return type:

KeysView[str]

model_dump(**kwargs)

将配置转储到带有别名的字典中,默认情况下不发出警告。

model_dump_json(**kwargs)

默认情况下,将配置转储为带有别名的json,且不显示警告。

update(config)

使用给定的配置字典更新配置。

Parameters:

config (Dict[str, Any]) –

Return type:

values()

返回配置的值。

Return type:

值视图[任意]

ModeloptConfig ModeloptBaseRule

基础:ModeloptBaseConfig

我们的基础配置类,用于基于规则的配置类。

规则是管理修改动态模块类配置的内容。

显示默认配置为JSON
默认配置 (JSON):

{}

classmethod customize_rule(rule, key)

根据提供的匹配键构建自定义规则。

Parameters:
  • 规则 (字典[字符串, 任意类型] | | 字典[字符串, 字典[字符串, 任意类型] | ]) –

  • key (str) –

Return type:

Dict[str, Any] | None

classmethod get_rule_type(wrapped_only=False)

获取给定ModeloptBaseConfig的规则类型。

Parameters:

wrapped_only (bool) –

Return type:

类型别名

classmethod validate_rule(rule)

使用当前的cls规则验证规则。

我们将检查完整的规则类型(包装和未包装),然后返回包装类型。

Parameters:

规则 (字典[字符串, 任意类型] | | 字典[字符串, 字典[字符串, 任意类型] | ]) –

Return type:

字典[字符串, 字典[字符串, 任意类型] | ]

ModeloptConfig ModeloptBaseRuleConfig

基础:ModeloptBaseConfig

我们的配置基类,用于完全由规则组成的模式配置。

基类扩展了pydantic的BaseModel的功能,提供了额外的方法和属性,以便更轻松地访问和操作配置。

显示默认配置为JSON
默认配置 (JSON):

{}

classmethod register_default(extra_default)

为给定的键注册一个新的默认值。

Parameters:

extra_default (Dict[str, Dict[str, Dict[str, Any] | None]]) –

Return type:

classmethod unregister_default(key)

取消给定键的默认值。

Parameters:

key (str) –

Return type:

ModeloptField(default=PydanticUndefined, **kwargs)

一个强制设置默认值的pydantic.Field。

Parameters:

默认 (任意) –

get_kwargs_for_create_model_with_rules(registry, default_rules, doc)

生成pydantic.create_model的kwargs以自动生成规则配置类。

Parameters:
  • registry (Any) – 包含所有相关动态模块的动态模块注册表。

  • rule_fields – 基于规则的配置类应具有的字段。

  • doc (str) – 基于规则的配置类的文档字符串。

  • default_rules (Dict[str, Dict[str, Any] | None | Dict[str, Dict[str, Any] | None]]) –

Return type:

Dict[str, Any]

基于规则的配置类是一个纯粹由与规则相关的字段组成的配置类。我们可以通过使用

from pydantic import create_model

MyRuleConfigs = create_model(
    "MyRuleConfigs", **get_create_model_kwargs_for_rule_model(registry, rule_fields)
)

如需更多信息和示例用法,您可以查看 SparseMagnitudeConfig

注意

我们之所以有这个便利函数,是因为自动文档只有在各自的配置文件中显式调用create_model时才会生成。因此,这个函数是一个变通方法,至少可以减轻正确调用create_model的负担。