Diffusers documentation

AutoModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoModel

AutoModel は、チェックポイントの config.json ファイルから正しいモデルクラスを自動的に取得します。

AutoModel

class diffusers.AutoModel

< >

( *args**kwargs )

from_pretrained

< >

( pretrained_model_or_path: str | os.PathLike | None = None**kwargs )

パラメータ

  • pretrained_model_name_or_path (str または os.PathLike, 省略可) — 次のいずれかです:
    • Hub にホストされている事前学習済みモデルの model id(例: google/ddpm-celebahq-256)を表す文字列。
    • A path to a directory (for example ./my_model_directory) containing the model weights saved with save_pretrained().
  • cache_dir (str | os.PathLike, 任意) — 標準のキャッシュを使用しない場合、ダウンロードした事前学習モデルの構成がキャッシュされるディレクトリのパス。
  • dtype (torch.dtype, 省略可) — デフォルトのtorch.dtypeを上書きし、別のdtypeでモデルを読み込みます。
  • force_download (bool、任意、デフォルトは False) — モデルの重みおよび設定ファイルを(再)ダウンロードすることを強制するかどうか。キャッシュされたバージョンが存在する場合でも、それらを無視してダウンロードします。
  • proxies (dict[str, str]、省略可) — プロトコルまたはエンドポイントごとに使用するプロキシサーバーの辞書です。例えば、{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'} のように指定します。各リクエストでこれらのプロキシが使用されます。
  • output_loading_info (bool、省略可、デフォルトはFalse) — 欠落キー、予期しないキー、エラーメッセージを含む辞書を返すかどうかを指定します。
  • local_files_only(bool, 省略可、デフォルトは False) — ローカルのモデル重みと設定ファイルのみを読み込むかどうかを指定します。True に設定すると、モデルは Hub からダウンロードされません。
  • token (str または bool、省略可能) — リモートファイルの HTTP ベアラ認証に使用するトークンです。True の場合、diffusers-cli login で生成されたトークン(~/.huggingface に保存されています)が使用されます。
  • revision (str、任意、デフォルトは"main") — 使用する特定のモデルのバージョンです。ブランチ名、タグ名、コミット ID、または Git によって許可される任意の識別子を使用できます。
  • subfolder (str、任意、デフォルトは"") — Hub またはローカル上のより大きなモデルリポジトリ内での、モデルファイルのサブフォルダの場所。
  • mirror (str, 任意) — 中国でモデルをダウンロードする際に、アクセシビリティの問題を解決するためのミラーソースです。ソースの鮮度や安全性を保証するものではなく、詳細についてはミラーサイトをご参照ください。
  • device_map (str または dict[str, int | str | torch.device], 省略可) — 各サブモジュールをどのデバイスに配置するかを指定するマップです。各パラメータ/バッファ名に対して定義する必要はありません。特定のモジュール名がマップに含まれている場合、そのモジュールのすべてのサブモジュールが同じデバイスに送信されます。デフォルトは None, で、モデルが CPU にロードされることを意味します。

    device_map="auto" を設定すると、🤗 Accelerate が最も最適化された device_map を自動的に計算します。各オプションの詳細については、デバイスマップの設計を参照してください。

  • max_memory (Dict, 任意) — 最大メモリを示すデバイスの識別子の辞書です。未設定の場合、各 GPU の利用可能な最大メモリと、利用可能な CPU RAM がデフォルトとして使用されます。
  • offload_folder (str または os.PathLike、省略可) — device_map に "disk" という値が含まれる場合、重みをオフロードするパス。
  • offload_state_dict (bool、省略可) — Trueの場合、CPU RAMが不足するのを避けるため、CPU state dictの重さとチェックポイントの最大シャードの合計が収まらない場合に、CPU state dictを一時的にハードドライブへオフロードします。ディスクオフロードが存在する場合、デフォルトはTrueです。
  • low_cpu_mem_usage (bool、任意、torch のバージョンが 1.9.0 以上の場合デフォルトは True、それ以外の場合は False) — 重みの初期化を行わず、事前学習済み重みのみを読み込むことで、モデルの読み込みを高速化します。また、モデルの読み込み中に CPU メモリ(ピークメモリを含む)をモデルサイズの 1 倍以下に抑えるよう試みます。PyTorch 1.9.0 以上でのみサポートされています。PyTorch の古いバージョンを使用している場合、この引数を True に設定するとエラーが発生します。
  • variant (str, 任意) — variant として指定されたファイル名(例:"fp16" や "ema")から重みをロードします。
  • use_safetensors (bool、任意、デフォルトは None) — None に設定されている場合、safetensors の重みが利用可能であり、かつ safetensors ライブラリがインストールされている場合、それらの 重みがダウンロードされます。True に設定されている場合、モデルは safetensors の重みから強制的に読み込まれます。False に設定されている場合、safetensors の重みは読み込まれません。
  • disable_mmap (‘bool’, 任意、デフォルトは ‘False’) — Safetensors モデルの読み込み時に mmap を無効にするかどうか。モデルがネットワークマウントやハードドライブ上にあり、mmap のランダムアクセス(seek)を適切に処理できない可能性がある場合、このオプションを有効にするとパフォーマンスが向上する場合があります。
  • trust_remote_cocde (bool、省略可、デフォルトはFalse) — リモートコードを信頼するかどうか

事前学習済みモデルの構成から、事前学習済み PyTorch モデルをインスタンス化します。

モデルはデフォルトで評価モードに設定されており、model.eval() が呼び出され、dropout モジュールは無効化されています。モデルを学習するには、model.train() を呼び出して学習モードに戻してください。

> プライベートモデルやゲート付きモデルを使用するには、hf > auth loginでログインしてください。また、ファイアウォールが設定された環境でこの方法を使用するために、特別な> 「オフラインモード」を有効にすることもできます。

例:

from diffusers import AutoModel

unet = AutoModel.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")

以下のエラーメッセージが表示された場合、下流タスク用に重みをファインチューニングする必要があります。

Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.

from_config

< >

( pretrained_model_name_or_path_or_dict: str | os.PathLike | dict | None = None**kwargs )

パラメータ

  • pretrained_model_name_or_path_or_dict (str, os.PathLike, または dict) — 以下のいずれかです:
    • モデル ID(例: google/ddpm-celebahq-256)の文字列。Hub にホストされている事前学習済みモデルの構成です。
    • モデル設定ファイルを含むディレクトリへのパス(例:./my_model_directory)。
    • 設定辞書。
  • cache_dir (Union[str, os.PathLike], 省略可) — 標準のキャッシュを使用しない場合、ダウンロードした事前学習済みモデルの構成がキャッシュされるディレクトリのパス。
  • force_download (bool、任意、デフォルトはFalse) — モデル設定の(再)ダウンロードを強制するかどうか。キャッシュされたバージョンが存在する場合でも、それを上書きします。
  • proxies (Dict[str, str], 省略可) — プロトコルまたはエンドポイントごとに使用するプロキシサーバーの辞書。
  • local_files_only(bool, 任意、デフォルトは False) — ローカルのモデル設定ファイルのみを読み込むかどうかを指定します。
  • token (str または bool、省略可) — リモートファイルの HTTP ベアラ認証に使用するトークン。
  • revision (str、任意、デフォルトは "main") — 使用する特定のモデルのバージョンです。
  • trust_remote_code (bool、省略可、デフォルトはFalse) — リモートコードを信頼するかどうか。
  • subfolder (str、任意、デフォルトは"") — Hub またはローカル上のより大きなモデルリポジトリ内での、モデルファイルのサブフォルダの場所。

ランダムな重み付きで、設定辞書または事前学習済みモデルの設定ファイルからモデルをインスタンス化します(事前学習済み重みは読み込まれません)。

例:

from diffusers import AutoModel

model = AutoModel.from_config("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")
Update on GitHub