配置
Modelopt的pydantic BaseModel用于算法和模式中的任何类型的配置。
函数
一个强制设置默认值的pydantic.Field。 |
|
生成 |
- 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
-
我们的基础配置类,用于基于规则的配置类。
规则是管理修改动态模块类配置的内容。
显示默认配置为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
-
我们的配置基类,用于完全由规则组成的模式配置。
基类扩展了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的负担。