Transformers documentation
Pocket TTS 音声トークナイザー
このモデルは2026年10月20日にHugging Face Transformersに貢献されました。
Pocket TTS 音声トークナイザー
概要
Pocket TTSのオーディオトークナイザーは、Mimiのアーキテクチャ(各側にSEANetの畳み込みと小型の因果変換器)を持ち、その残差ベクトル量子化器がContinuous Audio Language ModelsのVAE-GANである連続的な32次元ボトルネックに置き換えられたコーデックです。24 kHzのオーディオを12.5 Hzの潜在変数に変換し、逆方向にも変換します。エンコーダーとデコーダーはそれぞれ単独で読み込むことができます(PocketTTSAudioTokenizerEncoderModel、PocketTTSAudioTokenizerDecoderModel)。これはPocketTTSProcessorのaudio_tokenizerであり、すべてのPocket TTSチェックポイントで共有されます。プロセッサーはこれを用いて音声プロンプトをエンコードし、生成された潜在変数をデコードします。
このモデルは Eustache Le Bihan によって提供されました。元のコードは kyutai-labs/pocket-tts です。
使用方法
from datasets import Audio, load_dataset
from transformers import AutoFeatureExtractor, AutoModel
model = AutoModel.from_pretrained("eustlb/pocket-tts-audio-tokenizer", device_map="auto")
feature_extractor = AutoFeatureExtractor.from_pretrained("eustlb/pocket-tts-audio-tokenizer")
dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
dataset = dataset.cast_column("audio", Audio(sampling_rate=24000))
inputs = feature_extractor(dataset[0]["audio"]["array"], sampling_rate=24000, return_tensors="pt").to(model.device)
latents = model.encode(**inputs).latents
audio_values = model.decode(latents).audio_valuesPocketTTSAudioTokenizerConfig
class transformers.PocketTTSAudioTokenizerConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )
パラメータ
- sampling_rate (
int、任意、デフォルトは24000) — オーディオファイルをデジタル化するためのサンプリングレート(ヘルツ (Hz) 表記)。 - audio_channels (
int、任意、デフォルトは 1) — オーディオデータのチャンネル数です。公開されているチェックポイントおよびこの実装はモノラルです。 - hidden_size (
int、任意、デフォルトは512) — 隠れ表現の次元数。 - num_filters (
int、任意、デフォルトは 64) — エンコーダーの最初のPocketTTSAudioTokenizerConv1dレイヤーの畳み込みカーネルの数。 - num_residual_layers (
int、任意、デフォルトは 1) — 残差層の数。 - upsampling_ratios (
list[int], 省略可) — デコーダーの転置畳み込みのカーネルサイズとストライドの比率。エンコーダーでは逆順で使用されます。 指定しない場合、デフォルトは[6, 5, 4]です。 - kernel_size (
int、任意、デフォルトは7) — 畳み込みカーネルのサイズです。 - last_kernel_size (
int, 任意、デフォルトは 3) — 最後の畳み込み層のカーネルサイズ。 - residual_kernel_size (
int、任意、デフォルトは 3)— 残差層のカーネルサイズ。 - dilation_growth_rate (
int、任意、デフォルト値は 2)— 各レイヤーで dilation をどの程度増加させるかを指定します。 - use_causal_conv (
bool、任意、デフォルトはTrue) — 完全に因果的な畳み込みを使用するかどうか。 - pad_mode (
str、任意、デフォルトは"constant") — 畳み込みのパディングモードです。 - compress (
int、任意、デフォルトは 2) — 残差ブランチの次元削減数。 - trim_right_ratio (
float、任意、デフォルト値は 1.0)—use_causal_conv = Trueの設定下で、転置畳み込みの右側をトリムするための比率です。1.0 に等しい場合、すべてのトリムが右側で行われることを意味します。 - use_conv_shortcut (
bool、任意、デフォルトはFalse) — SEANetの残差ブロックのスキップ接続に畳み込みを使用するかどうか。公開されているチェックポイントでは使用されていません。 - upsample_groups (
int、任意、デフォルトは 512) — SEANet レートに潜変数をアップサンプリングする転置畳み込みのグループ数。 - num_hidden_layers (
int、任意、デフォルトは2) — Transformerデコーダーの隠れ層の数。 - intermediate_size (
int、任意、デフォルトは2048) — MLP 表現の次元数。 - num_attention_heads (
int、任意、デフォルトは8) — Transformer デコーダーの各アテンション層におけるアテンションヘッドの数。 - num_key_value_heads (
int、任意、デフォルトは8) — Grouped Query Attention の実装に使用する key_value ヘッドの数を指定します。num_key_value_heads=num_attention_headsの場合、モデルは Multi Head Attention (MHA) を使用し、num_key_value_heads=1の場合は Multi Query Attention (MQA) を使用し、それ以外の場合は GQA が使用されます。 マルチヘッドのチェックポイントを GQA のチェックポイントに変換する際は、各グループの key ヘッドと value ヘッドを、そのグループ内の元のすべてのヘッドの平均プーリングによって構築する必要があります。詳細については、この論文を参照してください。指定しない場合、デフォルトでnum_attention_headsが使用されます。 - head_dim (
int、省略可) — アテンションヘッドの次元です。None の場合、hidden_size // num_attention_heads がデフォルトとして使用されます。 - hidden_act (
str、任意、デフォルトはgelu_pytorch_tanh) — デコーダーで使用する非線形活性化関数(関数または文字列)です。例えば、"gelu"、"relu"、"silu"などです。 - max_position_embeddings (
int、任意、デフォルトは8000) — このモデルが使用される可能性のある最大シーケンス長です。 - initializer_range (
float、任意、デフォルトは0.02) — すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。 - norm_eps (
float、任意、デフォルトは1e-05) — レイヤーノーマライゼーション層で使用する epsilon です。 - use_cache (
bool、任意、デフォルトはFalse) — モデルが最後のキー/バリューの注意を返すかどうか(すべてのモデルで利用されるわけではありません)。config.is_decoder=Trueの場合、またはモデルがデコーダー専用の生成モデルである場合にのみ関連します。 - use_streaming (
bool、任意、デフォルトはFalse) — エンコーダーがデフォルトでストリーミングを行うかどうかを指定します。この場合、次の呼び出しに渡すためのパディングキャッシュとキーバリューキャッシュを返します。 - rope_parameters (
Union[~modeling_rope_utils.RopeParameters, dict], 省略可) — RoPE 埋め込みの設定パラメータを含む辞書です。この辞書にはrope_thetaの値が含まれており、より長いmax_position_embeddingsで RoPE を使用する場合にスケーリングに使用されるパラメータが任意で含まれます。 - sliding_window (
int、任意、デフォルトは250) — スライディングウィンドウアテンションのウィンドウサイズ。Noneの場合、スライディングウィンドウは適用されません。 - attention_dropout (
Union[float, int]、任意、デフォルトは0.0) — アテンション確率のドロップアウト率です。 - layer_scale_initial_scale (
float、任意、デフォルトは0.01) — 自己アテンション層で使用するスケール値です。base モデルでは 0.1、large モデルでは 1e-6 を使用します。0 に設定すると、layer scale が無効になります。 - attention_bias (
bool、任意、デフォルトはFalse) — 自己注意機構において、クエリ、キー、バリュー、出力の投影層にバイアスを使用するかどうかを指定します。 - latent_stride (
int、任意、デフォルトは 16) — 1 つの潜在フレームあたりの SEANet フレーム数: SEANet の出力を潜在変数にダウンサンプリングするエンコーダーの畳み込み、およびそれを元に戻してアップサンプリングするデコーダーの転置畳み込みのストライドです。1 つの潜在フレームはprod(upsampling_ratios) * latent_stride個のオーディオサンプル (frame_size、公開されているチェックポイントでは 1920) をカバーします。 - latent_dim (
int, 任意、デフォルト値は 32) — 連続型潜在変数の次元数です。Mimi の残差ベクトル量子化器は、このボトルネックに置き換えられます。エンコーダのダウンサンプリング畳み込みはlatent_dimチャネルを出力し、デコーダはアップサンプリングの前にそれらをhidden_sizeに射影します。
これは、PocketTTSAudioTokenizerModel の設定を保存するための設定クラスです。指定された引数に基づいて Pocket Tts Audio Tokenizer モデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、eustlb/pocket-tts-audio-tokenizer と同様の設定が得られます。
設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。
例:
>>> from transformers import PocketTTSAudioTokenizerConfig, PocketTTSAudioTokenizerModel
>>> # a full codec, and its decoder alone
>>> model = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig())
>>> decoder_only = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig(encoder_config=None))PocketTTSAudioTokenizerEncoderConfig
class transformers.PocketTTSAudioTokenizerEncoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )
PocketTTSAudioTokenizer のエンコーダー側(SEANet エンコーダー、エンコーダー Transformer、ダウンサンプリング)の設定です。PocketTTSAudioTokenizerConfig とすべてのフィールドを共有しているため(引数についてはそのドキュメントを参照してください)、完全な PocketTTSAudioTokenizer チェックポイントから直接読み込むことができます。
PocketTTSAudioTokenizerDecoderConfig
class transformers.PocketTTSAudioTokenizerDecoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )
PocketTTSAudioTokenizer のデコーダー側(アップサンプリング、デコーダー Transformer、SEANet デコーダー)の設定です。PocketTTSAudioTokenizerConfig とすべてのフィールドを共有しているため(引数についてはそのドキュメントを参照してください)、完全な PocketTTSAudioTokenizer チェックポイントから直接読み込むことができます。
PocketTTSAudioTokenizerModel
class transformers.PocketTTSAudioTokenizerModel
< source >( config: PocketTTSAudioTokenizerConfig )
パラメータ
- config (PocketTTSAudioTokenizerConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを確認してください。
Pocket TTSの音声トークナイザー: 12.5 Hzで32次元の連続潜在変数を持つMimiアーキテクチャのコーデック(Continuous Audio Language ModelsのVAE-GAN)であり、24 kHzの音声を潜在変数に変換し、元に戻すことができます。
このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。
このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。
encode
< source >( input_values: FloatTensorpadding_mask: typing.Optional[torch.Tensor] = Noneencoder_past_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.pocket_tts_audio_tokenizer.modeling_pocket_tts_audio_tokenizer.PocketTTSAudioTokenizerConv1dPaddingCache | None = Noneuse_streaming: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
パラメータ
- input_values (
torch.FloatTensor、shape(batch_size, audio_channels, num_samples)) —config.frame_sizeの倍数になるようにゼロパディングされたオーディオ波形です。EncodecFeatureExtractor が返す形式と同じです。 - padding_mask (
torch.Tensor、形状(batch_size, num_samples)、任意) — オーディオサンプル(1)とパディング(0)を区別するためのマスク。これに基づいてlatents_maskが計算されます。 - encoder_past_key_values (
Cache、任意) — ストリーミング処理において、前回の呼び出しで返されるエンコーダ Transformer のキーバリューキャッシュ。 - padding_cache (
PocketTTSAudioTokenizerConv1dPaddingCache、optional) — ストリーミング処理において、前回の呼び出しで返される、エンコーダーの因果的畳み込み用のパディングキャッシュ。 - use_streaming (
bool, 省略可) — ストリーミングモードでエンコードし、次の呼び出しに渡すためのキャッシュを返すかどうかを指定します。
(batch_size, num_frames, latent_dim) の形状を持つ連続的な潜在変数にオーディオをエンコードします。PocketTTSAudioTokenizerEncoderModel.forward() の潜在変数で、フレームが先頭に来る形式です。
decode
< source >( latents: FloatTensordecoder_past_key_values: transformers.cache_utils.Cache | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
連続的な潜在変数を音声にデコードします。潜在変数はhidden_sizeに射影された後、PocketTTSAudioTokenizerDecoderModel.forward()によってデコードされます。
forward
< source >( input_values: FloatTensorpadding_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerOutput or tuple(torch.FloatTensor)
パラメータ
- input_values (
torch.FloatTensorの shape(batch_size, audio_channels, num_samples)) — EncodecFeatureExtractor が返すオーディオ波形です。 - padding_mask (
torch.Tensor、形状(batch_size, num_samples)、任意) — オーディオサンプル(1)とパディング(0)を区別するためのマスク。
戻り値
PocketTTSAudioTokenizerOutput または tuple(torch.FloatTensor)
PocketTTSAudioTokenizerOutput、またはtorch.FloatTensorのタプル(return_dict=Falseが渡された場合、またはconfig.return_dict=Falseの場合)。設定(PocketTTSAudioTokenizerConfig)と入力に応じて、さまざまな要素で構成されます。
PocketTTSAudioTokenizerModelのforwardメソッドは、__call__特殊メソッドをオーバーライドします。
この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなく
Moduleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。
- latents (
torch.FloatTensor、形状(batch_size, num_frames, latent_dim)) — 音声の連続的な潜在変数。 - latents_mask(
torch.LongTensor、形状(batch_size, num_frames)、任意)— パディング(0)ではなく、オーディオサンプル(1)から計算された潜在フレームのマスク。 - audio_values (
torch.FloatTensor、shape(batch_size, audio_channels, num_samples)) — latents から再構成されたオーディオ波形。 - hidden_states (
tuple(torch.FloatTensor)、optional、output_hidden_states=Trueの場合のみ返されます)— エンコーダーの Transformer の各層の出力およびその入力の隠れ状態です。 - attentions (
tuple(torch.FloatTensor)、optional、output_attentions=Trueの場合のみ返されます)— エンコーダの各 Transformer レイヤーの Attention 重み。
PocketTTSAudioTokenizerEncoderModel
class transformers.PocketTTSAudioTokenizerEncoderModel
< source >( config: PocketTTSAudioTokenizerEncoderConfig )
パラメータ
- config (PocketTTSAudioTokenizerEncoderConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
PocketTTSAudioTokenizer のエンコーダー部分: SEANet エンコーダー、エンコーダー Transformer、およびダウンサンプリング。オーディオから連続的な潜在変数への変換を行います。
このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。
このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。
forward
< source >( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.pocket_tts_audio_tokenizer.modeling_pocket_tts_audio_tokenizer.PocketTTSAudioTokenizerConv1dPaddingCache | None = Noneuse_streaming: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerEncoderModelOutput or tuple(torch.FloatTensor)
パラメータ
- input_values (
torch.Tensor、形状(batch_size, channels, sequence_length)) — 入力音声波形の浮動小数点値です。 - padding_mask (
torch.Tensor、形状(batch_size, channels, sequence_length)、任意) — パディングにより無視されるべき入力を示します。要素は、マスクされていない場合は 1、マスクされている場合は 0 です。 - past_key_values (
Cache, 任意) — エンコーダの Transformer において、セルフアテンションブロックのキーとバリューとして事前計算された隠れ状態。ストリーミングエンコーディングの高速化に使用されます。 - padding_cache (
PocketTTSAudioTokenizerConv1dPaddingCache、optional) — ストリーミングエンコーディングに使用される、因果的畳み込みのpaddingキャッシュです。 - use_streaming (
bool, 省略可) — ストリーミングモードでエンコードし、次の呼び出しに渡すためのキャッシュを返すかどうかを指定します。 - Encodes は、入力オーディオ波形を
(batch_size, latent_dim, frames)の形状を持つ連続的な潜在変数にエンコードします。 —
戻り値
PocketTTSAudioTokenizerEncoderModelOutput または tuple(torch.FloatTensor)
PocketTTSAudioTokenizerEncoderModelOutput、またはtorch.FloatTensorのタプル(return_dict=Falseが渡された場合、またはconfig.return_dict=Falseの場合)。設定(PocketTTSAudioTokenizerConfig)と入力に応じて、さまざまな要素で構成されます。
PocketTTSAudioTokenizerEncoderModelのforwardメソッドは、__call__特殊メソッドをオーバーライドします。
この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなく
Moduleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。
- latents (
torch.FloatTensor、shape(batch_size, latent_dim, frames)) — 音声の連続的な潜在変数です。config.frame_size個の音声サンプルごとに 1 フレームです。 - past_key_values (
Cache、任意) — ストリーミング時に返される、エンコーダのtransformerにおける自己アテンションブロックの事前計算済みhidden-states(キーとバリュー)。 - padding_cache (
PocketTTSAudioTokenizerConv1dPaddingCache、optional) — PocketTTSAudioTokenizerConv1d の因果畳み込みにおいて、キャッシュパディングによるストリーミング処理をサポートするために使用されるパディングキャッシュです。 - hidden_states (
tuple(torch.FloatTensor)、optional、output_hidden_states=Trueの場合のみ返されます)— エンコーダーの Transformer の各層の出力およびその入力の隠れ状態です。 - attentions (
tuple(torch.FloatTensor)、optional、output_attentions=Trueの場合のみ返されます)— エンコーダの各 Transformer レイヤーの Attention 重み。
PocketTTSAudioTokenizerDecoderModel
class transformers.PocketTTSAudioTokenizerDecoderModel
< source >( config: PocketTTSAudioTokenizerDecoderConfig )
パラメータ
- config (PocketTTSAudioTokenizerDecoderConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
PocketTTSAudioTokenizer のデコーダー部分: 連続的な潜在変数から音声への変換を行うアップサンプリング、デコーダー Transformer、および SEANet デコーダー。
このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。
このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。
forward
< source >( latents: Tensorpadding_mask: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerDecoderOutput or tuple(torch.FloatTensor)
パラメータ
- latents (
torch.FloatTensor、shape(batch_size, hidden_size, frames)) — PocketTTSAudioTokenizerModel.decode() で計算される、デコード対象の連続的な latents。 - padding_mask (
torch.Tensor、形状(batch_size, channels, sequence_length)、任意) — パディングにより無視されるべき入力を示します。要素は、マスクされていない場合は 1、マスクされている場合は 0 です。 - past_key_values (
Cache, 任意) — デコーダのtransformerにおける自己注意ブロックの事前計算済みhidden-states(キーとバリュー)。ストリーミングデコードの高速化に使用されます。 - Decodes は、与えられたフレームを出力音声波形にデコードします。なお、出力は少し大きくなる場合があります。
- input. その場合、末尾の余分なステップは切り捨てられます。—
戻り値
PocketTTSAudioTokenizerDecoderOutput または tuple(torch.FloatTensor)
PocketTTSAudioTokenizerDecoderOutput、またはtorch.FloatTensorのタプル(return_dict=Falseが渡された場合、またはconfig.return_dict=Falseの場合)。設定(PocketTTSAudioTokenizerConfig)や入力に応じて、さまざまな要素で構成されます。
PocketTTSAudioTokenizerDecoderModel の forward メソッドは、__call__ という特殊メソッドをオーバーライドします。
この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなく
Moduleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。
audio_values (
torch.FloatTensor、形状(batch_size, audio_channels, num_samples)、任意) — PocketTTSAudioTokenizer のデコーダー部分を使用して取得したデコード済みオーディオ値。decoder_past_key_values (
Cache、任意) — 自己注意ブロックのキーとバリューの事前計算済み隠れ状態です。デコーダの Transformer の逐次デコードを高速化するために使用できます。 通常、use_cache=Trueまたはconfig.use_cache=Trueの場合、モデルがデコードの以前の段階で返したpast_key_valuesで構成されます。モデルは、入力として与えられたのと同じキャッシュ形式を出力します。
past_key_valuesを使用する場合、ユーザーは、このモデルに過去のキーバリュー状態が与えられていない最後のaudio_valuesまたは`audio_codes`のみを入力することもできます。hidden_states (
tuple(torch.FloatTensor)、optional、output_hidden_states=Trueの場合のみ返されます) — デコーダの Transformer の各層の出力およびその入力の隠れ状態です。attentions (
tuple(torch.FloatTensor)、optional、output_attentions=Trueの場合のみ返されます) — 各デコーダ Transformer レイヤーの Attention 重み。