# PE Audio Video

[PE Audio Video](https://huggingface.co/papers/2504.13181)は、MetaのPerception Encoderファミリーにおける音声と映像を統合的に扱うブランチです。共有テキストタワーを用いて音声ストリームと映像ストリームを同時にエンコードし、1回のフォワードパスから、音声-テキスト、映像-テキスト、音声-映像、音声+テキスト-映像のすべてのペアワイズ組み合わせに対する対照的埋め込みを生成します。

モデル内部では、最近傍補間によって動画の特徴量シーケンスを音声の時間分解能に整列させるため、フレームレートとサンプルレートが異なるクリップでも同期が保たれます。テキストエンコーダーの重みは、音声ブランチと動画ブランチの間で共有されています。

公式の PE Audio Video チェックポイントはすべて、[perception-encoder-audio-visual](https://huggingface.co/collections/facebook/perception-encoder-audio-visual) コレクションの下で確認できます。

## クイックスタート

```py
import torch
from datasets import load_dataset
from transformers import AutoProcessor, PeAudioVideoModel
from transformers.video_utils import load_video

processor = AutoProcessor.from_pretrained("facebook/pe-av-large")
model = PeAudioVideoModel.from_pretrained(
    "facebook/pe-av-large",
    device_map="auto",
)

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
audio = ds[0]["audio"]["array"]
video, _ = load_video("https://huggingface.co/datasets/hf-internal-testing/fixtures_videos/resolve/main/tennis.mp4")
labels = ["a person playing tennis with background crowd", "a dog barking in a park"]

audio_inputs = processor.feature_extractor(audio, sampling_rate=48_000, return_tensors="pt").to(model.device)
video_inputs = processor.video_processor(video, num_frames=16, return_tensors="pt").to(model.device)
text_inputs = processor.tokenizer(labels, padding=True, return_tensors="pt").to(model.device)
inputs = {**audio_inputs, **video_inputs, **text_inputs}

with torch.no_grad():
    outputs = model(**inputs)

print("audio-text:", outputs.logits_audio_text.sigmoid().tolist())
print("video-text:", outputs.logits_video_text.sigmoid().tolist())
print("audio-video:", outputs.logits_audio_video.sigmoid().tolist())
```

## 使用上のヒントと注意点

- [PeAudioVideoModel](/docs/transformers/main/ja/model_doc/pe_audio_video#transformers.PeAudioVideoModel) には、`input_ids`、`input_values`、`pixel_values_videos` のうち少なくとも 2 つが必要です。2 つのみが指定された場合、オーディオ専用またはビデオ専用のサブモデルにディスパッチされます。3 つすべてが指定された場合、オーディオ・ビデオ・テキストの統合パスがトリガーされ、`PeAudioVideoOutput` の完全な logit 行列セットが返されます。
- Audio では `padding_mask` を、video では `padding_mask_videos` を同時に使用します。これらは独立したマスクであり、テキストタワー用に予約されている `attention_mask` と混同しないでください。
- Audio–video alignment は `_align_video_hidden_state` 内でバッチ要素ごとに実行されるため、音声と動画の長さが大きく異なるバッチではベクトル化されず、イテレーションで処理されます。スループットを確保するには、バッチ内のアイテムの長さを概ね均一に保ってください。
- テキストタワーの重みは`_tied_weights_keys`を介してブランチ間で共有されています。音声と映像のそれぞれに別のテキストエンコーダーを読み込もうとしないでください。

## PeAudioVideoConfig[[transformers.PeAudioVideoConfig]]

#### transformers.PeAudioVideoConfig[[transformers.PeAudioVideoConfig]]

```python
transformers.PeAudioVideoConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, text_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, audio_video_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, tie_word_embeddings: bool = True)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pe_audio_video/configuration_pe_audio_video.py#L78)

**パラメータ:**

text_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`, *任意*) : テキストバックボーンの config オブジェクトまたは辞書。

audio_video_config (`dict`または`PreTrainedConfig`、*任意*) : 音声・動画エンコーダーコンポーネントの設定。

tie_word_embeddings (`bool`、*任意*、デフォルトは`True`) : モデルの`tied_weights_keys`マッピングに従って重み埋め込みを共有するかどうか。

これは、PeAudioVideoModel の設定を保存するための設定クラスです。指定された引数に基づいて Pe Audio Video モデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、[facebook/pe-av-large](https://huggingface.co/facebook/pe-av-large) と同様の設定が得られます。

設定オブジェクトは [PreTrainedConfig](/docs/transformers/main/ja/main_classes/configuration#transformers.PreTrainedConfig) を継承し、モデルの出力を制御するために使用できます。詳細については、[PreTrainedConfig](/docs/transformers/main/ja/main_classes/configuration#transformers.PreTrainedConfig) のドキュメントを参照してください。

```python
>>> from transformers import PeAudioVideoModel, PeAudioVideoConfig

>>> # Initializing a PeAudioVideoModel style configuration
>>> configuration = PeAudioVideoConfig()

>>> # Initializing a model from the pe-av-large style configuration
>>> model = PeAudioModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## PeAudioVideoEncoderConfig[[transformers.PeAudioVideoEncoderConfig]]

#### transformers.PeAudioVideoEncoderConfig[[transformers.PeAudioVideoEncoderConfig]]

```python
transformers.PeAudioVideoEncoderConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, audio_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, video_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, hidden_size: int = 1792, intermediate_size: int = 4800, num_hidden_layers: int = 6, num_attention_heads: int = 14, num_key_value_heads: int | None = None, head_dim: int = 128, hidden_act: str = 'silu', max_position_embeddings: int = 10000, initializer_range: float = 0.02, rms_norm_eps: float = 1e-05, rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = None, attention_bias: bool = False, attention_dropout: float | int = 0.0)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pe_audio_video/configuration_pe_audio_video.py#L26)

**パラメータ:**

audio_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`, *任意*) : 音声バックボーンの config オブジェクトまたは辞書。

video_config (`Union[PreTrainedConfig, dict]`、*任意*) : ビデオエンコーダーの設定です。辞書が提供された場合、[PeVideoEncoderConfig](/docs/transformers/main/ja/model_doc/pe_video#transformers.PeVideoEncoderConfig)をインスタンス化するために使用されます。

hidden_size (`int`、*optional*、デフォルトは`1792`) : 隠れ表現の次元数。

intermediate_size (`int`、*任意*、デフォルトは`4800`) : MLP 表現の次元数。

num_hidden_layers (`int`、*任意*、デフォルトは`6`) : Transformer デコーダーの隠れ層の数。

num_attention_heads (`int`、*任意*、デフォルトは`14`) : Transformerデコーダーの各アテンション層におけるアテンションヘッドの数。

num_key_value_heads (`int`, *optional*) : 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 ヘッドは、そのグループ内の元のすべてのヘッドを平均プーリングして構築する必要があります。詳細については、[この論文](https://huggingface.co/papers/2305.13245)を参照してください。指定されない場合、デフォルトで `num_attention_heads` が使用されます。

head_dim (`int`、*任意*、デフォルトは`128`) : アテンションヘッドの次元です。None の場合、hidden_size // num_attention_heads がデフォルトとして使用されます。

hidden_act (`str`、*任意*、デフォルトは`silu`) : デコーダーで使用する非線形活性化関数（関数または文字列）。例えば、`"gelu"`、`"relu"`、`"silu"`など。

max_position_embeddings (`int`、*任意*、デフォルトは`10000`) : このモデルが使用される可能性のある最大シーケンス長です。

initializer_range (`float`、*任意*、デフォルトは`0.02`) : すべての重み行列を初期化するためのtruncated_normal_initializerの標準偏差です。

rms_norm_eps (`float`、*任意*、デフォルトは`1e-05`) : rms 正規化レイヤーで使用する epsilon。

rope_parameters (`Union[~modeling_rope_utils.RopeParameters, dict]`, *optional*) : RoPE 埋め込みの設定パラメータを含む辞書です。この辞書には `rope_theta` の値が含まれていなければならず、より長い `max_position_embeddings` で RoPE を使用する場合、スケーリングに使用されるパラメータが任意で含まれます。

attention_bias (`bool`、*任意*、デフォルトは`False`) : セルフアテンションにおけるクエリ、キー、バリュー、出力の投影層でバイアスを使用するかどうか。

attention_dropout (`Union[float, int]`、*任意*、デフォルトは`0.0`) : 注意確率のドロップアウト率。

これは、PeAudioVideoModel の設定を保存するための設定クラスです。指定された引数に基づいて Pe Audio Video モデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、[facebook/pe-av-large](https://huggingface.co/facebook/pe-av-large) と同様の設定が得られます。

設定オブジェクトは [PreTrainedConfig](/docs/transformers/main/ja/main_classes/configuration#transformers.PreTrainedConfig) を継承し、モデルの出力を制御するために使用できます。詳細については、[PreTrainedConfig](/docs/transformers/main/ja/main_classes/configuration#transformers.PreTrainedConfig) のドキュメントを参照してください。

```python
>>> from transformers import PeAudioVideoEncoder, PeAudioVideoEncoderConfig

>>> # Initializing a PeAudioVideoEncoder style configuration
>>> configuration = PeAudioVideoEncoderConfig()

>>> # Initializing a model from the pe-av-large style configuration
>>> model = PeAudioVideoEncoder(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## PeAudioVideoProcessor[[transformers.PeAudioVideoProcessor]]

#### transformers.PeAudioVideoProcessor[[transformers.PeAudioVideoProcessor]]

```python
transformers.PeAudioVideoProcessor(feature_extractor = None, video_processor = None, tokenizer = None, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pe_audio_video/processing_pe_audio_video.py#L17)

## PeAudioVideoEncoder[[transformers.PeAudioVideoEncoder]]

#### transformers.PeAudioVideoEncoder[[transformers.PeAudioVideoEncoder]]

```python
transformers.PeAudioVideoEncoder(config: PeAudioVideoEncoderConfig)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pe_audio_video/modeling_pe_audio_video.py#L554)

**パラメータ:**

config ([PeAudioVideoEncoderConfig](/docs/transformers/main/ja/model_doc/pe_audio_video#transformers.PeAudioVideoEncoderConfig)) : モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、[from_pretrained()](/docs/transformers/main/ja/main_classes/model#transformers.PreTrainedModel.from_pretrained) メソッドを確認してください。

PeAudioVideo Encoderモデル。

このモデルは [PreTrainedModel](/docs/transformers/main/ja/main_classes/model#transformers.PreTrainedModel) を継承しています。ライブラリがすべてのモデルに対して実装している汎用的なメソッド（ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど）については、スーパークラスのドキュメントを参照してください。

このモデルは、PyTorchの[torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module)のサブクラスでもあります。通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。

#### forward[[transformers.PeAudioVideoEncoder.forward]]

```python
forward(input_values: typing.Optional[torch.Tensor] = None, pixel_values_videos: typing.Optional[torch.Tensor] = None, padding_mask: typing.Optional[torch.Tensor] = None, padding_mask_videos: typing.Optional[torch.Tensor] = None, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pe_audio_video/modeling_pe_audio_video.py#L573)

**パラメータ:**

input_values (`torch.Tensor`、shape `(batch_size, sequence_length)`、*任意*) : 入力生の音声波形の浮動小数点数値。値は、`.flac` または `.wav` 形式のオーディオファイルを `list[float]`、`numpy.ndarray`、または `torch.Tensor` 型の配列として読み込むことで取得できます。*例えば*、torchcodec ライブラリ（`pip install torchcodec`）や soundfile ライブラリ（`pip install soundfile`）を通じて行います。`input_values` として配列を準備するには、パディングと `torch.FloatTensor` 型への変換のために [AutoProcessor](/docs/transformers/main/ja/model_doc/auto#transformers.AutoProcessor) を使用してください。詳細は [PeAudioVideoProcessor.__call__()](/docs/transformers/main/ja/main_classes/processors#transformers.ProcessorMixin.__call__) を参照してください。

pixel_values_videos (`torch.Tensor`、形状 `(batch_size, num_frames, num_channels, frame_size, frame_size)`、*任意*) : 入力動画に対応するテンソルです。動画のピクセル値は [PeVideoVideoProcessor](/docs/transformers/main/ja/model_doc/pe_video#transformers.PeVideoVideoProcessor) を使用して取得できます。詳細は [PeVideoVideoProcessor.__call__()](/docs/transformers/main/ja/model_doc/molmo2#transformers.Molmo2VideoProcessor.__call__) を参照してください（[PeAudioVideoProcessor](/docs/transformers/main/ja/model_doc/pe_audio_video#transformers.PeAudioVideoProcessor) は動画の処理に [PeVideoVideoProcessor](/docs/transformers/main/ja/model_doc/pe_video#transformers.PeVideoVideoProcessor) を使用します）。

padding_mask (`torch.Tensor`、形状 `(batch_size, sequence_length)`、*任意*) : `input_values` のパディングサンプルに対してアテンションを実行しないためのマスク。`[0, 1]` から選択されたマスク値:  - **マスクされていない**サンプルは 1、 - **マスクされている**サンプルは 0。

padding_mask_videos (`torch.Tensor`、形状 `(batch_size, num_frames)`、*任意*) : パディングされた動画フレームに対してアテンションを実行しないためのマスク。`[0, 1]` から選択されるマスクの値:  - **マスクされていない**フレームは 1、 - **マスクされている**フレームは 0。

**戻り値:** `PeAudioVideoEncoderOutput` または `tuple(torch.FloatTensor)`

`PeAudioVideoEncoderOutput`、または`torch.FloatTensor`のタプル（`return_dict=False`が渡された場合、または`config.return_dict=False`の場合）。設定（[PeAudioVideoConfig](/docs/transformers/main/ja/model_doc/pe_audio_video#transformers.PeAudioVideoConfig)）と入力に応じて、さまざまな要素で構成されます。

[PeAudioVideoEncoder](/docs/transformers/main/ja/model_doc/pe_audio_video#transformers.PeAudioVideoEncoder)のforwardメソッドは、`__call__`特殊メソッドをオーバーライドします。

この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなく`Module`インスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを無視してしまいます。

- **last_hidden_state** (`torch.FloatTensor`、shape `(batch_size, sequence_length, hidden_size)`) -- モデルの最終層の出力における隠れ状態のシーケンス。
- **pooler_output** (`torch.FloatTensor`、shape `(batch_size, hidden_size)`) -- 補助事前学習タスクに使用される層をさらに通して処理された後、シーケンスの最初のトークン（分類トークン）の最終層の隠れ状態です。例えば、BERT 系のモデルでは、線形層と tanh 活性化関数を経て処理された後の分類トークンを返します。この線形層の重みは、事前学習中の次文予測（分類）目的から学習されます。
- **hidden_states** (`tuple(torch.FloatTensor)`、*optional*、`output_hidden_states=True` が渡された場合または `config.output_hidden_states=True` の場合に返されます) -- `torch.FloatTensor` のタプル（埋め込み層を持つモデルの場合、埋め込みの出力用が 1 つ、各層の出力用が 1 つずつ）で、形状は `(batch_size, sequence_length, hidden_size)` です。

  各層の出力におけるモデルのHidden-states、および任意の初期埋め込み出力。
- **attentions** (`tuple(torch.FloatTensor)`、*optional*、`output_attentions=True` が渡された場合または `config.output_attentions=True` の場合に返されます) -- `torch.FloatTensor` のタプル（各レイヤーごとに1つ）で、形状は `(batch_size, num_heads, sequence_length, sequence_length)` です。

  アテンションのsoftmax後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。
- **audio_model_output** (`BaseModelOutputWithPooling`、*任意*) -- 音声エンコーダーの出力。最後の隠れ状態、プーリングされた出力、および任意の隠れ状態とアテンションを含みます。詳細は [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) を参照してください。
- **video_model_output** (`BaseModelOutputWithPooling`、*任意*) -- ビデオエンコーダーの出力。最後の隠れ状態、プーリングされた出力、および任意の隠れ状態とアテンションを含みます。詳細は [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) を参照してください。

## PeAudioVideoModel[[transformers.PeAudioVideoModel]]

#### transformers.PeAudioVideoModel[[transformers.PeAudioVideoModel]]

```python
transformers.PeAudioVideoModel(config: PeAudioVideoConfig)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pe_audio_video/modeling_pe_audio_video.py#L738)

#### forward[[transformers.PeAudioVideoModel.forward]]

```python
forward(input_ids: typing.Optional[torch.Tensor] = None, pixel_values_videos: typing.Optional[torch.Tensor] = None, input_values: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, padding_mask_videos: typing.Optional[torch.Tensor] = None, padding_mask: typing.Optional[torch.Tensor] = None, return_loss = False, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pe_audio_video/modeling_pe_audio_video.py#L879)

**パラメータ:**

input_ids (`torch.Tensor`、shape `(batch_size, sequence_length)`、*任意*) : 語彙における入力シーケンスのトークンインデックスです。デフォルトでは、パディングは無視されます。インデックスは [AutoTokenizer](/docs/transformers/main/ja/model_doc/auto#transformers.AutoTokenizer) を使用して取得できます。詳細については、[PreTrainedTokenizer.encode()](/docs/transformers/main/ja/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) および [PreTrainedTokenizer.__call__()](/docs/transformers/main/ja/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) を参照してください。 [入力IDとは何ですか？](../glossary#input-ids)

pixel_values_videos (`torch.Tensor`、形状 `(batch_size, num_frames, num_channels, frame_size, frame_size)`、*任意*) : 入力動画に対応するテンソルです。動画のピクセル値は [PeVideoVideoProcessor](/docs/transformers/main/ja/model_doc/pe_video#transformers.PeVideoVideoProcessor) を使用して取得できます。詳細は [PeVideoVideoProcessor.__call__()](/docs/transformers/main/ja/model_doc/molmo2#transformers.Molmo2VideoProcessor.__call__) を参照してください（[PeAudioVideoProcessor](/docs/transformers/main/ja/model_doc/pe_audio_video#transformers.PeAudioVideoProcessor) は動画の処理に [PeVideoVideoProcessor](/docs/transformers/main/ja/model_doc/pe_video#transformers.PeVideoVideoProcessor) を使用します）。

input_values (`torch.Tensor`、shape `(batch_size, sequence_length)`、*任意*) : 入力生の音声波形の浮動小数点数値。値は、`.flac` または `.wav` 形式のオーディオファイルを `list[float]`、`numpy.ndarray`、または `torch.Tensor` 型の配列として読み込むことで取得できます。*例えば*、torchcodec ライブラリ（`pip install torchcodec`）や soundfile ライブラリ（`pip install soundfile`）を通じて行います。`input_values` として配列を準備するには、パディングと `torch.FloatTensor` 型への変換のために [AutoProcessor](/docs/transformers/main/ja/model_doc/auto#transformers.AutoProcessor) を使用してください。詳細は [PeAudioVideoProcessor.__call__()](/docs/transformers/main/ja/main_classes/processors#transformers.ProcessorMixin.__call__) を参照してください。

attention_mask (`torch.Tensor`、shape `(batch_size, sequence_length)`、*任意*) : padding トークンのインデックスに対する attention を回避するためのマスクです。マスクの値は `[0, 1]` から選択されます:  - **マスクされない**トークンは 1、- **マスクされる**トークンは 0。  [attention マスクとは?](../glossary#attention-mask)

padding_mask_videos (`torch.Tensor`、形状 `(batch_size, num_frames)`、*任意*) : パディングされた動画フレームに対してアテンションを実行しないためのマスク。`[0, 1]` から選択されるマスクの値:  - **マスクされていない**フレームは 1、 - **マスクされている**フレームは 0。

padding_mask (`torch.Tensor`、形状 `(batch_size, sequence_length)`、*任意*) : `input_values` のパディングサンプルに対してアテンションを実行しないためのマスク。`[0, 1]` から選択されたマスク値:  - **マスクされていない**サンプルは 1、 - **マスクされている**サンプルは 0。

return_loss (`bool`, *任意*) : 損失を返すかどうか。

**戻り値:** `PeAudioVideoOutput` または `tuple(torch.FloatTensor)`

`PeAudioVideoOutput`、または`torch.FloatTensor`のタプル（`return_dict=False`が渡された場合、または`config.return_dict=False`の場合）。設定（[PeAudioVideoConfig](/docs/transformers/main/ja/model_doc/pe_audio_video#transformers.PeAudioVideoConfig)）と入力に応じて、さまざまな要素で構成されます。

[PeAudioVideoModel](/docs/transformers/main/ja/model_doc/pe_audio_video#transformers.PeAudioVideoModel)のforwardメソッドは、`__call__`特殊メソッドをオーバーライドします。

この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなく`Module`インスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを無視してしまいます。

- **audio_embeds** (`torch.FloatTensor`、*任意*) -- 音声モダリティの埋め込み。形状は`(batch_size, sequence_length, hidden_size)`です。
- **video_embeds** (`torch.FloatTensor`、*任意*) -- ビデオモダリティの埋め込み。形状は`(batch_size, sequence_length, hidden_size)`です。
- **audio_video_embeds** (`torch.FloatTensor`, *オプション*) -- 融合モジュールによって生成される、音声と動画の結合埋め込み。形状は`(batch_size, sequence_length, hidden_size)`です。
- **text_audio_embeds** (`torch.FloatTensor`、*任意*) -- テキストとオーディオの結合埋め込み。形状は`(batch_size, sequence_length, hidden_size)`です。
- **text_video_embeds** (`torch.FloatTensor`, *オプション*) -- 結合テキスト・動画埋め込み。形状は`(batch_size, sequence_length, hidden_size)`です。
- **text_audio_video_embeds** (`torch.FloatTensor`, *オプション*) -- テキスト、オーディオ、ビデオの3つのモーダルを統合した埋め込み。形状は`(batch_size, sequence_length, hidden_size)`です。
- **audio_plus_text_embeds** (`torch.FloatTensor`, *オプション*) -- 音声とテキストの埋め込みを結合したもの(例:連結または加法的フュージョン)。形状は`(batch_size, sequence_length, hidden_size)`です。
- **video_plus_text_embeds** (`torch.FloatTensor`, *オプション*) -- 動画とテキストの埋め込みを結合したもの。形状は`(batch_size, sequence_length, hidden_size)`です。
- **text_outputs** (`MaskedLMOutput`、*任意*) -- テキストエンコーダーのモデル出力。隠れ状態、アテンション、および任意の損失を含みます。
- **audio_outputs** (`BaseModelOutputWithPooling`、*任意*) -- 音声エンコーダーの出力。最後の隠れ状態とプーリングされた出力を含みます。
- **video_outputs** (`BaseModelOutputWithPooling`、*任意*) -- 最終隠れ状態とプーリング出力を含む、ビデオエンコーダーのモデル出力。
- **audio_video_outputs** (`BaseModelOutputWithPooling`、*任意*) -- 音声・動画統合エンコーダーのモデル出力。
- **logits_audio_text** (`torch.FloatTensor`, *オプション*) -- 音声とテキストの埋め込み間の類似度ロジット。形状は`(batch_size, batch_size)`です。
- **logits_video_text** (`torch.FloatTensor`, *オプション*) -- 動画とテキストの埋め込み間の類似度ロジット。形状は`(batch_size, batch_size)`です。
- **logits_audio_video** (`torch.FloatTensor`, *オプション*) -- 音声と動画の埋め込み間の類似度ロジツ。形状は`(batch_size, batch_size)`です。
- **logits_audio_video_text** (`torch.FloatTensor`, *optional*) -- 音声、動画、テキストの各モダリティ間の類似度ロジツ。
- **logits_audio_plus_text_video** (`torch.FloatTensor`, *オプション*) -- 融合された（音声 + テキスト）埋め込みと動画埋め込みの間の類似度ロジット。
- **logits_video_plus_text_audio** (`torch.FloatTensor`, *optional*) -- 融合された（動画 + テキスト）埋め込みと音声埋め込みの間の類似度ロジット。
- **audio_text_loss** (`torch.FloatTensor`, *optional*) -- 音声とテキストの表現間で計算される対比損失。
- **video_text_loss** (`torch.FloatTensor`, *optional*) -- 動画とテキストの表現間で計算される対比損失。
- **audio_video_loss** (`torch.FloatTensor`, *optional*) -- 音声と動画の表現間で計算される対比損失。
- **audio_video_text_loss** (`torch.FloatTensor`, *optional*) -- 音声、動画、テキストの各モダリティにわたる結合損失。
- **audio_plus_text_video_loss** (`torch.FloatTensor`, *オプション*) -- 融合された（音声 + テキスト）表現と動画との間の損失。
- **video_plus_text_audio_loss** (`torch.FloatTensor`, *オプション*) -- 融合された（動画 + テキスト）表現と音声との間の損失。
- **loss** (`torch.FloatTensor`, *optional*) -- 各モダリティの損失を合計した損失。

