Buckets:

mishig's picture
|
download
raw
14 kB

パイプラインブロック

ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]

diffusers.ModularPipelineBlocks[[diffusers.ModularPipelineBlocks]]

diffusers.ModularPipelineBlocks()

ソース

すべての Pipeline Blocks の基底クラス: ConditionalPipelineBlocks、AutoPipelineBlocks、SequentialPipelineBlocks、LoopSequentialPipelineBlocks

ModularPipelineBlocks は、パイプラインブロックの定義を読み込み、保存するためのメソッドを提供します。

get_block_state[[diffusers.ModularPipelineBlocks.get_block_state]]

get_block_state(state: PipelineState)

ソース

すべての入力と中間結果を1つの辞書に格納する

get_execution_blocks[[diffusers.ModularPipelineBlocks.get_execution_blocks]]

get_execution_blocks(**kwargs)

ソース

パラメータ:

  • **kwargs : 入力名と値。ブロックの選択に影響するのはトリガー入力のみです。

入力に基づいて実行されるブロックを取得します。条件付きブロックの選択をサポートするサブクラスによって実装されなければなりません。

get_workflow[[diffusers.ModularPipelineBlocks.get_workflow]]

get_workflow(workflow_name: str)

ソース

パラメータ:

workflow_name : 取得するワークフローの名前。

特定のワークフローの実行ブロックを取得します。_workflow_mapを定義するサブクラスによって実装されなければなりません。

init_pipeline[[diffusers.ModularPipelineBlocks.init_pipeline]]

init_pipeline(pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None)

ソース

ModularPipeline を作成し、必要に応じて pretrained_model_name_or_path を受け取って Hub から読み込みます。

SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]

diffusers.SequentialPipelineBlocks[[diffusers.SequentialPipelineBlocks]]

diffusers.SequentialPipelineBlocks()

ソース

パラメータ:

block_classes : 使用するブロッククラスのリスト

block_names : 各ブロックのプレフィックスのリスト

複数のパイプラインブロッククラスを1つにまとめるPipeline Blocksです。呼び出されると、各ブロックが順番に呼び出されます。

このクラスはModularPipelineBlocksを継承しています。ライブラリがすべてのパイプラインブロックに対して実装している汎用的なメソッド(読み込みや保存など)については、スーパークラスのドキュメントを参照してください。

from_blocks_dict[[diffusers.SequentialPipelineBlocks.from_blocks_dict]]

from_blocks_dict(blocks_dict: dict[str, typing.Any], description: str | None = None)

ソース

パラメータ:

blocks_dict : ブロック名をブロックのクラスまたはインスタンスにマッピングする辞書

戻り値:

新しい SequentialPipelineBlocks インスタンス

ブロックの辞書からSequentialPipelineBlocksインスタンスを作成します。

get_execution_blocks[[diffusers.SequentialPipelineBlocks.get_execution_blocks]]

get_execution_blocks(**kwargs)

ソース

パラメータ:

  • **kwargs : 入力名と値。ブロックの選択に影響するのはトリガー入力のみです。

戻り値:

実行されるブロックのみを含むSequentialPipelineBlocks

指定された入力に基づいて実行されるブロックを取得します。

トラバーサルがシーケンシャルなブロックを順に処理する際、解決済みのブロックからの中間出力がアクティブな入力に追加されます。これにより、中間出力に依存する条件付きブロック(例:「image_latents が存在する場合に img2img を実行する」)は、条件が実際の値ではなく存在/不在(None か None 以外か)に基づいている限り、正しく解決されます。

LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]

diffusers.LoopSequentialPipelineBlocks[[diffusers.LoopSequentialPipelineBlocks]]

diffusers.LoopSequentialPipelineBlocks()

ソース

パラメータ:

block_classes : 使用するブロッククラスのリスト

block_names : 各ブロックのプレフィックスのリスト

複数のパイプラインブロッククラスを For Loop に結合する Pipeline ブロックです。呼び出されると、各ブロックが順番に呼び出されます。

このクラスはModularPipelineBlocksを継承しています。ライブラリがすべてのパイプラインブロックに対して実装している汎用的なメソッド(読み込みや保存など)については、スーパークラスのドキュメントを参照してください。

from_blocks_dict[[diffusers.LoopSequentialPipelineBlocks.from_blocks_dict]]

from_blocks_dict(blocks_dict: dict[str, typing.Any])

ソース

パラメータ:

blocks_dict : ブロック名をブロックインスタンスにマッピングする辞書

戻り値:

新しいLoopSequentialPipelineBlocksインスタンス

ブロックの辞書からLoopSequentialPipelineBlocksインスタンスを作成します。

AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]

diffusers.AutoPipelineBlocks[[diffusers.AutoPipelineBlocks]]

diffusers.AutoPipelineBlocks()

ソース

パラメータ:

block_classes : 使用するブロッククラスのリスト。block_namesおよびblock_trigger_inputsと同じ長さである必要があります。

block_names : 各ブロックの名前のリスト。block_classes と block_trigger_inputs と同じ長さである必要があります。

block_trigger_inputs : 各要素が対応するブロックのトリガー入力となる入力名のリスト。None を使用してデフォルトのブロックを指定します。

トリガー入力の有無に基づいて、実行するブロックを自動的に選択する Pipeline Blocks です。

これはConditionalPipelineBlocksの特殊なバージョンであり、以下が当てはまります:

  • 各ブロックには、対応するトリガー入力(1対1のマッピング)が1つあります。
  • ブロックの選択は自動で行われます。トリガー入力が存在する最初のブロックが選択されます。
  • block_trigger_inputs は block_names と block_classes と同じ長さである必要があります
  • block_trigger_inputs に None を指定すると、デフォルトのブロック、つまりトリガー入力が存在しない場合に実行されるブロックが指定されます。

例:

    class MyAutoBlock(AutoPipelineBlocks):
        block_classes = [InpaintEncoderBlock, ImageEncoderBlock, TextEncoderBlock]
        block_names = ["inpaint", "img2img", "text2img"]
        block_trigger_inputs = ["mask_image", "image", None]  # text2img is the default

この定義により:

  • mask_image が提供されている限り、image が提供されているかどうかに関わらず、"inpaint" ブロックが実行されます。
  • mask_image が指定されておらず、image が指定されている場合、"img2img" ブロックが実行されます
  • それ以外の場合、"text2img" ブロックが実行されます(デフォルト、トリガーは None)。

select_block[[diffusers.AutoPipelineBlocks.select_block]]

select_block(**kwargs)

ソース

どのトリガー入力が存在する(None ではない)かに基づいてブロックを選択します。

ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]

diffusers.ConditionalPipelineBlocks[[diffusers.ConditionalPipelineBlocks]]

diffusers.ConditionalPipelineBlocks()

ソース

パラメータ:

block_classes : 使用するブロッククラスのリスト。block_names と同じ長さである必要があります。

block_names : 各ブロックの名前のリスト。block_classes と同じ長さである必要があります。

block_trigger_inputs : select_block() が実行するブロックを決定するために使用する入力名のリスト。ConditionalPipelineBlocks の場合、block_names および block_classes と対応する必要はありません。AutoPipelineBlocks の場合、block_names および block_classes と同じ長さである必要があり、各要素が対応するブロックのトリガー入力を指定します。

default_block_name : トリガー入力が一致しない場合に実行されるデフォルトのブロックの名前。None の場合、トリガー入力が提供されないときにこのブロックを完全にスキップできます。

Pipeline Blocksは、入力に基づいて実行するブロックを条件付きで選択するブロックです。サブクラスは、ブロックを選択するロジックを定義するためにselect_blockメソッドを実装する必要があります。現在サポートされている選択ロジックは、入力の有無(つまり、Noneかどうか)に基づくものです。

このクラスはModularPipelineBlocksを継承しています。ライブラリがすべてのパイプラインブロックに対して実装している汎用的なメソッド(読み込みや保存など)については、スーパークラスのドキュメントを参照してください。

get_execution_blocks[[diffusers.ConditionalPipelineBlocks.get_execution_blocks]]

get_execution_blocks(**kwargs)

ソース

パラメータ:

  • **kwargs : 入力名と値。ブロックの選択に影響するのはトリガー入力のみです。

戻り値: - ModularPipelineBlocks

リーフブロック、または解決済みのSequentialPipelineBlocks

  • None: このブロックがスキップされる場合(トリガーが一致せず、デフォルトもない場合)

入力に基づいて実行されるブロックを取得します。

ConditionalPipelineBlocks を再帰的に解決し、以下のいずれかに到達するまで続けます:

  • リーフブロック(sub_blocksやLoopSequentialPipelineBlocksを持たない)→ 単一のModularPipelineBlocksを返します
  • SequentialPipelineBlocks → get_execution_blocks() に委譲し、以下を返します 解決済みの実行ブロックを含む SequentialPipelineBlocks

select_block[[diffusers.ConditionalPipelineBlocks.select_block]]

select_block(**kwargs)

ソース

パラメータ:

  • **kwargs : stateからのトリガー入力名とその値。

戻り値: str | None

実行するブロックの名前、またはデフォルトを使用/スキップする場合はNone。

トリガー入力に基づいて実行するブロックを選択します。サブクラスは、ブロックの選択ロジックを定義するために、このメソッドを実装する必要があります。

Note: トリガー入力に以前のブロックからの中間出力が含まれる場合、選択ロジックは入力の有無(つまり、None かどうか)にのみ依存すべきであり、実際の値には依存すべきではありません。これは、get_execution_blocks()が実行時の値なしで中間出力の名前を伝播させることで、条件を静的に解決するためです。

Xet Storage Details

Size:
14 kB
·
Xet hash:
ea030b8f8b35416da8d0a6ef5b4badae2a4fc74912c59b4051e9f407dfdad5df

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.