# 設定

ベースクラス [PreTrainedConfig](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig) は、ローカルファイルやディレクトリ、またはライブラリが提供する事前学習モデルの設定（HuggingFace の AWS S3 リポジトリからダウンロード）から設定を読み込み/保存するための共通メソッドを実装しています。

各派生設定クラスは、モデル固有の属性を実装しています。すべての設定クラスに共通して存在する属性は、`hidden_size`、`num_attention_heads`、および`num_hidden_layers`です。テキストモデルはさらに、`vocab_size`を実装しています。

## PreTrainedConfig[[transformers.PreTrainedConfig]]

#### transformers.PreTrainedConfig[[transformers.PreTrainedConfig]]

```python
transformers.PreTrainedConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L299)

**パラメータ:**

name_or_path (`str`、*任意*、デフォルトは `""`) : 設定がそのようなメソッドによって作成された場合、[PreTrainedModel.from_pretrained()](/docs/transformers/v5.23.0/ja/main_classes/model#transformers.PreTrainedModel.from_pretrained) に渡された文字列を `pretrained_model_name_or_path` として保存します。

output_hidden_states (`bool`、*任意*、デフォルトは`False`) : モデルがすべての hidden-states を返すかどうか。

output_attentions (`bool`、*任意*、デフォルトは`False`) : モデルがすべてのアテンションを返すかどうか。

return_dict (`bool`、*任意*、デフォルトは`True`) : モデルが通常のタプルではなく[ModelOutput](/docs/transformers/v5.23.0/ja/main_classes/output#transformers.utils.ModelOutput)を返すかどうか。

is_encoder_decoder (`bool`、*任意*、デフォルトは`False`) : モデルがエンコーダー/デコーダーとして使用されるかどうかを示します。

chunk_size_feed_forward (`int`、*optional*、デフォルトは`0`) : 残差アテンションブロック内のすべてのフィードフォワード層のチャンクサイズです。`0`は、フィードフォワード層がチャンク分割されないことを意味します。nは、フィードフォワード層が一度に`n` < sequence_length個の埋め込みを処理することを意味します。フィードフォワードチャンク分割の詳細については、[フィードフォワードチャンク分割はどのように機能しますか？](../glossary.html#feed-forward-chunking)を参照してください。

per_layer_config (`dict[int | str, dict[str, Any]]`, *任意*) : レイヤーインデックスから設定属性の上書きへのスパースなマッピングです。各キーはレイヤーインデックスであり、各値は、そのレイヤーにおいてグローバル設定と異なる属性を含みます。

tie_last_hidden_states (`bool`, *任意*) : `hidden_states[-1]`が、最終正規化前の隠れ状態ではなく、最終正規化後の`last_hidden_state`になるかどうかを指定します。設定されていない場合、モデルの組み込みのデフォルト値が使用されます。

**ファインチューニングタスクのパラメータ:**

architectures (`list[str]`、*任意*) : モデルの事前学習済み重みと併せて使用できるモデルアーキテクチャ。

id2label (`dict[int, str]`、*任意*) : インデックス（予測インデックスやターゲットインデックスなど）からラベルへのマッピング。

label2id (`dict[str, int]`、*任意*) : モデルにおけるラベルからインデックスへのマッピング。

num_labels (`int`, *任意*) : モデルに追加される最終層で使用するラベル数。通常は分類タスク向けです。

problem_type (`str`, *省略可*) : `XxxForSequenceClassification` モデルの問題タイプ。`"regression"`、`"single_label_classification"`、または `"multi_label_classification"` のいずれかです。

**PyTorch 固有のパラメータ:**

dtype (`str`, *任意*) : 重みの`dtype`です。この属性を使用すると、モデルをデフォルト以外の`dtype`（通常は`float32`）で初期化でき、最適なストレージ割り当てを可能にします。例えば、保存されたモデルが`float16`の場合、`float16`の重みをロードするために必要な最小限のメモリで読み戻すのが理想です。

すべての設定クラス用の基底クラスです。すべてのモデルの設定に共通するいくつかのパラメータを処理し、設定の読み込み/ダウンロード/保存を行うメソッドも提供します。

設定ファイルは読み込み、ディスクへの保存が可能です。設定ファイルを読み込み、そのファイルを使用してモデルを初期化しても、モデルの重みは読み込まれ**ません**。これはモデルの設定にのみ影響します。

クラス属性（派生クラスによって上書きされます）:

- **model_type** (`str`) -- モデルタイプを識別するための識別子です。JSON ファイルにシリアライズされ、[AutoConfig](/docs/transformers/v5.23.0/ja/model_doc/auto#transformers.AutoConfig) で正しいオブジェクトを再構築するために使用されます。
- **attribute_map** (`dict[str, str]`) -- モデル固有の属性名を、属性の標準的な命名にマッピングする辞書。
- **base_model_tp_plan** (`dict[str, Any]`) -- ベースモデルのサブモジュールの FQN を、`model.tensor_parallel` が呼び出された際にそのサブモジュールに適用されるテンソル並列化プランにマッピングする dict。
- **base_model_fsdp_plan** (`dict[Any, str]`) -- ベースモデルのサブモジュールを FSDP2 のシャーディング戦略 (例: `"free_full_weight"` / `"keep_full_weight"`) にマッピングする辞書です。キーにはワイルドカード付きのモジュールパス (例: `"layers.*"`) またはパスのタプル (単一の `fully_shard` 呼び出しにグループ化される) を指定できます。
- **base_model_pp_plan** (`dict[str, tuple[list[str]]]`) -- ベースモデルの子モジュールを、ユーザーが子モジュールを適切なデバイスに配置できるようにするパイプライン並列化計画に対応付ける辞書です。

共通属性（すべてのサブクラスに存在する）:

- **vocab_size** (`int`) -- 語彙に含まれるトークンの数です。これは埋め込み行列の最初の次元にもなります（ViTのようにテキストモダリティを持たないモデルでは、この属性が存在しない場合があります）。
- **hidden_size** (`int`) -- モデルの隠れ層サイズ。
- **num_attention_heads** (`int`) -- モデルのマルチヘッドアテンション層で使用されるアテンションヘッドの数。
- **num_hidden_layers** (`int`) -- モデル内のブロック数。

モデル設定でシーケンス生成のパラメータを設定することは非推奨になりました。後方互換性のため、一部の読み込みは引き続き可能ですが、上書きしようとすると例外が発生します。[~transformers.GenerationConfig] で設定してください。個々のパラメータの詳細については、[~transformers.GenerationConfig] のドキュメントを参照してください。

#### push_to_hub[[transformers.PreTrainedConfig.push_to_hub]]

```python
push_to_hub(repo_id: str, commit_message: str | None = None, commit_description: str | None = None, private: bool | None = None, token: bool | str | None = None, revision: str | None = None, create_pr: bool = False, max_shard_size: int | str | None = '50GB', tags: list[str] | None = None)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/utils/hub.py#L822)

**パラメータ:**

repo_id (`str`) : 設定をプッシュするリポジトリの名前です。特定の組織にプッシュする場合は、組織名を含む必要があります。

commit_message (`str`, *任意*) : push 時にコミットするメッセージ。デフォルトは `"Upload config"` です。

commit_description (`str`, *任意*) : 作成されるコミットの説明

private (`bool`, *optional*) : リポジトリを非公開にするかどうか。`None`（デフォルト）の場合、組織のデフォルトが非公開でない限り、リポジトリは公開になります。リポジトリが既に存在する場合、この値は無視されます。

token (`bool` または `str`、*省略可*) : リモートファイルの HTTP ベアラ認証に使用するトークン。`True`（デフォルト）の場合、`hf auth login` を実行した際に生成されたトークン（`~/.huggingface` に保存）が使用されます。

revision (`str`, *任意*) : アップロードしたファイルをプッシュするブランチ。

create_pr (`bool`, *任意*, デフォルトは `False`) : アップロードしたファイルで PR を作成するか、直接コミットするかどうかを指定します。

max_shard_size (`int` または `str`、*任意*、デフォルトは `"50GB"`) : モデルにのみ適用されます。シャード化される前のチェックポイントの最大サイズ。シャード化されたチェックポイントは、それぞれがこのサイズ未満になります。文字列で指定する場合は、数字の後に単位（`"5MB"` など）を続ける必要があります。

tags (`list[str]`、*任意*) : Hub にプッシュするタグのリスト。

設定ファイルを🤗 Model Hubにアップロードします。

例:

```python
from transformers import AutoConfig

config = AutoConfig.from_pretrained("google-bert/bert-base-cased")

# Push the config to your namespace with the name "my-finetuned-bert".
config.push_to_hub("my-finetuned-bert")

# Push the config to an organization with the name "my-finetuned-bert".
config.push_to_hub("huggingface/my-finetuned-bert")
```

#### default_config_fields[[transformers.PreTrainedConfig.default_config_fields]]

```python
default_config_fields()
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1474)

dataclass の各アノテーション付きフィールドのデフォルト値を取得し、diff-dict の保存に使用されます。v4 でカスタム `__init__` を使用して作成された設定の場合、空の dict を返すため、`self.__dict__` のすべてのキーが保存されます。新しい設定の場合、`__post_init__` ではなくフィールドとしてデフォルトが宣言されているキーを返すため、シリアライズされた json ファイルからこれらの特定のフィールドのみが除外されます。

#### dict_dtype_to_str[[transformers.PreTrainedConfig.dict_dtype_to_str]]

```python
dict_dtype_to_str(d: dict[str, Any])
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1395)

渡された辞書およびそのネストされた辞書に*dtype*キーが存在するかを確認し、None でない場合、torch.dtype を型名のみの文字列に変換します。例えば、`torch.float32` は *"float32"* という文字列に変換され、その後 JSON 形式で保存できます。

#### from_dict[[transformers.PreTrainedConfig.from_dict]]

```python
from_dict(config_dict: dict[str, Any], **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1054)

**パラメータ:**

config_dict (`dict[str, Any]`) : 設定オブジェクトをインスタンス化するために使用される辞書。この辞書は、[get_config_dict()](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig.get_config_dict) メソッドを活用して事前学習済みチェックポイントから取得できます。

kwargs (`dict[str, Any]`) : 設定オブジェクトの初期化に使用する追加のパラメータ。

**戻り値:** [PreTrainedConfig](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig)

これらのパラメータからインスタンス化された設定オブジェクト。

Pythonのパラメータ辞書から[PreTrainedConfig](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig)をインスタンス化します。

#### from_json_file[[transformers.PreTrainedConfig.from_json_file]]

```python
from_json_file(json_file: str | os.PathLike)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1115)

**パラメータ:**

json_file (`str` または `os.PathLike`) : パラメータを含む JSON ファイルへのパス。

**戻り値:** [PreTrainedConfig](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig)

そのJSONファイルからインスタンス化された設定オブジェクト。

パラメータのJSONファイルへのパスから[PreTrainedConfig](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig)をインスタンス化します。

#### from_pretrained[[transformers.PreTrainedConfig.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike, cache_dir: str | os.PathLike | None = None, force_download: bool = False, local_files_only: bool = False, token: str | bool | None = None, revision: str = 'main', **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L797)

**パラメータ:**

pretrained_model_name_or_path (`str` または `os.PathLike`) : 以下のいずれかです。 - huggingface.co のモデルリポジトリにホストされている事前学習済みモデル設定の *model id* を示す文字列。 - [save_pretrained()](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig.save_pretrained) メソッドを使用して設定ファイルを保存した *ディレクトリ* へのパス。例: `./my_model_directory/`。 - 保存された設定 JSON *ファイル* へのパス。例: `./my_model_directory/configuration.json`。

cache_dir (`str` または `os.PathLike`、*省略可能*) : 標準のキャッシュを使用しない場合、ダウンロードした事前学習済みモデルの構成をキャッシュするディレクトリのパス。

force_download (`bool`, *任意*, デフォルトは `False`) : 設定ファイルを（再）ダウンロードを強制し、キャッシュされたバージョンが存在する場合にそれを上書きするかどうか。

proxies (`dict[str, str]`, *省略可*) : プロトコルまたはエンドポイントごとに使用するプロキシサーバーの辞書。例: `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}.` 各リクエストでこれらのプロキシが使用されます。

token (`str` または `bool`、*省略可*) : リモートファイルの HTTP ベアラ認証に使用するトークン。`True` の場合、または指定されていない場合は、`hf auth login` を実行した際に生成されたトークン（`~/.huggingface` に保存）が使用されます。

revision (`str`、*任意*、デフォルトは`"main"`) : 使用する特定のモデルのバージョンです。huggingface.co ではモデルやその他の成果物を保存するために git ベースのシステムを使用しているため、`revision` には git で許可される任意の識別子（ブランチ名、タグ名、コミット ID など）を指定できます。    Hub で作成したプルリクエストをテストするには、`revision="refs/pr/<pr_number>"` を渡すことができます。

return_unused_kwargs (`bool`、*任意*、デフォルトは`False`) : `False`の場合、この関数は最終的な設定オブジェクトのみを返します。`True`の場合、この関数は`Tuple(config, unused_kwargs)`を返します。ここで、*unused_kwargs*は、キーが設定属性ではないキー/値のペアで構成される辞書です。つまり、`config`の更新に使用されず、それ以外は無視される`kwargs`の部分です。

subfolder (`str`、*任意*、デフォルトは`""`) : 関連するファイルが huggingface.co 上のモデルリポジトリ内のサブフォルダに配置されている場合、ここにフォルダ名を指定できます。

kwargs (`dict[str, Any]`、*省略可*) : kwargs 内の設定属性に対応するキーの値は、読み込まれた値の上書きに使用されます。キーが設定属性*ではない*キー/値ペアの動作は、`return_unused_kwargs` キーワード引数によって制御されます。

**戻り値:** [PreTrainedConfig](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig)

この事前学習モデルからインスタンス化された設定オブジェクト。

事前学習済みモデルの設定から、[PreTrainedConfig](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig)（または派生クラス）をインスタンス化します。

例:

```python
# We can't instantiate directly the base class *PreTrainedConfig* so let's show the examples on a
# derived class: BertConfig
config = BertConfig.from_pretrained(
    "google-bert/bert-base-uncased"
)  # Download configuration from huggingface.co and cache.
config = BertConfig.from_pretrained(
    "./test/saved_model/"
)  # E.g. config (or model) was saved using *save_pretrained('./test/saved_model/')*
config = BertConfig.from_pretrained("./test/saved_model/my_configuration.json")
config = BertConfig.from_pretrained("google-bert/bert-base-uncased", output_attentions=True, foo=False)
assert config.output_attentions == True
config, unused_kwargs = BertConfig.from_pretrained(
    "google-bert/bert-base-uncased", output_attentions=True, foo=False, return_unused_kwargs=True
)
assert config.output_attentions == True
assert unused_kwargs == {"foo": False}
```

#### get_config_dict[[transformers.PreTrainedConfig.get_config_dict]]

```python
get_config_dict(pretrained_model_name_or_path: str | os.PathLike, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L909)

**パラメータ:**

pretrained_model_name_or_path (`str` または `os.PathLike`) : パラメータの辞書を取得したい事前学習済みチェックポイントの識別子。

**戻り値:** `tuple[Dict, Dict]`

設定オブジェクトをインスタンス化するために使用される辞書。

`pretrained_model_name_or_path`から、`from_dict`を使用して[PreTrainedConfig](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig)をインスタンス化するために使用するパラメータの辞列を解決します。

#### get_mtp_config[[transformers.PreTrainedConfig.get_mtp_config]]

```python
get_mtp_config()
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1596)

MTPモデルの作成に使用するmtpテキスト設定を返します。MTPレイヤーはメインモデルと同じクラスをインスタンス化して作成されるため、`layer_types`や`mtp_layer_types`などのインデックス固有のプロパティを上書きして、正しいMTPレイヤーを作成し、レイヤー内のインデックス付けの問題を回避する必要があります（MTPレイヤーではレイヤーのインデックス付けが0からやり直されるため）。

#### get_text_config[[transformers.PreTrainedConfig.get_text_config]]

```python
get_text_config(decoder = None, encoder = None)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1519)

**パラメータ:**

decoder (`Optional[bool]`, *任意*) : `True`に設定すると、デコーダーのconfig名のみを検索します。

encoder (`Optional[bool]`, *任意*) : `True`に設定すると、エンコーダーの設定名のみを検索します。

モデルのテキスト入力（エンコーダー）またはテキスト出力（デコーダー）に関連するテキスト設定を返します。`decoder`および`encoder`の引数を使用することで、モデルのどの側に関心があるかを指定できます。これは、テキスト入力と出力の両方のモダリティを持つモデルで有用です。

このメソッドを使用した場合、3つの結果が考えられます。
1. ほとんどのモデルでは、元のconfigインスタンス自体を返します。
2. 2024年以降の新しい複合モデルでは、有効な名前の下にネストされた設定のテキストセクションを返します。
3. 古い（2023年以前）の複合モデルでは、`encoder=True` の場合、decoder 専用のパラメータを破棄し、その逆も同様です。

#### is_custom_code[[transformers.PreTrainedConfig.is_custom_code]]

```python
is_custom_code()
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1468)

現在の設定がカスタムコードであるかどうかを返します。つまり、ハブから読み込まれたコード、またはユーザー固有のモジュール/セッションで定義されたコードのいずれかです。

#### is_remote_code[[transformers.PreTrainedConfig.is_remote_code]]

```python
is_remote_code()
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1462)

現在の設定がカスタムコード（つまり、ハブから読み込まれたコード）であるか、`register_for_auto_class` 経由で登録したばかりのクラスであるかを返します。

#### register_for_auto_class[[transformers.PreTrainedConfig.register_for_auto_class]]

```python
register_for_auto_class(auto_class = 'AutoConfig')
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1440)

**パラメータ:**

auto_class (`str` または `type`、*省略可能*、デフォルトは `"AutoConfig"`) : この新しい設定を登録する auto クラス。

このクラスを指定された auto クラスに登録します。ライブラリ内の設定はすでに`AutoConfig`にマッピングされているため、このメソッドはカスタム設定でのみ使用すべきです。

#### save_pretrained[[transformers.PreTrainedConfig.save_pretrained]]

```python
save_pretrained(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L735)

**パラメータ:**

save_directory (`str` または `os.PathLike`) : 設定 JSON ファイルを保存するディレクトリ（存在しない場合は作成されます）。

push_to_hub (`bool`、*任意*、デフォルトは`False`) : モデルを保存した後、Hugging Face モデルハブにプッシュするかどうかを指定します。プッシュ先のリポジトリは`repo_id`で指定できます（指定しない場合、`save_directory`の名前があなたのネームスペース内でデフォルトとして使用されます）。

kwargs (`dict[str, Any]`、*省略可*) : [push_to_hub()](/docs/transformers/v5.23.0/ja/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub) メソッドに渡される追加のキーワード引数。

設定オブジェクトをディレクトリ `save_directory` に保存し、[from_pretrained()](/docs/transformers/v5.23.0/ja/main_classes/configuration#transformers.PreTrainedConfig.from_pretrained) クラスメソッドによって再読み込みできるようにします。

#### to_dict[[transformers.PreTrainedConfig.to_dict]]

```python
to_dict()
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1261)

**戻り値:** `dict[str, Any]`

この設定インスタンスを構成するすべての属性の辞書。

このインスタンスをPythonの辞書にシリアライズします。

#### to_diff_dict[[transformers.PreTrainedConfig.to_diff_dict]]

```python
to_diff_dict()
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1199)

**戻り値:** dict[str, Any]

この設定インスタンスを構成するすべての属性の辞書。

`config` 属性は常に保持されますが、読みやすさを向上させるため、デフォルト設定の属性に対応するすべての属性を削除します。Python の辞列にシリアライズします。

#### to_json_file[[transformers.PreTrainedConfig.to_json_file]]

```python
to_json_file(json_file_path: str | os.PathLike, use_diff: bool = True)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1333)

**パラメータ:**

json_file_path (`str` または `os.PathLike`) : この設定インスタンスのパラメータを保存する JSON ファイルへのパス。

use_diff (`bool`、*任意*、デフォルトは`True`) : `True`に設定すると、設定インスタンスとデフォルトの`PreTrainedConfig()`との差分のみがJSONファイルにシリアライズされます。

このインスタンスをJSONファイルに保存します。

#### to_json_string[[transformers.PreTrainedConfig.to_json_string]]

```python
to_json_string(use_diff: bool = True)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1311)

**パラメータ:**

use_diff (`bool`、*任意*、デフォルトは`True`) : `True`に設定されている場合、設定インスタンスとデフォルトの`PreTrainedConfig()`との差分のみがJSON文字列にシリアライズされます。

**戻り値:** `str`

この設定インスタンスを構成するすべての属性を JSON 形式で含む文字列。

このインスタンスをJSON文字列にシリアライズします。

#### 更新[[transformers.PreTrainedConfig.update]]

```python
update(config_dict: dict[str, Any])
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1347)

**パラメータ:**

config_dict (`dict[str, Any]`) : このクラスで更新すべき属性の辞書。

`config_dict` の属性で、このクラスの属性を更新します。

#### update_from_string[[transformers.PreTrainedConfig.update_from_string]]

```python
update_from_string(update_str: str)
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L1357)

**パラメータ:**

update_str (`str`) : このクラスで更新すべき属性を持つ文字列。

`update_str` の属性で、このクラスの属性を更新します。

期待される形式は、int、float、string はそのまま、boolean は `true` または `false` を使用することです。例: "n_embd=10,resid_pdrop=0.2,scale_attn_weights=false,summary_type=cls_index"

変更するキーは、設定オブジェクトに既に存在している必要があります。

#### 検証[[transformers.PreTrainedConfig.validate]]

```python
validate()
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/huggingface_hub/dataclasses.py#L247)

インスタンスに対してクラスバリデータを実行します。

#### validate_architecture[[transformers.PreTrainedConfig.validate_architecture]]

```python
validate_architecture()
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L670)

`@strict` による検証の一部です。設定のアーキテクチャを検証します。

#### validate_layer_type[[transformers.PreTrainedConfig.validate_layer_type]]

```python
validate_layer_type()
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L703)

`mlp_layer_types`と`layer_types`が正しく定義されていることを確認してください。

#### validate_token_ids[[transformers.PreTrainedConfig.validate_token_ids]]

```python
validate_token_ids()
```

[ソース](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/configuration_utils.py#L687)

`@strict` による検証の一部です。特殊トークンの内容を検証します。

