mindformers.models.PretrainedConfig
- class mindformers.models.PretrainedConfig(**kwargs)[源代码]
所有配置类的基类。处理所有模型配置的通用参数以及加载、下载、保存配置的方法。
说明
配置文件可以被加载并保存到磁盘。加载配置文件并使用这个文件初始化模型**不会**加载模型权重。它只影响模型的配置。
- 参数:
name_or_path (str, 可选) - 存储传递给
mindformers.models.PreTrainedModel.from_pretrained()
的字符串作为pretrained_model_name_or_path
,如果配置是用这种方法创建的。默认值:""
。checkpoint_name_or_path (str, 可选) - checkpoint 文件的路径或名称。默认值:
None
。mindformers_version (str, 可选) - MindSpore Transformers 的版本。默认值:
""
。
- 返回:
PretrainedConfig类实例。
样例:
>>> from mindformers.models import LlamaConfig >>> config = LlamaConfig(num_layers=2, seq_length=1024) >>> print(config) LlamaConfig { "batch_size": 1, "block_size": 16, "bos_token_id": 1, "checkpoint_name_or_path": "", "compute_dtype": "float16", "do_sample": true, "embedding_init_type": "float16", "eos_token_id": 2, "extend_method": "None", "ffn_dim_multiplier": null, "fine_grain_interleave": 1, "hidden_size": 4096, "ignore_token_id": -100, "intermediate_size": null, "is_dynamic": false, "layernorm_compute_type": "float32", "llm_backend": "", "max_decode_length": 1024, "max_position_embedding": 1024, "mindformers_version": "dev", "model_type": "llama", "multiple_of": 256, "n_kv_heads": null, "num_blocks": 512, "num_heads": 32, "num_layers": 2, "offset": 0, "pad_token_id": 0, "parallel_decoding_params": null, "parallel_optimizer": false, "param_init_type": "float16", "pp_interleave_num": 1, "qkv_concat": false, "qkv_has_bias": false, "quant_config": null, "repetition_penalty": 1.0, "rms_norm_eps": 1e-05, "rotary_dtype": "float32", "scaling_factor": 1.0, "seq_length": 1024, "softmax_compute_type": "float32", "theta": 10000.0, "tie_word_embeddings": false, "top_k": 5, "top_p": 1.0, "use_attn_mask_compression": false, "use_flash_attention": false, "use_past": false, "use_ring_attention": false, "use_rope_slice": false, "vocab_size": 32000 }
- classmethod from_dict(config_dict: Dict[str, Any], **kwargs)[源代码]
从参数字典实例化 PretrainedConfig。
- 参数:
config_dict (Dict[str, Any]) - 用于实例化配置对象的字典。这样的字典可以通过利用
mindformers.models.PretrainedConfig.get_config_dict()
方法从预训练的检查点检索。
- 返回:
PretrainedConfig, 从这些参数实例化的配置对象。
- classmethod from_json_file(json_file: Union[str, os.PathLike])[源代码]
从 JSON 文件的路径实例化 PretrainedConfig。
- 参数:
json_file (Union[str, os.PathLike]) - 参数的 JSON 文件路径。
- 返回:
PretrainedConfig, 从该 JSON 文件实例化的配置对象。
- classmethod from_pretrained(yaml_name_or_path, **kwargs)[源代码]
通过 yaml 名称或路径实例化配置。
- 参数:
yaml_name_or_path (str) - 支持的模型名称或模型配置文件路径(.yaml),支持的模型名称可以从
mindformers.AutoConfig.show_support_list()
中选择。如果 yaml_name_or_path 是模型名称,则支持以 mindspore 开头的模型名称或模型名称本身,如 "mindspore/vit_base_p16" 或 "vit_base_p16"。pretrained_model_name_or_path (str, 可选) - 等同于 yaml_name_or_path,如果设置了 pretrained_model_name_or_path,则 yaml_name_or_path 无效。默认值:
None
。
- 返回:
PretrainedConfig: 继承自 PretrainedConfig 的模型配置。
- classmethod get_config_dict(pretrained_model_name_or_path: Union[str, os.PathLike], **kwargs)[源代码]
从 'pretrained_model_name_or_path' 解析到一个参数字典,用于使用
mindformers.models.PretrainedConfig.from_dict()
实例化 PretrainedConfig。- 参数:
pretrained_model_name_or_path (Union[str, os.PathLike]) - 预训练检查点的标识符, 我们希望从中获得参数字典。
- 返回:
Tuple[dict, dict]: 用于实例化配置对象的字典。
- save_pretrained(save_directory=None, save_name='mindspore_model', **kwargs)[源代码]
将预训练的配置保存到指定目录。
- 参数:
save_directory (str, 可选) - 配置文件的保存目录。默认值:
None
。save_name (str, 可选) - 保存文件的名称,默认值:
mindspore_model
。
- to_json_file(json_file_path: Union[str, os.PathLike], use_diff: bool = True)[源代码]
将此实例保存到 JSON 文件。
- 参数:
json_file_path (Union[str, os.PathLike]) - 此配置实例参数将被保存的 JSON 文件路径。
use_diff (bool, 可选) - 如果设置为 True,仅序列化配置实例与默认
mindformers.models.PretrainedConfig
的差异到 JSON 文件。默认值:True
。