# 単一ファイル

[from_single_file()](/docs/diffusers/main/ja/api/loaders/single_file#diffusers.loaders.FromSingleFileMixin.from_single_file) メソッドを使用すると、以下を読み込むことができます:

* 単一ファイルに保存されたモデルです。Automatic1111のような拡散モデルエコシステムで動作するモデルを扱っており、モデルの保存や共有に単一ファイル形式を頻繁に利用する場合に役立ちます。
* 元々配布されていたレイアウトで保存されたモデルを読み込むためのオプションです。他のサービスでファインチューニングされたモデルを扱い、Diffusersのモデルオブジェクトやパイプラインに直接読み込みたい場合に便利です。

> [!TIP]
> Diffusersのマルチフォルダレイアウトと単一ファイルレイアウトの違い、およびこれらの異なるレイアウトで保存されたモデルの読み込み方法について詳しく知るには、[モデルファイルとレイアウト](../../using-diffusers/other-formats)ガイドをお読みください。

## サポートされているパイプライン

- [StableDiffusionPipeline](/docs/diffusers/main/ja/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline)
- [StableDiffusionImg2ImgPipeline](/docs/diffusers/main/ja/api/pipelines/stable_diffusion/img2img#diffusers.StableDiffusionImg2ImgPipeline)
- [StableDiffusionInpaintPipeline](/docs/diffusers/main/ja/api/pipelines/stable_diffusion/inpaint#diffusers.StableDiffusionInpaintPipeline)
- [StableDiffusionControlNetPipeline](/docs/diffusers/main/ja/api/pipelines/controlnet#diffusers.StableDiffusionControlNetPipeline)
- [StableDiffusionControlNetImg2ImgPipeline](/docs/diffusers/main/ja/api/pipelines/controlnet#diffusers.StableDiffusionControlNetImg2ImgPipeline)
- [StableDiffusionControlNetInpaintPipeline](/docs/diffusers/main/ja/api/pipelines/controlnet#diffusers.StableDiffusionControlNetInpaintPipeline)
- [StableDiffusionUpscalePipeline](/docs/diffusers/main/ja/api/pipelines/stable_diffusion/upscale#diffusers.StableDiffusionUpscalePipeline)
- [StableDiffusionXLPipeline](/docs/diffusers/main/ja/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLPipeline)
- [StableDiffusionXLImg2ImgPipeline](/docs/diffusers/main/ja/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLImg2ImgPipeline)
- [StableDiffusionXLInpaintPipeline](/docs/diffusers/main/ja/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLInpaintPipeline)
- [StableDiffusionXLInstructPix2PixPipeline](/docs/diffusers/main/ja/api/pipelines/pix2pix#diffusers.StableDiffusionXLInstructPix2PixPipeline)
- [StableDiffusionXLControlNetPipeline](/docs/diffusers/main/ja/api/pipelines/controlnet_sdxl#diffusers.StableDiffusionXLControlNetPipeline)
- `StableDiffusionXLKDiffusionPipeline`
- [StableDiffusion3Pipeline](/docs/diffusers/main/ja/api/pipelines/stable_diffusion/stable_diffusion_3#diffusers.StableDiffusion3Pipeline)
- [LatentConsistencyModelPipeline](/docs/diffusers/main/ja/api/pipelines/latent_consistency_models#diffusers.LatentConsistencyModelPipeline)
- [LatentConsistencyModelImg2ImgPipeline](/docs/diffusers/main/ja/api/pipelines/latent_consistency_models#diffusers.LatentConsistencyModelImg2ImgPipeline)
- `StableDiffusionControlNetXSPipeline`
- `StableDiffusionXLControlNetXSPipeline`
- [LEditsPPPipelineStableDiffusion](/docs/diffusers/main/ja/api/pipelines/ledits_pp#diffusers.LEditsPPPipelineStableDiffusion)
- [LEditsPPPipelineStableDiffusionXL](/docs/diffusers/main/ja/api/pipelines/ledits_pp#diffusers.LEditsPPPipelineStableDiffusionXL)
- `PIAPipeline`

## サポートされているモデル

- [UNet2DConditionModel](/docs/diffusers/main/ja/api/models/unet2d-cond#diffusers.UNet2DConditionModel)
- `StableCascadeUNet`
- [AutoencoderKL](/docs/diffusers/main/ja/api/models/autoencoderkl#diffusers.AutoencoderKL)
- [ControlNetModel](/docs/diffusers/main/ja/api/models/controlnet#diffusers.ControlNetModel)
- [SD3Transformer2DModel](/docs/diffusers/main/ja/api/models/sd3_transformer2d#diffusers.SD3Transformer2DModel)
- [FluxTransformer2DModel](/docs/diffusers/main/ja/api/models/flux_transformer#diffusers.FluxTransformer2DModel)

## FromSingleFileMixin[[diffusers.loaders.FromSingleFileMixin]]

#### diffusers.loaders.FromSingleFileMixin[[diffusers.loaders.FromSingleFileMixin]]

```python
diffusers.loaders.FromSingleFileMixin()
```

[ソース](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/single_file.py#L271)

`.ckpt`形式で保存されたモデルの重みを[DiffusionPipeline](/docs/diffusers/main/ja/api/pipelines/overview#diffusers.DiffusionPipeline)に読み込みます。

#### from_single_file[[diffusers.loaders.FromSingleFileMixin.from_single_file]]

```python
from_single_file(pretrained_model_link_or_path, **kwargs)
```

[ソース](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/single_file.py#L276)

**パラメータ:**

pretrained_model_link_or_path (`str` または `os.PathLike`、*省略可*) : 以下のいずれかです。 - Hub 上の `.ckpt` ファイルへのリンク（例: `"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.ckpt"`）。 - パイプラインの重みをすべて含む *ファイル* へのパス。

dtype (`str` または `torch.dtype`、*省略可能*) : デフォルトの `torch.dtype` を上書きし、別の dtype でモデルを読み込みます。

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

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

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

local_files_only (`bool`、*任意*、デフォルトは`False`) : ローカルのモデルの重みと設定ファイルのみを読み込むかどうかを指定します。`True`に設定すると、モデルは Hub からダウンロードされません。

token (`str` または *bool*、*省略可能*) : リモートファイルの HTTP ベアラ認証に使用するトークン。`True` の場合、`diffusers-cli login` で生成されたトークン（`~/.huggingface` に保存）が使用されます。

revision (`str`、*任意*、デフォルトは`"main"`) : 使用する特定のモデルバージョンです。ブランチ名、タグ名、コミット ID、または Git で許可されている任意の識別子を使用できます。

original_config_file (`str`, *任意*) : モデルの学習に使用された元の設定ファイルへのパスです。指定しない場合、チェックポイントファイルから設定ファイルが推測されます。

config (`str`, *任意*) : 以下のいずれかです: - 文字列。Hub にホストされている事前学習済みパイプラインの *repo id*（例: `CompVis/ldm-text2im-large-256`）。 - Diffusers 形式のパイプラインコンポーネント設定を含む *ディレクトリ* へのパス（例: `./my_pipeline_directory/`）。

disable_mmap ('bool', *optional*, デフォルトは 'False') : Safetensors モデルの読み込み時に mmap を無効にするかどうか。モデルがネットワークマウントやハードドライブ上にある場合、このオプションを有効にするとパフォーマンスが向上する可能性があります。

kwargs (残りのキーワード引数の辞書、*任意*) : 読み込みおよび保存可能な変数（特定の pipeline クラスの pipeline コンポーネント）を上書きするために使用できます。上書きされたコンポーネントは、pipeline の `__init__` メソッドに直接渡されます。詳細は以下の例を参照してください。

`.ckpt`または`.safetensors`形式で保存された事前学習済みパイプラインの重みから、[DiffusionPipeline](/docs/diffusers/main/ja/api/pipelines/overview#diffusers.DiffusionPipeline)をインスタンス化します。デフォルトでは、パイプラインは評価モード(`model.eval()`)に設定されます。

例:

```py
>>> from diffusers import StableDiffusionPipeline

>>> # Download pipeline from huggingface.co and cache.
>>> pipeline = StableDiffusionPipeline.from_single_file(
...     "https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/Models/AbyssOrangeMix/AbyssOrangeMix.safetensors"
... )

>>> # Download pipeline from local file
>>> # file is downloaded under ./v1-5-pruned-emaonly.ckpt
>>> pipeline = StableDiffusionPipeline.from_single_file("./v1-5-pruned-emaonly.ckpt")

>>> # Enable float16 and move to GPU
>>> pipeline = StableDiffusionPipeline.from_single_file(
...     "https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt",
...     torch_dtype=torch.float16,
... )
>>> pipeline.to("cuda")
```

## FromOriginalModelMixin[[diffusers.loaders.FromOriginalModelMixin]]

#### diffusers.loaders.FromOriginalModelMixin[[diffusers.loaders.FromOriginalModelMixin]]

```python
diffusers.loaders.FromOriginalModelMixin()
```

[ソース](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/single_file_model.py#L276)

`.ckpt`または`.safetensors`形式で保存された事前学習済み重みをモデルに読み込みます。

#### from_single_file[[diffusers.loaders.FromOriginalModelMixin.from_single_file]]

```python
from_single_file(pretrained_model_link_or_path_or_dict: str | None = None, **kwargs)
```

[ソース](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/single_file_model.py#L281)

**パラメータ:**

pretrained_model_link_or_path_or_dict (`str`, *任意*) : 以下のいずれかです: - Hub 上の `.safetensors` または `.ckpt` ファイルへのリンク（例: `"https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors"`）。 - コンポーネントモデルの重みを含むローカルの *ファイル* へのパス。 - コンポーネントモデルの重みを含む state dict。

config (`str`, *任意*) : - Hub にホストされている事前学習済みパイプラインの *repo id*（例: `CompVis/ldm-text2im-large-256`）を表す文字列。 - Diffusers 形式のパイプラインコンポーネントの設定を含む *ディレクトリ*（例: `./my_pipeline_directory/`）へのパス。

subfolder (`str`、*任意*、デフォルトは `""`) : Hub またはローカル上のより大きなモデルリポジトリ内での、モデルファイルのサブフォルダの場所。

original_config (`str`, *省略可*) : モデルの元の形式で設定を含む Dict または yaml ファイルへのパス。Dict が指定された場合、モデル設定の初期化に使用されます。

dtype (`torch.dtype`、*任意*) : デフォルトの `torch.dtype` を上書きし、別の dtype でモデルを読み込みます。

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

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

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

local_files_only (`bool`、*任意*、デフォルトは`False`) : ローカルのモデルの重みと設定ファイルのみを読み込むかどうかを指定します。True に設定すると、モデルは Hub からダウンロードされません。

token (`str` または *bool*、*省略可能*) : リモートファイルの HTTP ベアラ認証に使用するトークン。`True` の場合、`diffusers-cli login` で生成されたトークン（`~/.huggingface` に保存）が使用されます。

revision (`str`、*任意*、デフォルトは`"main"`) : 使用する特定のモデルバージョンです。ブランチ名、タグ名、コミット ID、または Git で許可されている任意の識別子を使用できます。

low_cpu_mem_usage (`bool`、*任意*、torch のバージョンが 1.9.0 以上かつ : is_accelerate_available() の場合は `True`、それ以外は `False` がデフォルト): 重みの初期化を行わず、事前学習済み重みのみを読み込むことで、モデルの読み込みを高速化します。これにより、モデルの読み込み時に CPU メモリ（ピークメモリを含む）をモデルサイズの 1 倍以下に抑えようとする試みも行われます。PyTorch 1.9.0 以上でのみサポートされています。PyTorch の古いバージョンを使用している場合、この引数を `True` に設定するとエラーが発生します。

disable_mmap ('bool', *optional*, デフォルトは 'False') : Safetensors モデルの読み込み時に mmap を無効にするかどうかを指定します。モデルがネットワークマウントやハードドライブ上にあり、mmap のランダムアクセス（seek）を適切に処理できない可能性がある場合、このオプションを有効にするとパフォーマンスが向上することがあります。

kwargs (残りのキーワード引数の辞書、*任意*) : load および saveable 変数の上書きに使用できます（特定の pipeline クラスの pipeline コンポーネントなど）。上書きされたコンポーネントは、pipeline の `__init__` メソッドに直接渡されます。詳細は以下の例を参照してください。

`.ckpt`または`.safetensors`形式で保存された事前学習済み重みからモデルをインスタンス化します。デフォルトでは、モデルは評価モード(`model.eval()`)に設定されます。

```py
>>> from diffusers import StableCascadeUNet

>>> ckpt_path = "https://huggingface.co/stabilityai/stable-cascade/blob/main/stage_b_lite.safetensors"
>>> model = StableCascadeUNet.from_single_file(ckpt_path)
```

