Buckets:
パイプライン
ModularPipeline[[diffusers.ModularPipeline]]
diffusers.ModularPipeline[[diffusers.ModularPipeline]]
diffusers.ModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs)
パラメータ:
blocks : パイプラインで使用されるブロックである ModularPipelineBlocks
すべての Modular パイプラインの基底クラス。
from_pretrained[[diffusers.ModularPipeline.from_pretrained]]
from_pretrained(pretrained_model_name_or_path: str | os.PathLike | None, trust_remote_code: bool | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, **kwargs)
パラメータ:
pretrained_model_name_or_path (str または os.PathLike、省略可) : 事前学習済みパイプライン設定へのパスです。まず modular_model_index.json から設定を読み込もうとし、標準的な非モジュラーリポジトリとの互換性のために、失敗した場合は model_index.json にフォールバックします。pretrained_model_name_or_path にパイプライン設定が含まれていない場合、初期化時に None に設定されます。
trust_remote_code (bool, 省略可能) : パイプラインの読み込み時にリモートコードを信頼するかどうか。pretrained_model_name_or_path 内のカスタムコードに基づいてパイプラインブロックを作成する場合は、True に設定する必要があります。
components_manager (ComponentsManager、省略可) : 異なるパイプラインにまたがる複数のコンポーネントを管理し、オフローディング戦略を適用するための ComponentsManager インスタンス。
collection (str, 任意) -- ComponentsManager でコンポーネントを整理するためのコレクション名。
workflow (str, 省略可) : パイプラインブロックによって宣言されたワークフローの名前。指定した場合、ブロックはそのワークフローの実行ブロックに剪定されるため、パイプラインは、そのワークフローが使用するコンポーネントのみを期待し、load_components() もそのコンポーネントのみを読み込みます。
Hugging Face HubのリポジトリからModularPipelineを読み込みます。
get_component_spec[[diffusers.ModularPipeline.get_component_spec]]
get_component_spec(name: str)
戻り値:
- 指定されたコンポーネント名に対応するComponentSpecオブジェクトのコピー
load_components[[diffusers.ModularPipeline.load_components]]
load_components(names: list[str] | str | None = None, workflow: str | None = None, **kwargs)
パラメータ:
names : list of component names to load. If None, will load all components with default_creation_method == "from_pretrained". If provided as a list or string, will load only the specified components.
workflow : パイプラインブロックによって宣言されたワークフローの名前。指定した場合、そのワークフローの実行ブロックが使用するコンポーネントのみが読み込まれます。names と併用することはできません。
- **kwargs :
from_pretrained()に渡す追加の引数。以下のような値を指定できます。 - 読み込むすべてのコンポーネントに適用される単一の値。例: dtype=torch.bfloat16 - 辞書。例: dtype={"unet": torch.bfloat16, "default": torch.float32} - kwargsに異なる読み込みフィールドが渡された場合、ComponentSpecをオーバーライドする可能性があります。例:pretrained_model_name_or_path、variant、revisionなど - kwargsに異なる読み込みフィールドが渡された場合、ComponentSpecをオーバーライドする可能性があります。例:pretrained_model_name_or_path、variant、revisionなど
スペックから選択されたコンポーネントを読み込みます。
register_components[[diffusers.ModularPipeline.register_components]]
register_components(**kwargs)
パラメータ:
- **kwargs : キーがコンポーネント名、値がコンポーネントオブジェクトであるキーワード引数。例: register_components(unet=unet_model, text_encoder=encoder_model)
コンポーネントを、それに対応する仕様とともに登録します。
このメソッドは、以下を担当します:
- コンポーネントのオブジェクトをローダーの属性として設定します(例: self.unet = unet)。
save_pretrained時にmodular_model_index.jsonとして保存される設定辞書を更新します(from_pretrained コンポーネントのみ対象)- コンポーネントマネージャーがアタッチされている場合、コンポーネントを追加します(from_pretrainedコンポーネントのみ対象)
このメソッドは、次の場合に呼び出されます:
- コンポーネントはまず__init__で初期化されます:
- from_pretrained によって init 時に読み込まれないコンポーネントは None として登録されます。
- init 時に from_pretrained 以外のコンポーネントが作成され、オブジェクト自体として登録されます
- コンポーネントは
update_components()メソッドで更新されます。例: loader.update_components(unet=unet) または loader.update_components(guider=guider_spec) - (from_pretrained) コンポーネントは
load_components()メソッドで読み込まれます。例えば、loader.load_components(names=["unet"])で特定のコンポーネントを読み込み、loader.load_components()でデフォルトのすべてのコンポーネントを読み込みます。
注:
- コンポーネントに None を登録すると、属性は None に設定されますが、spec は設定辞書と同期され、
save_pretrained実行時にmodular_model_index.jsonとして保存されます。 - このメソッドの外側、例えば
update_components()メソッド内で、新しいコンポーネントに合わせてcomponent_specsが更新されます。
save_pretrained[[diffusers.ModularPipeline.save_pretrained]]
save_pretrained(save_directory: str | os.PathLike, safe_serialization: bool = True, variant: str | None = None, max_shard_size: int | str | None = None, push_to_hub: bool = False, **kwargs)
パラメータ:
save_directory (str または os.PathLike) : パイプラインを保存するディレクトリ。存在しない場合は作成されます。
safe_serialization (bool、任意、デフォルトはTrue) : モデルをsafetensorsで保存するか、pickleを用いた従来の PyTorch の方法で保存するかどうかを指定します。
variant (str, 任意) : 指定した場合、重みはpytorch_model.<variant>.binの形式で保存されます。
max_shard_size (int または str、デフォルトは None) : シャーディングされる前のチェックポイントの最大サイズ。シャーディング後の各チェックポイントは、このサイズ未満になります。文字列で指定する場合は、数字の後に単位("5GB" など)を続ける必要があります。整数で指定する場合は、単位はバイトです。
push_to_hub (bool, 任意, デフォルトは False) : パイプラインを保存した後、Hugging Face モデルハブにプッシュするかどうか。
- kwargs : 追加のキーワード引数: -
overwrite_modular_index(bool、省略可能、デフォルトはTrue): 保存された各コンポーネントの読み込み仕様を、Hub にプッシュする場合はrepo_id、それ以外の場合はsave_directoryを指すように、modular_model_index.jsonを更新するかどうか。読み込まれていないコンポーネントは保存されず、常に記録された読み込み仕様を保持します。保存対象のコンポーネントについても記録された仕様を保持する場合はFalseを渡します(意図的に他のリポジトリを参照するインデックスなど)。ただし、load id を持たないコンポーネント(update_componentsで追加されたカスタムモデルなど)は、記録されたソースがないため、引き続き書き換えられます。 -repo_id(str、省略可能): パイプラインをプッシュするリポジトリの ID。デフォルトはsave_directoryの最後のコンポーネントです。 -commit_message(str、省略可能): Hub へのプッシュ操作のコミットメッセージ。 -private(bool、省略可能): リポジトリを非公開にするかどうか。 -create_pr(bool、省略可能、デフォルトはFalse): 直接プッシュする代わりに Pull Request を作成するかどうか。 -token(str、省略可能): 認証に使用する Hugging Face トークン。
パイプラインとそのすべてのコンポーネントをディレクトリに保存し、from_pretrained()クラスメソッドを使って再読み込みできるようにします。
へ[[diffusers.ModularPipeline.to]]
to(*args, **kwargs)
パラメータ:
dtype (torch.dtype、任意) : 指定されたdtypeを持つパイプラインを返します
device (torch.Device, 任意) : 指定された device を持つパイプラインを返します
silence_dtype_warnings (str、任意、デフォルトはFalse) : 対象のdtypeが対象のdeviceと互換性がない場合、警告を省略するかどうか。
戻り値: DiffusionPipeline
パイプラインは、指定されたdtypeおよび/またはdtypeに変換されました。
Performs Pipeline dtype and/or device conversion. A torch.dtype and torch.device are inferred from the arguments of self.to(*args, **kwargs).
> パイプラインがすでに正しい torch.dtype と torch.device を持っている場合、そのまま返されます。 それ以外の場合、> 返される pipeline は、指定された torch.dtype と torch.device を持つ self のコピーです。
toを呼び出す方法には、次のものがあります。
to(dtype, silence_dtype_warnings=False) → DiffusionPipelineは、指定されたdtypeを持つパイプラインを返しますto(device, silence_dtype_warnings=False) → DiffusionPipelineを呼び出すと、指定したdeviceを持つパイプラインが返されます。to(device=None, dtype=None, silence_dtype_warnings=False) → DiffusionPipelineは、指定されたdeviceとdtypeを持つパイプラインを返します。
unload_components[[diffusers.ModularPipeline.unload_components]]
unload_components(names: list[str] | str)
パラメータ:
names : 読み込みを解除するコンポーネント名、またはコンポーネント名のリスト。
選択したコンポーネントをアンロードし、そのメモリを解放します。
コンポーネント属性はNoneにリセットされ、ComponentsManagerがアタッチされている場合は、コンポーネントがそこから削除されます。コンポーネントの仕様は変更されないため、後でload_components()を呼び出してコンポーネントを再度読み込むことができます。
update_components[[diffusers.ModularPipeline.update_components]]
update_components(**kwargs)
パラメータ:
- **kwargs : 更新するコンポーネントオブジェクトまたは設定値: - コンポーネントオブジェクト:
AutoModel.from_pretrained()またはComponentSpec.load()で読み込まれたモデルには、読み込み情報が自動的にタグ付けされます。重みを持たない ConfigMixin オブジェクト(スケジューラやガイダーなど)は、そのまま直接渡すことができます。 - 設定値: 設定を更新するための単純な値(例:requires_safety_checker=False)
パイプラインがインスタンス化された後で、コンポーネントおよび設定値と仕様を更新します。
このメソッドを使用すると、以下を行うことができます:
- 既存のコンポーネントを新しいコンポーネントに置き換えます(例:
self.unetまたはself.text_encoderの更新) - 設定値を更新します(例:
self.requires_safety_checkerフラグの変更)
パイプラインの属性としてコンポーネントと設定値を更新するだけでなく、このメソッドは以下も更新します:
_component_specsおよび_config_specs内の対応する仕様save_pretrained時にmodular_model_index.jsonとして保存されるconfigディクショナリ
例:
# Update pre-trained model
pipeline.update_components(unet=new_unet_model, text_encoder=new_text_encoder)
# Update configuration values
pipeline.update_components(requires_safety_checker=False)
注:
AutoModel.from_pretrained()またはComponentSpec.load()で読み込まれたコンポーネントには シリアライズ用に保存されたスペックを読み込みます。Hubへの参照がないカスタムコンポーネントやローカルで読み込まれたコンポーネントについては、save_pretrained()の実行中にmodular_model_index.jsonのエントリが自動的に更新されます。- 重みを持たないConfigMixinオブジェクト(スケジューラーやガイダーなど)は、そのまま直接渡すことができます。
Xet Storage Details
- Size:
- 16.1 kB
- Xet hash:
- 6048831dfd940e615b82c81aeec1cfb1a4728a3e8fa71607331caa046137e07d
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.