Diffusers documentation
AutoPipeline
AutoPipeline
AutoPipelineは、特定のpipelineクラスを知らなくてもタスクのチェックポイントを簡単に読み込むことができるよう設計されています。タスクに基づいて、AutoPipelineはチェックポイントのmodel_index.jsonファイルから正しいpipelineクラスを自動的に取得します。
このAPIの使い方を学ぶには、AutoPipelineのチュートリアルをご覧ください!
AutoPipelineForText2Image
AutoPipelineForText2Image is a generic pipeline class that instantiates a text-to-image pipeline class. The specific underlying pipeline class is automatically selected from either the from_pretrained() or from_pipe() methods.
このクラスは__init__()を使用してインスタンス化できません(エラーが発生します)。
クラス属性:
- config_name (
str) — 拡散パイプラインのすべてのコンポーネントのクラス名とモジュール名を保存する設定ファイルの名前。
from_pretrained
< source >( pretrained_model_or_path**kwargs )
パラメータ
- pretrained_model_or_path (
strまたはos.PathLike, 省略可) — 次のいずれかです:- Hub にホストされている事前学習済みパイプラインの repo id(例:
CompVis/ldm-text2im-large-256)を表す文字列 - パイプラインの重みをsave_pretrained()で保存して保存したディレクトリへのパス(例:
./my_pipeline_directory/)
- Hub にホストされている事前学習済みパイプラインの repo id(例:
- 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'}のように指定します。各リクエストでこれらのプロキシが使用されます。 - output_loading_info(
bool, optional, デフォルトはFalse) — 欠落キー、予期しないキー、エラーメッセージを含む辞書を返すかどうかを指定します。 - local_files_only (
bool、任意、デフォルトはFalse) — ローカルのモデル重みと設定ファイルのみを読み込むかどうかを指定します。Trueに設定すると、モデルは Hub からダウンロードされません。 - token (
strまたは bool、省略可能) — リモートファイルの HTTP ベアラ認証に使用するトークンです。Trueの場合、diffusers-cli loginで生成されたトークン(~/.huggingfaceに保存されています)が使用されます。 - revision (
str、任意、デフォルトは"main") — 使用する特定のモデルのバージョンです。ブランチ名、タグ名、コミット ID、または Git によって許可される任意の識別子を使用できます。 - custom_revision (
str、任意、デフォルトは"main") — 使用する特定のモデルバージョンです。Hub からカスタムパイプラインを読み込む場合、revisionと同様に、ブランチ名、タグ名、またはコミット ID を指定できます。GitHub からカスタムパイプラインを読み込む場合は、🤗 Diffusers のバージョンを指定でき、それ以外の場合は Hub から読み込む際にデフォルトで"main"が使用されます。 - mirror (
str, 任意) — 中国でモデルをダウンロードする際に、アクセシビリティの問題を解決するためのミラーソースです。ソースの鮮度や安全性を保証するものではなく、詳細についてはミラーサイトをご参照ください。 - device_map (
strまたはdict[str, int | str | torch.device], 省略可) — 各サブモジュールをどのデバイスに配置するかを指定するマップです。各パラメータ/バッファ名に対して定義する必要はありません。特定のモジュール名がマップに含まれている場合、そのモジュールのすべてのサブモジュールが同じデバイスに送信されます。device_map="auto"を設定すると、🤗 Accelerate が最も最適化されたdevice_mapを自動的に計算します。各オプションの詳細については、デバイスマップの設計を参照してください。 - max_memory (
Dict, 任意) — 最大メモリを示すデバイスの識別子の辞書です。未設定の場合、各 GPU の利用可能な最大メモリと、利用可能な CPU RAM がデフォルトとして使用されます。 - offload_folder (
strまたはos.PathLike、省略可) —"disk"が device_map に含まれる場合、重みをオフロードするパス。 - 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に設定するとエラーが発生します。 - use_safetensors (
bool、任意、デフォルトはNone) —Noneに設定されている場合、safetensors の重みが利用可能であり かつ safetensors ライブラリがインストールされている場合に、safetensors の重みがダウンロードされます。Trueに設定されている場合、モデルは safetensors の重みから強制的に読み込まれます。Falseに設定されている場合、safetensors の重みは読み込まれません。 - kwargs (残りのキーワード引数の辞書、任意) —
ロードおよびセーブ可能な変数(特定のパイプラインクラスのコンポーネント)を上書きするために使用できます。上書きされたコンポーネントは、パイプラインの
__init__メソッドに直接渡されます。詳細は以下の例を参照してください。 - variant (
str、省略可) —"fp16"や"ema"のような指定されたバリアントファイル名から重みをロードします。
事前学習済みのパイプライン重みから、テキストから画像を生成する Pytorch 拡散パイプラインをインスタンス化します。
from_pretrained() メソッドは、以下により、正しいパイプラインクラスのインスタンスを返す処理を行います:
- _pretrained_model_or_path の config オブジェクトの _class_name プロパティに基づいて、パイプラインクラスを検出します
- パイプラインクラス名のパターンマッチングを使用して、パイプラインクラスに関連付けられたテキストから画像へのパイプラインを検索します。
controlnet 引数が渡された場合、StableDiffusionControlNetPipeline オブジェクトがインスタンス化されます。
パイプラインはデフォルトで評価モード(model.eval())に設定されます。
以下のエラーメッセージが表示された場合、下流タスク用に重みをファインチューニングする必要があります。
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.> プライベートモデルやゲート付きモデルを使用するには、
hf > auth loginでログインしてください。
from_pipe
< source >( pipeline**kwargs )
別のインスタンス化済みの拡散パイプラインクラスから、テキストから画像への変換を行う Pytorch 拡散パイプラインをインスタンス化します。
from_pipe() メソッドは、パイプラインクラス名のパターンマッチングを用いて、パイプラインクラスに関連付けられたテキストから画像へのパイプラインを見つけ出し、正しいパイプラインクラスのインスタンスを返す処理を担当します。
パイプラインが含むすべてのモジュールが、追加のメモリを再割り当てせずに新しいパイプラインを初期化するために使用されます。
パイプラインはデフォルトで評価モード(model.eval())に設定されます。
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image
>>> pipe_i2i = AutoPipelineForImage2Image.from_pretrained(
... "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )
>>> pipe_t2i = AutoPipelineForText2Image.from_pipe(pipe_i2i)
>>> image = pipe_t2i(prompt).images[0]AutoPipelineForImage2Image
AutoPipelineForImage2Image is a generic pipeline class that instantiates an image-to-image pipeline class. The specific underlying pipeline class is automatically selected from either the from_pretrained() or from_pipe() methods.
このクラスは__init__()を使用してインスタンス化できません(エラーが発生します)。
クラス属性:
- config_name (
str) — 拡散パイプラインのすべてのコンポーネントのクラス名とモジュール名を保存する設定ファイルの名前。
from_pretrained
< source >( pretrained_model_or_path**kwargs )
パラメータ
- pretrained_model_or_path (
strまたはos.PathLike, 省略可) — 次のいずれかです:- Hub にホストされている事前学習済みパイプラインの repo id(例:
CompVis/ldm-text2im-large-256)を表す文字列 - パイプラインの重みをsave_pretrained()で保存して保存したディレクトリへのパス(例:
./my_pipeline_directory/)
- Hub にホストされている事前学習済みパイプラインの repo id(例:
- 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'}のように指定します。各リクエストでこれらのプロキシが使用されます。 - output_loading_info(
bool, optional, デフォルトはFalse) — 欠落キー、予期しないキー、エラーメッセージを含む辞書を返すかどうかを指定します。 - local_files_only (
bool、任意、デフォルトはFalse) — ローカルのモデル重みと設定ファイルのみを読み込むかどうかを指定します。Trueに設定すると、モデルは Hub からダウンロードされません。 - token (
strまたは bool、省略可能) — リモートファイルの HTTP ベアラ認証に使用するトークンです。Trueの場合、diffusers-cli loginで生成されたトークン(~/.huggingfaceに保存されています)が使用されます。 - revision (
str、任意、デフォルトは"main") — 使用する特定のモデルのバージョンです。ブランチ名、タグ名、コミット ID、または Git によって許可される任意の識別子を使用できます。 - custom_revision (
str、任意、デフォルトは"main") — 使用する特定のモデルバージョンです。Hub からカスタムパイプラインを読み込む場合、revisionと同様に、ブランチ名、タグ名、またはコミット ID を指定できます。GitHub からカスタムパイプラインを読み込む場合は、🤗 Diffusers のバージョンを指定でき、それ以外の場合は Hub から読み込む際にデフォルトで"main"が使用されます。 - mirror (
str, 任意) — 中国でモデルをダウンロードする際に、アクセシビリティの問題を解決するためのミラーソースです。ソースの鮮度や安全性を保証するものではなく、詳細についてはミラーサイトをご参照ください。 - device_map (
strまたはdict[str, int | str | torch.device], 省略可) — 各サブモジュールをどのデバイスに配置するかを指定するマップです。各パラメータ/バッファ名に対して定義する必要はありません。特定のモジュール名がマップに含まれている場合、そのモジュールのすべてのサブモジュールが同じデバイスに送信されます。device_map="auto"を設定すると、🤗 Accelerate が最も最適化されたdevice_mapを自動的に計算します。各オプションの詳細については、デバイスマップの設計を参照してください。 - max_memory (
Dict, 任意) — 最大メモリを示すデバイスの識別子の辞書です。未設定の場合、各 GPU の利用可能な最大メモリと、利用可能な CPU RAM がデフォルトとして使用されます。 - offload_folder (
strまたはos.PathLike、省略可) —"disk"が device_map に含まれる場合、重みをオフロードするパス。 - 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に設定するとエラーが発生します。 - use_safetensors (
bool、任意、デフォルトはNone) —Noneに設定されている場合、safetensors の重みが利用可能であり かつ safetensors ライブラリがインストールされている場合に、safetensors の重みがダウンロードされます。Trueに設定されている場合、モデルは safetensors の重みから強制的に読み込まれます。Falseに設定されている場合、safetensors の重みは読み込まれません。 - kwargs (残りのキーワード引数の辞書、任意) —
ロードおよびセーブ可能な変数(特定のパイプラインクラスのコンポーネント)を上書きするために使用できます。上書きされたコンポーネントは、パイプラインの
__init__メソッドに直接渡されます。詳細は以下の例を参照してください。 - variant (
str、省略可) —"fp16"や"ema"のような指定されたバリアントファイル名から重みをロードします。
pretrained pipeline weightから、画像から画像へのPytorch拡散パイプラインをインスタンス化します。
from_pretrained() メソッドは、以下により、正しいパイプラインクラスのインスタンスを返す処理を行います:
- _pretrained_model_or_path の config オブジェクトの _class_name プロパティに基づいて、パイプラインクラスを検出します
- パイプラインクラス名のパターンマッチングを使用して、パイプラインクラスに関連付けられたimage-to-imageパイプラインを検索します。
controlnet 引数が渡された場合、StableDiffusionControlNetImg2ImgPipeline オブジェクトがインスタンス化されます。
パイプラインはデフォルトで評価モード(model.eval())に設定されます。
以下のエラーメッセージが表示された場合、下流タスク用に重みをファインチューニングする必要があります。
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.> プライベートモデルやゲート付きモデルを使用するには、
hf > auth loginでログインしてください。
from_pipe
< source >( pipeline**kwargs )
別のインスタンス化済みの拡散パイプラインクラスから、画像から画像への Pytorch 拡散パイプラインをインスタンス化します。
from_pipe() メソッドは、パイプラインクラス名のパターンマッチングを用いて、そのパイプラインクラスに関連付けられた image-to-image パイプラインを特定し、正しいパイプラインクラスのインスタンスを返す処理を担当します。
パイプラインが含むすべてのモジュールが、追加のメモリを再割り当てせずに新しいパイプラインを初期化するために使用されます。
パイプラインはデフォルトで評価モード(model.eval())に設定されます。
例:
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image
>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
... "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )
>>> pipe_i2i = AutoPipelineForImage2Image.from_pipe(pipe_t2i)
>>> image = pipe_i2i(prompt, image).images[0]AutoPipelineForInpainting
AutoPipelineForInpainting は、インペインティングのパイプラインクラスをインスタンス化する汎用的なパイプラインクラスです。 具体的な基盤となるパイプラインクラスは、from_pretrained() または from_pipe() メソッドから自動的に選択されます。
このクラスは__init__()を使用してインスタンス化できません(エラーが発生します)。
クラス属性:
- config_name (
str) — 拡散パイプラインのすべてのコンポーネントのクラス名とモジュール名を保存する設定ファイルの名前。
from_pretrained
< source >( pretrained_model_or_path**kwargs )
パラメータ
- pretrained_model_or_path (
strまたはos.PathLike, 省略可) — 次のいずれかです:- Hub にホストされている事前学習済みパイプラインの repo id(例:
CompVis/ldm-text2im-large-256)を表す文字列 - パイプラインの重みをsave_pretrained()で保存して保存したディレクトリへのパス(例:
./my_pipeline_directory/)
- Hub にホストされている事前学習済みパイプラインの repo id(例:
- 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'}のように指定します。各リクエストでこれらのプロキシが使用されます。 - output_loading_info(
bool, optional, デフォルトはFalse) — 欠落キー、予期しないキー、エラーメッセージを含む辞書を返すかどうかを指定します。 - local_files_only (
bool、任意、デフォルトはFalse) — ローカルのモデル重みと設定ファイルのみを読み込むかどうかを指定します。Trueに設定すると、モデルは Hub からダウンロードされません。 - token (
strまたは bool、省略可能) — リモートファイルの HTTP ベアラ認証に使用するトークンです。Trueの場合、diffusers-cli loginで生成されたトークン(~/.huggingfaceに保存されています)が使用されます。 - revision (
str、任意、デフォルトは"main") — 使用する特定のモデルのバージョンです。ブランチ名、タグ名、コミット ID、または Git によって許可される任意の識別子を使用できます。 - custom_revision (
str、任意、デフォルトは"main") — 使用する特定のモデルバージョンです。Hub からカスタムパイプラインを読み込む場合、revisionと同様に、ブランチ名、タグ名、またはコミット ID を指定できます。GitHub からカスタムパイプラインを読み込む場合は、🤗 Diffusers のバージョンを指定でき、それ以外の場合は Hub から読み込む際にデフォルトで"main"が使用されます。 - mirror (
str, 任意) — 中国でモデルをダウンロードする際に、アクセシビリティの問題を解決するためのミラーソースです。ソースの鮮度や安全性を保証するものではなく、詳細についてはミラーサイトをご参照ください。 - device_map (
strまたはdict[str, int | str | torch.device], 省略可) — 各サブモジュールをどのデバイスに配置するかを指定するマップです。各パラメータ/バッファ名に対して定義する必要はありません。特定のモジュール名がマップに含まれている場合、そのモジュールのすべてのサブモジュールが同じデバイスに送信されます。device_map="auto"を設定すると、🤗 Accelerate が最も最適化されたdevice_mapを自動的に計算します。各オプションの詳細については、デバイスマップの設計を参照してください。 - max_memory (
Dict, 任意) — 最大メモリを示すデバイスの識別子の辞書です。未設定の場合、各 GPU の利用可能な最大メモリと、利用可能な CPU RAM がデフォルトとして使用されます。 - offload_folder (
strまたはos.PathLike、省略可) —"disk"が device_map に含まれる場合、重みをオフロードするパス。 - 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に設定するとエラーが発生します。 - use_safetensors (
bool、任意、デフォルトはNone) —Noneに設定されている場合、safetensors の重みが利用可能であり かつ safetensors ライブラリがインストールされている場合に、safetensors の重みがダウンロードされます。Trueに設定されている場合、モデルは safetensors の重みから強制的に読み込まれます。Falseに設定されている場合、safetensors の重みは読み込まれません。 - kwargs (残りのキーワード引数の辞書、任意) —
ロードおよびセーブ可能な変数(特定のパイプラインクラスのコンポーネント)を上書きするために使用できます。上書きされたコンポーネントは、パイプラインの
__init__メソッドに直接渡されます。詳細は以下の例を参照してください。 - variant (
str、省略可) —"fp16"や"ema"のような指定されたバリアントファイル名から重みをロードします。
事前学習済みのパイプライン重みから、インペインティング用の Pytorch 拡散パイプラインをインスタンス化します。
from_pretrained() メソッドは、以下により、正しいパイプラインクラスのインスタンスを返す処理を行います:
- _pretrained_model_or_path の config オブジェクトの _class_name プロパティに基づいて、パイプラインクラスを検出します
- パイプラインクラス名のパターンマッチングを使用して、インペインティングパイプラインにリンクされたパイプラインクラスを検索します。
controlnet 引数が渡された場合、StableDiffusionControlNetInpaintPipeline オブジェクトがインスタンス化されます。
パイプラインはデフォルトで評価モード(model.eval())に設定されます。
以下のエラーメッセージが表示された場合、下流タスク用に重みをファインチューニングする必要があります。
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.> プライベートモデルやゲート付きモデルを使用するには、
hf > auth loginでログインしてください。
from_pipe
< source >( pipeline**kwargs )
別のインスタンス化済みの拡散パイプラインクラスから、inpainting用のPyTorch拡散パイプラインをインスタンス化します。
from_pipe() メソッドは、パイプラインクラス名のパターンマッチングを用いて、そのパイプラインクラスに関連付けられたインペインティングパイプラインを検索し、正しいパイプラインクラスのインスタンスを返す処理を担当します。
pipeline クラスが含むすべてのモジュールは、追加のメモリを割り当てずに新しいパイプラインを初期化するために使用されます。
パイプラインはデフォルトで評価モード(model.eval())に設定されます。
例:
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForInpainting
>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
... "DeepFloyd/IF-I-XL-v1.0", requires_safety_checker=False
... )
>>> pipe_inpaint = AutoPipelineForInpainting.from_pipe(pipe_t2i)
>>> image = pipe_inpaint(prompt, image=init_image, mask_image=mask_image).images[0]AutoPipelineForText2Audio
AutoPipelineForText2Audio is a generic pipeline class that instantiates a text-to-audio pipeline class. The specific underlying pipeline class is automatically selected from either the from_pretrained() or from_pipe() methods.
このクラスは__init__()を使用してインスタンス化できません(エラーが発生します)。
クラス属性:
- config_name (
str) — 拡散パイプラインのすべてのコンポーネントのクラス名とモジュール名を保存する設定ファイルの名前。
from_pretrained
< source >( pretrained_model_or_path**kwargs )
パラメータ
- pretrained_model_or_path (
strまたはos.PathLike, 省略可) — 次のいずれかです。- repo id(例:
stabilityai/stable-audio-open-1.0)の文字列。Hub にホストされている事前学習済みパイプラインの ID です。 - パイプラインの重みをsave_pretrained()で保存して保存したディレクトリへのパス(例:
./my_pipeline_directory/)
- repo id(例:
- 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'}のように指定します。各リクエストでこれらのプロキシが使用されます。 - output_loading_info(
bool, optional, デフォルトはFalse) — 欠落キー、予期しないキー、エラーメッセージを含む辞書を返すかどうかを指定します。 - local_files_only (
bool、任意、デフォルトはFalse) — ローカルのモデル重みと設定ファイルのみを読み込むかどうかを指定します。Trueに設定すると、モデルは Hub からダウンロードされません。 - token (
strまたは bool、省略可能) — リモートファイルの HTTP ベアラ認証に使用するトークンです。Trueの場合、diffusers-cli loginで生成されたトークン(~/.huggingfaceに保存されています)が使用されます。 - revision (
str、任意、デフォルトは"main") — 使用する特定のモデルのバージョンです。ブランチ名、タグ名、コミット ID、または Git によって許可される任意の識別子を使用できます。 - custom_revision (
str、任意、デフォルトは"main") — 使用する特定のモデルバージョンです。Hub からカスタムパイプラインを読み込む場合、revisionと同様に、ブランチ名、タグ名、またはコミット ID を指定できます。GitHub からカスタムパイプラインを読み込む場合は、🤗 Diffusers のバージョンを指定でき、それ以外の場合は Hub から読み込む際にデフォルトで"main"が使用されます。 - mirror (
str, 任意) — 中国でモデルをダウンロードする際に、アクセシビリティの問題を解決するためのミラーソースです。ソースの鮮度や安全性を保証するものではなく、詳細についてはミラーサイトをご参照ください。 - device_map (
strまたはdict[str, int | str | torch.device], 省略可) — 各サブモジュールをどのデバイスに配置するかを指定するマップです。各パラメータ/バッファ名に対して定義する必要はありません。特定のモジュール名がマップに含まれている場合、そのモジュールのすべてのサブモジュールが同じデバイスに送信されます。device_map="auto"を設定すると、🤗 Accelerate が最も最適化されたdevice_mapを自動的に計算します。各オプションの詳細については、デバイスマップの設計を参照してください。 - max_memory (
Dict, 任意) — 最大メモリを示すデバイスの識別子の辞書です。未設定の場合、各 GPU の利用可能な最大メモリと、利用可能な CPU RAM がデフォルトとして使用されます。 - offload_folder (
strまたはos.PathLike、省略可) —"disk"が device_map に含まれる場合、重みをオフロードするパス。 - 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に設定するとエラーが発生します。 - use_safetensors (
bool、任意、デフォルトはNone) —Noneに設定されている場合、safetensors の重みが利用可能であり かつ safetensors ライブラリがインストールされている場合に、safetensors の重みがダウンロードされます。Trueに設定されている場合、モデルは safetensors の重みから強制的に読み込まれます。Falseに設定されている場合、safetensors の重みは読み込まれません。 - kwargs (残りのキーワード引数の辞書、任意) —
ロードおよびセーブ可能な変数(特定のパイプラインクラスのコンポーネント)を上書きするために使用できます。上書きされたコンポーネントは、パイプラインの
__init__メソッドに直接渡されます。詳細は以下の例を参照してください。 - variant (
str、省略可) —"fp16"や"ema"のような指定されたバリアントファイル名から重みをロードします。
事前学習済みのパイプライン重みから、テキストからオーディオを生成する Pytorch 拡散パイプラインをインスタンス化します。
from_pretrained() メソッドは、以下により、正しいパイプラインクラスのインスタンスを返す処理を行います:
- _pretrained_model_or_path の config オブジェクトの _class_name プロパティに基づいて、パイプラインクラスを検出します
- パイプラインクラス名のパターンマッチングを使用して、パイプラインクラスに関連付けられたテキストからオーディオへのパイプラインを検索します。
パイプラインはデフォルトで評価モード(model.eval())に設定されます。
> プライベートモデルやゲート付きモデルを使用するには、
hf > auth loginでログインしてください。
例:
>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio
>>> pipeline = AutoPipelineForText2Audio.from_pretrained(
... "stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16
... )
>>> pipeline = pipeline.to("cuda")
>>> output = pipeline(
... "Generate a male voice reading a paragraph",
... num_inference_steps=200,
... audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipeline.vae.sampling_rate)from_pipe
< source >( pipeline**kwargs )
別のインスタンス化済みの拡散パイプラインクラスから、テキストからオーディオを生成する Pytorch 拡散パイプラインをインスタンス化します。
from_pipe() メソッドは、パイプラインクラス名のパターンマッチングを用いて、パイプラインクラスに関連付けられたテキストからオーディオへのパイプラインを見つけ出し、正しいパイプラインクラスのインスタンスを返す処理を担当します。
パイプラインが含むすべてのモジュールが、追加のメモリを再割り当てせずに新しいパイプラインを初期化するために使用されます。
パイプラインはデフォルトで評価モード(model.eval())に設定されます。
>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio, StableAudioPipeline
>>> pipe = StableAudioPipeline.from_pretrained("stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16)
>>> pipe_audio = AutoPipelineForText2Audio.from_pipe(pipe)
>>> output = pipe_audio(
... "Generate a sound",
... num_inference_steps=200,
... audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipe_audio.vae.sampling_rate)