# FLAVA

## 概要

FLAVAモデルは、Amanpreet Singh、Ronghang Hu、Vedanuj Goswami、Guillaume Couairon、Wojciech Galuba、Marcus Rohrbach、Douwe Kiela によって [FLAVA: A Foundational Language And Vision Alignment Model](https://huggingface.co/papers/2112.04482) で提案され、CVPR 2022 に採択されました。

この論文は、ビジョン、言語、およびビジョンと言語のマルチモーダルタスクを横断的に処理できる、単一の統合された基盤モデルの構築を目的としています。

論文の抄録は以下の通りです。

*最先端のビジョンモデルおよびビジョン・言語モデルは、多様な下流タスクで優れた性能を得るために、大規模な視覚言語事前学習に依存しています。一般的に、こうしたモデルはクロスモーダル（対照的）かマルチモーダル（早期融合）のいずれかであり、両方を兼ね備えることは稀です。また、特定のモダリティやタスクにのみ焦点を当てている場合が多いです。有望な方向性として、すべてのモダリティを同時に対象とする単一の包括的な汎用モデルを「基盤」として利用することが挙げられます。真のビジョン・言語基盤モデルは、ビジョンタスク、言語タスク、そしてクロスモーダルおよびマルチモーダルのビジョン・言語タスクのすべてで優れた性能を発揮すべきです。私たちは、そのようなモデルとしてFLAVAを導入し、これらの対象モダリティにまたがる35の幅広いタスクにおいて、印象的な性能を実証しました。*

このモデルは [aps](https://huggingface.co/aps) によって提供されました。元のコードは [こちら](https://github.com/facebookresearch/multimodal/tree/main/examples/flava) で確認できます。

## FlavaConfig[[transformers.FlavaConfig]]

#### transformers.FlavaConfig[[transformers.FlavaConfig]]

```python
transformers.FlavaConfig(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, image_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = None, text_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = None, multimodal_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = None, image_codebook_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = None, hidden_size: int = 768, layer_norm_eps: float = 1e-12, projection_dim: int = 768, init_codebook: bool = True, logit_scale_init_value: float = 2.6592, initializer_range: float = 0.02, ce_ignore_index: int = -100, mim_weight: float = 1.0, mlm_weight: float = 1.0, global_contrastive_weight: float = 1.0, itm_weight: float = 1.0, mmm_image_weight: float = 1.0, mmm_text_weight: float = 1.0, global_backprop_contrastive: bool = True, skip_unmasked_multimodal_encoder: bool = True, return_loss: bool = True, tie_word_embeddings: bool = True, initializer_factor: float = 1.0)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/configuration_flava.py#L185)

**パラメータ:**

image_config (`dict`, *任意*) : [FlavaImageConfig](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageConfig)を初期化するために使用される設定オプションの辞書。

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

multimodal_config (`dict`, *任意*) : [FlavaMultimodalConfig](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaMultimodalConfig) を初期化するために使用される設定オプションの辞書。

image_codebook_config (`dict`, *任意*) : `FlavaCodebookConfig` を初期化するために使用される設定オプションの辞書。

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

layer_norm_eps (`float`、*任意*、デフォルトは `1e-12`) : layer normalization レイヤーで使用する epsilon。

projection_dim (`int`、*任意*、デフォルトは`768`) : テキストおよびビジョンの投影層の次元数。

init_codebook (`bool`、*任意*、デフォルトは`True`) : コードブックを初期化するか

logit_scale_init_value (`float`、*任意*、デフォルト値は 2.6592) : *logit_scale* パラメータの初期値です。デフォルト値は、元の FLAVA/CLIP 実装に従って使用されます。

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

ce_ignore_index (`int`、*任意*、デフォルトは -100) : 無視するクロスエントロピーのインデックス。

mim_weight (`float`、*任意*、デフォルトは 1.0) : MIM（Masked Image Modeling）単一モーダル損失に割り当てられる重み

mlm_weight (`float`、*任意*、デフォルト値は 1.0) : MLM（Masked Language Modeling）単一モーダル損失に割り当てられる重み

global_contrastive_weight (`float`、*任意*、デフォルト値は 1.0) : グローバル対比クロスアライメント損失に割り当てられる重み。

itm_weight (`float`、*任意*、デフォルト値は 1.0) : 画像とテキストのマッチングに関するマルチモーダル損失に割り当てられる重み。

mmm_image_weight (`float`、*任意*、デフォルトは 1.0) : MMM ロスの画像部分に割り当てられる重み。

mmm_text_weight (`float`、*任意*、デフォルト値は 1.0) : MMM ロスのテキスト部分に割り当てられる重み。

global_backprop_contrastive (`bool`、*任意*、デフォルトは`True`) : 対比損失において、すべてのワーカーにわたってグローバルな逆伝播を使用するかどうか。

skip_unmasked_multimodal_encoder (`bool`、*任意*、デフォルトは`True`) : FLAVA の損失で出力が使用されない、マスクされていないマルチモーダルエンコーダーの実行をスキップするかどうか。

return_loss (`bool`、*任意*、デフォルトは`True`) : loss を返すかどうか

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

initializer_factor (`float`、*任意*、デフォルトは`1.0`) : すべての重み行列を初期化する係数です（1に保つ必要があります。初期化テスト用に内部で使用されます）。

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

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

例:

```python
>>> from transformers import FlavaConfig, FlavaModel, FlavaForPreTraining

>>> # Initializing a FlavaConfig with style configuration
>>> configuration = FlavaConfig()

>>> # Initializing a FlavaModel and FlavaForPreTraining model (with random weights) from the style configuration
>>> model = FlavaModel(configuration)
>>> model_pre = FlavaForPreTraining(configuration)

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

## FlavaTextConfig[[transformers.FlavaTextConfig]]

#### transformers.FlavaTextConfig[[transformers.FlavaTextConfig]]

```python
transformers.FlavaTextConfig(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, vocab_size: int = 30522, type_vocab_size: int = 2, max_position_embeddings: int = 512, hidden_size: int = 768, num_hidden_layers: int = 12, num_attention_heads: int = 12, intermediate_size: int = 3072, hidden_act: str = 'gelu', hidden_dropout_prob: float | int = 0.0, attention_probs_dropout_prob: float | int = 0.0, initializer_range: float = 0.02, layer_norm_eps: float = 1e-12, pad_token_id: int | None = 0, qkv_bias: bool = True)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/configuration_flava.py#L71)

**パラメータ:**

vocab_size (`int`、*任意*、デフォルトは`30522`) : モデルの語彙サイズ。`input_ids`で表現できるトークンの種類数を定義します。

type_vocab_size (`int`、*任意*、デフォルトは`2`) : `token_type_ids`の語彙サイズ。

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

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

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

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

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

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

hidden_dropout_prob (`Union[float, int]`、*任意*、デフォルトは`0.0`) : embeddings、encoder、pooler 内のすべての全結合層における dropout 確率。

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

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

layer_norm_eps (`float`、*任意*、デフォルトは `1e-12`) : layer normalization レイヤーで使用する epsilon。

pad_token_id (`int`, *任意*, デフォルトは `0`) : 語彙内でパディングに使用されるトークン ID。

qkv_bias (`bool`, *任意*, デフォルトは `True`) : クエリ、キー、バリューにバイアスを追加するかどうか。

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

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

例:

```python
>>> from transformers import FlavaTextConfig, FlavaTextModel

>>> # Initializing a FlavaTextModel with  style configuration
>>> configuration = FlavaTextConfig()

>>> # Initializing a FlavaTextModel model (with random weights) from the style configuration
>>> model = FlavaTextModel(configuration)

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

## FlavaImageConfig[[transformers.FlavaImageConfig]]

#### transformers.FlavaImageConfig[[transformers.FlavaImageConfig]]

```python
transformers.FlavaImageConfig(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, hidden_size: int = 768, num_hidden_layers: int = 12, num_attention_heads: int = 12, intermediate_size: int = 3072, hidden_act: str = 'gelu', hidden_dropout_prob: float | int = 0.0, attention_probs_dropout_prob: float | int = 0.0, initializer_range: float = 0.02, layer_norm_eps: float = 1e-12, image_size: int | list[int] | tuple[int, int] = 224, patch_size: int | list[int] | tuple[int, int] = 16, num_channels: int = 3, qkv_bias: bool = True, mask_token: bool = True, vocab_size: int = 8192)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/configuration_flava.py#L29)

**パラメータ:**

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

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

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

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

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

hidden_dropout_prob (`Union[float, int]`、*任意*、デフォルトは`0.0`) : embeddings、encoder、pooler 内のすべての全結合層における dropout 確率。

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

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

layer_norm_eps (`float`、*任意*、デフォルトは `1e-12`) : layer normalization レイヤーで使用する epsilon。

image_size (`Union[int, list[int], tuple[int, int]]`、*任意*、デフォルトは`224`) : 各画像のサイズ（解像度）。

patch_size (`Union[int, list[int], tuple[int, int]]`、*任意*、デフォルトは`16`) : 各パッチのサイズ（解像度）。

num_channels (`int`、*任意*、デフォルトは`3`) : 入力チャネル数。

qkv_bias (`bool`, *任意*, デフォルトは `True`) : クエリ、キー、バリューにバイアスを追加するかどうか。

mask_token (`bool`、*任意*、デフォルトは`True`) : マスクトークンを使用するかどうか。FLAVAのMIM（Masked Image Modeling）損失で使用されます。

vocab_size (`int`、*任意*、デフォルトは`8192`) : モデルの語彙サイズ。`input_ids`で表現できるトークンの種類数を定義します。

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

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

例:

```python
>>> from transformers import FlavaImageConfig, FlavaImageModel

>>> # Initializing a FlavaImageModel with  style configuration
>>> configuration = FlavaImageConfig()

>>> # Initializing a FlavaImageModel model (with random weights) from the style configuration
>>> model = FlavaImageModel(configuration)

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

## FlavaMultimodalConfig[[transformers.FlavaMultimodalConfig]]

#### transformers.FlavaMultimodalConfig[[transformers.FlavaMultimodalConfig]]

```python
transformers.FlavaMultimodalConfig(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, hidden_size: int = 768, num_hidden_layers: int = 6, num_attention_heads: int = 12, intermediate_size: int = 3072, hidden_act: str = 'gelu', hidden_dropout_prob: float | int = 0.0, attention_probs_dropout_prob: float | int = 0.0, initializer_range: float = 0.02, layer_norm_eps: float = 1e-12, qkv_bias: bool = True, use_cls_token: bool = True)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/configuration_flava.py#L109)

**パラメータ:**

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

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

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

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

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

hidden_dropout_prob (`Union[float, int]`、*任意*、デフォルトは`0.0`) : embeddings、encoder、pooler 内のすべての全結合層における dropout 確率。

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

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

layer_norm_eps (`float`、*任意*、デフォルトは `1e-12`) : layer normalization レイヤーで使用する epsilon。

qkv_bias (`bool`, *任意*, デフォルトは `True`) : クエリ、キー、バリューにバイアスを追加するかどうか。

use_cls_token (`bool`, *任意*, デフォルトは `True`) : マルチモーダル設定で追加の CLS トークンを使用するかどうか。通常、FLAVA モデルで必要です。

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

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

例:

```python
>>> from transformers import FlavaMultimodalConfig, FlavaMultimodalModel

>>> # Initializing a FlavaMultimodalModel with  style configuration
>>> configuration = FlavaMultimodalConfig()

>>> # Initializing a FlavaMultimodalModel model (with random weights) from the style configuration
>>> model = FlavaMultimodalModel(configuration)

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

## FlavaImageCodebookConfig[[transformers.FlavaImageCodebookConfig]]

#### transformers.FlavaImageCodebookConfig[[transformers.FlavaImageCodebookConfig]]

```python
transformers.FlavaImageCodebookConfig(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, num_groups: int = 4, input_channels: int = 3, num_blocks_per_group: int = 2, hidden_size: int = 256, vocab_size: int = 8192, freeze: bool = True, initializer_range: float = 0.02)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/configuration_flava.py#L147)

**パラメータ:**

num_groups (`int`、*任意*、デフォルト値は 4) : 作成するグループの数。現時点では、このパラメータはモデルに影響せず、内部の計算や推定にのみ使用されます。

input_channels (`int`、*任意*、デフォルトは`3`) : 入力チャネル数。

num_blocks_per_group (`int`、*任意*、デフォルトは 2) : グループあたりの conv ベースのブロック数。

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

vocab_size (`int`、*任意*、デフォルトは`8192`) : モデルの語彙サイズ。`input_ids`で表現できるトークンの種類数を定義します。

freeze (`bool`、デフォルトは`True`) : モデルの重みをフリーズするかどうか。

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

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

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

例:

```python
>>> from transformers import FlavaImageCodebookConfig, FlavaImageCodebook

>>> # Initializing a FlavaImageCodebook with style configuration
>>> configuration = FlavaImageCodebookConfig()

>>> # Initializing a FlavaImageCodebook model (with random weights) from the style configuration
>>> model = FlavaImageCodebook(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
```

## FlavaProcessor[[transformers.FlavaProcessor]]

#### transformers.FlavaProcessor[[transformers.FlavaProcessor]]

```python
transformers.FlavaProcessor(image_processor = None, tokenizer = None, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/processing_flava.py#L23)

**パラメータ:**

image_processor (`FlavaImageProcessor`) : 画像プロセッサは必須の入力です。

tokenizer (`BertTokenizer`) : トークナイザーは必須の入力です。

画像プロセッサとトークナイザーを単一のプロセッサにラップするFlavaProcessorを構築します。

[FlavaProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaProcessor) は、[FlavaImageProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageProcessor) と [BertTokenizer](/docs/transformers/main/ja/model_doc/lxmert#transformers.BertTokenizer) のすべての機能を提供します。詳細については、[~FlavaImageProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageProcessor) および [~BertTokenizer](/docs/transformers/main/ja/model_doc/lxmert#transformers.BertTokenizer) を参照してください。

#### __call__[[transformers.FlavaProcessor.__call__]]

```python
__call__(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None, text: str | list[str] | list[list[str]] | None = None, videos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = None, audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None, **kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L657)

**パラメータ:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`, *任意*) : 前処理を行う画像。ピクセル値が 0 から 255 の範囲にある単一の画像またはバッチの画像を想定しています。ピクセル値が 0 から 1 の範囲にある画像を渡す場合は、`do_rescale=False` を設定してください。

text (`Union[str, list[str], list[list[str]]]`、*任意*) : エンコード対象のシーケンスまたはシーケンスのバッチです。各シーケンスは文字列、または文字列のリスト（プレトークナイズ済み文字列）であることができます。プレトークナイズ済み入力を渡す場合は、バッチ入力との曖昧さを避けるために `is_split_into_words=True` を設定してください。

videos (`Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]]`, *任意*) : 前処理対象の動画。ピクセル値が 0 から 255 の範囲にある単一の動画またはバッチを想定しています。ピクセル値が 0 から 1 の範囲にある動画を渡す場合は、`do_rescale=False` を設定してください。

audio (`Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]`, *任意*) : 準備対象のオーディオまたはオーディオのバッチです。各オーディオは NumPy 配列または PyTorch テンソルであることができます。NumPy 配列/PyTorch テンソルの場合、各オーディオの形状は (C, T) である必要があります。ここで C はチャネル数、T はオーディオのサンプル長を表します。

return_tensors (`str` または [TensorType](/docs/transformers/main/ja/internal/file_utils#transformers.TensorType)、*optional*) : 設定されている場合、特定のフレームワークのテンソルを返します。受け入れ可能な値は以下の通りです:  - `'pt'`: PyTorch の `torch.Tensor` オブジェクトを返します。 - `'np'`: NumPy の `np.ndarray` オブジェクトを返します。

- ****kwargs** ([ProcessingKwargs](/docs/transformers/main/ja/main_classes/processors#transformers.ProcessingKwargs), *optional*) : 各モダリティ（テキスト、画像、動画、音声）の追加処理オプション。モデル固有のパラメータは上記にリストされています。サポートされている引数の完全なリストについては、TypedDict クラスを参照してください。

## FlavaImageProcessor[[transformers.FlavaImageProcessor]]

#### transformers.FlavaImageProcessor[[transformers.FlavaImageProcessor]]

```python
transformers.FlavaImageProcessor(**kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/image_processing_flava.py#L213)

**パラメータ:**

do_convert_rgb (`bool`, *kwargs*, *optional*) : 画像を RGB に変換するかどうか。

do_resize (`bool`, *kwargs*, *任意*, デフォルトは `True`) : 画像をリサイズするかどうか。

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*、デフォルト値は `{'height' : 224, 'width': 224}`): モデルへの最大入力サイズを記述します。

default_to_square (`bool`, *kwargs*, *任意*、デフォルトは `True`) : size が整数の場合、リサイズ時に正方形の画像をデフォルトとするかどうか。

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*、デフォルト値は `{'height' : 224, 'width': 224}`): `center_crop` を適用した後の出力画像のサイズ。

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*、デフォルトは `3`) : 画像をリサイズする場合に使用するリサンプリングフィルター。`PILImageResampling` の列挙型のいずれかになります。`do_resize` が `True` に設定されている場合のみ有効です。

do_rescale (`bool`, *kwargs*, *optional*, デフォルトは `True`) : 画像をリスケールするかどうか。

rescale_factor (`float`, *kwargs*, *optional*, デフォルトは `0.00392156862745098`) : `do_rescale` が `True` に設定されている場合、画像をリスケールするための係数。

do_normalize (`bool`, *kwargs*, *optional*, デフォルトは `True`) : 画像を正規化するかどうかを指定します。

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *optional*, デフォルトは `[0.48145466, 0.4578275, 0.40821073]`) : 正規化に使用する画像の平均値。`do_normalize` が `True` に設定されている場合のみ有効です。

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *optional*, デフォルトは `[0.26862954, 0.26130258, 0.27577711]`) : 正規化に使用する画像の標準偏差。`do_normalize` が `True` に設定されている場合のみ有効です。

do_pad (`bool`, *kwargs*, *任意*) : 画像にパディングを適用するかどうか。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。正確なパディング戦略はモデルによって異なります。

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : 画像をパディングするサイズを`{"height": int, "width" int}`で指定します。前処理に提供されたすべての画像サイズより大きい必要があります。`pad_size`が指定されない場合、バッチ内の最大の幅と高さにパディングされます。`do_pad=True.`の場合にのみ適用されます。

do_center_crop (`bool`, *kwargs*, *optional*, デフォルトは `True`) : 画像を中央クロップするかどうか。

data_format (`Union[str, ~image_utils.ChannelDimension]`、*kwargs*、*optional*) : 対応するのは `ChannelDimension.FIRST` のみです。slow processors との互換性のために追加されました。

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *任意*) : 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推論されます。以下のいずれかになります: - `"channels_first"` または `ChannelDimension.FIRST`: (num_channels, height, width) 形式の画像。 - `"channels_last"` または `ChannelDimension.LAST`: (height, width, num_channels) 形式の画像。 - `"none"` または `ChannelDimension.NONE`: (height, width) 形式の画像。

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : `'pt'`に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。

disable_grouping (`bool`, *kwargs*, *optional*) : 画像をサイズごとにグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうかを指定します。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている実証的な観察に基づいています。

image_seq_length (`int`, *kwargs*, *任意*) : 入力内の各画像に使用される画像トークンの数です。後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。

return_image_mask (`bool`, *kwargs*, *任意*、デフォルトは `False`) : 画像マスクを返すかどうか。`preprocess` の `return_image_mask` パラメータで上書きできます。

input_size_patches (`int`, *kwargs*, *optional*, デフォルトは `14`) : 画像の高さと幅の方向におけるパッチの数。14x14 = 合計 196 パッチ。`preprocess` の `input_size_patches` パラメータによって上書きできます。

total_mask_patches (`int`, *kwargs*, *optional*, デフォルトは `75`) : マスクすべきパッチの総数です。`preprocess` の `total_mask_patches` パラメータによって上書きできます。

mask_group_min_patches (`int`, *kwargs*, *optional*, デフォルトは `16`) : マスクされるべきパッチの最小数。`preprocess` の `mask_group_min_patches` パラメータによって上書きできます。

mask_group_max_patches (`int`, *kwargs*, *任意*) : マスクすべきパッチの最大数。`preprocess` の `mask_group_max_patches` パラメータによって上書きできます。

mask_group_min_aspect_ratio (`float`, *kwargs*, *optional*, デフォルトは `0.3`) : マスクウィンドウの最小アスペクト比。`preprocess` の `mask_group_min_aspect_ratio` パラメータによって上書きできます。

mask_group_max_aspect_ratio (`float`, *kwargs*, *任意*) : マスクウィンドウの最大アスペクト比。`preprocess` の `mask_group_max_aspect_ratio` パラメータによって上書きできます。

return_codebook_pixels (`bool`, *kwargs*, *任意*, デフォルトは `False`) : コードブックのピクセル値を返すかどうか。

codebook_do_resize (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 用の入力を特定のサイズにリサイズするかどうか。`preprocess` の `codebook_do_resize` パラメータで上書きできます。`codebook_size`。

codebook_size (`dict[str, *kwargs*, int]`、*任意*、デフォルトは `{"height" : 224, "width": 224}`): codebook 用の入力を指定されたサイズにリサイズします。`preprocess` の `codebook_size` パラメータによって上書きできます。

codebook_resample (`PILImageResampling`、*kwargs*、*任意*、デフォルトは `PILImageResampling.LANCZOS`) : コードブック画像のリサイズ時に使用するリサンプリングフィルタです。torchvision < 0.27 では、torch Tensor に対して LANCZOS はサポートされておらず、最も近い代替手段として BICUBIC が使用されます。`preprocess` の `codebook_resample` パラメータで上書きできます。

codebook_do_center_crop (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 用にインプットを中央でクロップするかどうか。任意の辺においてインプットサイズが `codebook_crop_size` より小さい場合、画像は 0 でパディングされた後に中央クロップされます。`preprocess` の `codebook_do_center_crop` パラメータによって上書きできます。

codebook_crop_size (`dict[str, *kwargs*, int]`、*任意*、デフォルトは `{"height" : 224, "width": 224}`): センタークロッピングを適用する際の、codebook 入力に対する希望する出力サイズ。`preprocess` の `codebook_crop_size` パラメータによって上書きできます。

codebook_do_rescale (`bool`, *kwargs*, *optional*, デフォルトは `True`) : 指定されたスケール `codebook_rescale_factor` によって codebook に対する入力をリスケールするかどうか。`preprocess` の `codebook_do_rescale` パラメータによって上書きできます。

codebook_rescale_factor (`int`、*kwargs*または`float`、*optional*、デフォルトは`1/255`) : コードブック画像をリスケールする場合に使用するスケール係数を定義します。`preprocess`の`codebook_rescale_factor`パラメータによって上書きできます。

codebook_do_map_pixels (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 入力のピクセル値を (1 - 2e)x + e にマッピングするかどうか。`preprocess` の `codebook_do_map_pixels` パラメータで上書きできます。

codebook_do_normalize (`bool`, *kwargs*, *optional*, デフォルトは `True`) : `codebook_image_mean` と `codebook_image_std` を用いて codebook への入力を正規化するか否かを指定します。`preprocess` の `codebook_do_normalize` パラメータによって上書きできます。

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`、*任意*、デフォルトは `[0, 0, 0]`) : codebook 用の画像正規化時に各チャネルで使用する平均値のシーケンス。`preprocess` の `codebook_image_mean` パラメータによって上書きできます。

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`、*任意*、デフォルトは `[0.5, 0.5, 0.5]`) : codebook 用の画像正規化に使用する、各チャネルの標準偏差のシーケンス。`preprocess` の `codebook_image_std` パラメータによって上書きできます。

FlavaImageProcessor画像プロセッサを構築します。

#### preprocess[[transformers.FlavaImageProcessor.preprocess]]

```python
preprocess(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']], **kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/image_processing_flava.py#L250)

**パラメータ:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : 前処理対象の画像。ピクセル値が 0 から 255 の範囲にある単一の画像またはバッチの画像を想定しています。ピクセル値が 0 から 1 の範囲にある画像を渡す場合は、`do_rescale=False` を設定してください。

do_convert_rgb (`bool`, *kwargs*, *optional*) : 画像を RGB に変換するかどうか。

do_resize (`bool`, *kwargs*, *optional*) : 画像をリサイズするかどうか。

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : モデルへの最大入力次元を記述します。

default_to_square (`bool`, *kwargs*, *optional*) : size が int の場合、リサイズ時に正方形の画像をデフォルトとするかどうか。

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : `center_crop` を適用した後の出力画像のサイズ。

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : 画像をリサイズする場合に使用するリサンプリングフィルタ。`PILImageResampling` の列挙型のいずれかです。`do_resize` が `True` に設定されている場合のみ有効です。

do_rescale (`bool`, *kwargs*, *任意*) : 画像をリスケールするかどうか。

rescale_factor (`float`, *kwargs*, *optional*) : `do_rescale` が `True` に設定されている場合、画像をリサイズするためのリスケール係数。

do_normalize (`bool`, *kwargs*, *optional*) : 画像を正規化するかどうかを指定します。

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *optional*) : 正規化に使用する画像の平均値。`do_normalize` が `True` に設定されている場合のみ有効です。

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *optional*) : 正規化に使用する画像の標準偏差。`do_normalize` が `True` に設定されている場合のみ有効です。

do_pad (`bool`, *kwargs*, *任意*) : 画像にパディングを適用するかどうか。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。正確なパディング戦略はモデルによって異なります。

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : 画像をパディングするサイズを`{"height": int, "width" int}`で指定します。前処理に提供されたすべての画像サイズより大きい必要があります。`pad_size`が指定されない場合、バッチ内の最大の幅と高さにパディングされます。`do_pad=True.`の場合にのみ適用されます。

do_center_crop (`bool`, *kwargs*, *optional*) : 画像を中央クロップするかどうか。

data_format (`Union[str, ~image_utils.ChannelDimension]`、*kwargs*、*optional*) : 対応するのは `ChannelDimension.FIRST` のみです。slow processors との互換性のために追加されました。

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *任意*) : 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推論されます。以下のいずれかになります: - `"channels_first"` または `ChannelDimension.FIRST`: (num_channels, height, width) 形式の画像。 - `"channels_last"` または `ChannelDimension.LAST`: (height, width, num_channels) 形式の画像。 - `"none"` または `ChannelDimension.NONE`: (height, width) 形式の画像。

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : `'pt'`に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。

disable_grouping (`bool`, *kwargs*, *optional*) : 画像をサイズごとにグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうかを指定します。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている実証的な観察に基づいています。

image_seq_length (`int`, *kwargs*, *任意*) : 入力内の各画像に使用される画像トークンの数です。後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。

return_image_mask (`bool`, *kwargs*, *任意*、デフォルトは `False`) : 画像マスクを返すかどうか。`preprocess` の `return_image_mask` パラメータで上書きできます。

input_size_patches (`int`, *kwargs*, *optional*, デフォルトは `14`) : 画像の高さと幅の方向におけるパッチの数。14x14 = 合計 196 パッチ。`preprocess` の `input_size_patches` パラメータによって上書きできます。

total_mask_patches (`int`, *kwargs*, *optional*, デフォルトは `75`) : マスクすべきパッチの総数です。`preprocess` の `total_mask_patches` パラメータによって上書きできます。

mask_group_min_patches (`int`, *kwargs*, *optional*, デフォルトは `16`) : マスクされるべきパッチの最小数。`preprocess` の `mask_group_min_patches` パラメータによって上書きできます。

mask_group_max_patches (`int`, *kwargs*, *任意*) : マスクすべきパッチの最大数。`preprocess` の `mask_group_max_patches` パラメータによって上書きできます。

mask_group_min_aspect_ratio (`float`, *kwargs*, *optional*, デフォルトは `0.3`) : マスクウィンドウの最小アスペクト比。`preprocess` の `mask_group_min_aspect_ratio` パラメータによって上書きできます。

mask_group_max_aspect_ratio (`float`, *kwargs*, *任意*) : マスクウィンドウの最大アスペクト比。`preprocess` の `mask_group_max_aspect_ratio` パラメータによって上書きできます。

return_codebook_pixels (`bool`, *kwargs*, *任意*, デフォルトは `False`) : コードブックのピクセル値を返すかどうか。

codebook_do_resize (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 用の入力を特定のサイズにリサイズするかどうか。`preprocess` の `codebook_do_resize` パラメータで上書きできます。`codebook_size`。

codebook_size (`dict[str, *kwargs*, int]`、*任意*、デフォルトは `{"height" : 224, "width": 224}`): codebook 用の入力を指定されたサイズにリサイズします。`preprocess` の `codebook_size` パラメータによって上書きできます。

codebook_resample (`PILImageResampling`、*kwargs*、*任意*、デフォルトは `PILImageResampling.LANCZOS`) : コードブック画像のリサイズ時に使用するリサンプリングフィルタです。torchvision < 0.27 では、torch Tensor に対して LANCZOS はサポートされておらず、最も近い代替手段として BICUBIC が使用されます。`preprocess` の `codebook_resample` パラメータで上書きできます。

codebook_do_center_crop (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 用にインプットを中央でクロップするかどうか。任意の辺においてインプットサイズが `codebook_crop_size` より小さい場合、画像は 0 でパディングされた後に中央クロップされます。`preprocess` の `codebook_do_center_crop` パラメータによって上書きできます。

codebook_crop_size (`dict[str, *kwargs*, int]`、*任意*、デフォルトは `{"height" : 224, "width": 224}`): センタークロッピングを適用する際の、codebook 入力に対する希望する出力サイズ。`preprocess` の `codebook_crop_size` パラメータによって上書きできます。

codebook_do_rescale (`bool`, *kwargs*, *optional*, デフォルトは `True`) : 指定されたスケール `codebook_rescale_factor` によって codebook に対する入力をリスケールするかどうか。`preprocess` の `codebook_do_rescale` パラメータによって上書きできます。

codebook_rescale_factor (`int`、*kwargs*または`float`、*optional*、デフォルトは`1/255`) : コードブック画像をリスケールする場合に使用するスケール係数を定義します。`preprocess`の`codebook_rescale_factor`パラメータによって上書きできます。

codebook_do_map_pixels (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 入力のピクセル値を (1 - 2e)x + e にマッピングするかどうか。`preprocess` の `codebook_do_map_pixels` パラメータで上書きできます。

codebook_do_normalize (`bool`, *kwargs*, *optional*, デフォルトは `True`) : `codebook_image_mean` と `codebook_image_std` を用いて codebook への入力を正規化するか否かを指定します。`preprocess` の `codebook_do_normalize` パラメータによって上書きできます。

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`、*任意*、デフォルトは `[0, 0, 0]`) : codebook 用の画像正規化時に各チャネルで使用する平均値のシーケンス。`preprocess` の `codebook_image_mean` パラメータによって上書きできます。

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`、*任意*、デフォルトは `[0.5, 0.5, 0.5]`) : codebook 用の画像正規化に使用する、各チャネルの標準偏差のシーケンス。`preprocess` の `codebook_image_std` パラメータによって上書きできます。

**戻り値:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- __call__ メソッドによって返されるリスト/配列/テンソルの辞書（'pixel_values' など）。
- **tensor_type** (`Union[None, str, TensorType]`、*省略可*) -- 初期化時に PyTorch/Numpy の Tensor 内の整数リストを変換するために、ここで tensor_type を指定できます。

## FlavaImageProcessorPil[[transformers.FlavaImageProcessorPil]]

#### transformers.FlavaImageProcessorPil[[transformers.FlavaImageProcessorPil]]

```python
transformers.FlavaImageProcessorPil(**kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/image_processing_pil_flava.py#L227)

**パラメータ:**

do_convert_rgb (`bool`, *kwargs*, *optional*) : 画像を RGB に変換するかどうか。

do_resize (`bool`, *kwargs*, *任意*, デフォルトは `True`) : 画像をリサイズするかどうか。

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*、デフォルト値は `{'height' : 224, 'width': 224}`): モデルへの最大入力サイズを記述します。

default_to_square (`bool`, *kwargs*, *任意*、デフォルトは `True`) : size が整数の場合、リサイズ時に正方形の画像をデフォルトとするかどうか。

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*、デフォルト値は `{'height' : 224, 'width': 224}`): `center_crop` を適用した後の出力画像のサイズ。

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*、デフォルトは `3`) : 画像をリサイズする場合に使用するリサンプリングフィルター。`PILImageResampling` の列挙型のいずれかになります。`do_resize` が `True` に設定されている場合のみ有効です。

do_rescale (`bool`, *kwargs*, *optional*, デフォルトは `True`) : 画像をリスケールするかどうか。

rescale_factor (`float`, *kwargs*, *optional*, デフォルトは `0.00392156862745098`) : `do_rescale` が `True` に設定されている場合、画像をリスケールするための係数。

do_normalize (`bool`, *kwargs*, *optional*, デフォルトは `True`) : 画像を正規化するかどうかを指定します。

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *optional*, デフォルトは `[0.48145466, 0.4578275, 0.40821073]`) : 正規化に使用する画像の平均値。`do_normalize` が `True` に設定されている場合のみ有効です。

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *optional*, デフォルトは `[0.26862954, 0.26130258, 0.27577711]`) : 正規化に使用する画像の標準偏差。`do_normalize` が `True` に設定されている場合のみ有効です。

do_pad (`bool`, *kwargs*, *任意*) : 画像にパディングを適用するかどうか。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。正確なパディング戦略はモデルによって異なります。

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : 画像をパディングするサイズを`{"height": int, "width" int}`で指定します。前処理に提供されたすべての画像サイズより大きい必要があります。`pad_size`が指定されない場合、バッチ内の最大の幅と高さにパディングされます。`do_pad=True.`の場合にのみ適用されます。

do_center_crop (`bool`, *kwargs*, *optional*, デフォルトは `True`) : 画像を中央クロップするかどうか。

data_format (`Union[str, ~image_utils.ChannelDimension]`、*kwargs*、*optional*) : 対応するのは `ChannelDimension.FIRST` のみです。slow processors との互換性のために追加されました。

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *任意*) : 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推論されます。以下のいずれかになります: - `"channels_first"` または `ChannelDimension.FIRST`: (num_channels, height, width) 形式の画像。 - `"channels_last"` または `ChannelDimension.LAST`: (height, width, num_channels) 形式の画像。 - `"none"` または `ChannelDimension.NONE`: (height, width) 形式の画像。

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : `'pt'`に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。

disable_grouping (`bool`, *kwargs*, *optional*) : 画像をサイズごとにグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうかを指定します。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている実証的な観察に基づいています。

image_seq_length (`int`, *kwargs*, *任意*) : 入力内の各画像に使用される画像トークンの数です。後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。

return_image_mask (`bool`, *kwargs*, *任意*、デフォルトは `False`) : 画像マスクを返すかどうか。`preprocess` の `return_image_mask` パラメータで上書きできます。

input_size_patches (`int`, *kwargs*, *optional*, デフォルトは `14`) : 画像の高さと幅の方向におけるパッチの数。14x14 = 合計 196 パッチ。`preprocess` の `input_size_patches` パラメータによって上書きできます。

total_mask_patches (`int`, *kwargs*, *optional*, デフォルトは `75`) : マスクすべきパッチの総数です。`preprocess` の `total_mask_patches` パラメータによって上書きできます。

mask_group_min_patches (`int`, *kwargs*, *optional*, デフォルトは `16`) : マスクされるべきパッチの最小数。`preprocess` の `mask_group_min_patches` パラメータによって上書きできます。

mask_group_max_patches (`int`, *kwargs*, *任意*) : マスクすべきパッチの最大数。`preprocess` の `mask_group_max_patches` パラメータによって上書きできます。

mask_group_min_aspect_ratio (`float`, *kwargs*, *optional*, デフォルトは `0.3`) : マスクウィンドウの最小アスペクト比。`preprocess` の `mask_group_min_aspect_ratio` パラメータによって上書きできます。

mask_group_max_aspect_ratio (`float`, *kwargs*, *任意*) : マスクウィンドウの最大アスペクト比。`preprocess` の `mask_group_max_aspect_ratio` パラメータによって上書きできます。

return_codebook_pixels (`bool`, *kwargs*, *任意*, デフォルトは `False`) : コードブックのピクセル値を返すかどうか。

codebook_do_resize (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 用の入力を特定のサイズにリサイズするかどうか。`preprocess` の `codebook_do_resize` パラメータで上書きできます。`codebook_size`。

codebook_size (`dict[str, *kwargs*, int]`、*任意*、デフォルトは `{"height" : 224, "width": 224}`): codebook 用の入力を指定されたサイズにリサイズします。`preprocess` の `codebook_size` パラメータによって上書きできます。

codebook_resample (`PILImageResampling`、*kwargs*、*任意*、デフォルトは `PILImageResampling.LANCZOS`) : コードブック画像のリサイズ時に使用するリサンプリングフィルタです。torchvision < 0.27 では、torch Tensor に対して LANCZOS はサポートされておらず、最も近い代替手段として BICUBIC が使用されます。`preprocess` の `codebook_resample` パラメータで上書きできます。

codebook_do_center_crop (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 用にインプットを中央でクロップするかどうか。任意の辺においてインプットサイズが `codebook_crop_size` より小さい場合、画像は 0 でパディングされた後に中央クロップされます。`preprocess` の `codebook_do_center_crop` パラメータによって上書きできます。

codebook_crop_size (`dict[str, *kwargs*, int]`、*任意*、デフォルトは `{"height" : 224, "width": 224}`): センタークロッピングを適用する際の、codebook 入力に対する希望する出力サイズ。`preprocess` の `codebook_crop_size` パラメータによって上書きできます。

codebook_do_rescale (`bool`, *kwargs*, *optional*, デフォルトは `True`) : 指定されたスケール `codebook_rescale_factor` によって codebook に対する入力をリスケールするかどうか。`preprocess` の `codebook_do_rescale` パラメータによって上書きできます。

codebook_rescale_factor (`int`、*kwargs*または`float`、*optional*、デフォルトは`1/255`) : コードブック画像をリスケールする場合に使用するスケール係数を定義します。`preprocess`の`codebook_rescale_factor`パラメータによって上書きできます。

codebook_do_map_pixels (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 入力のピクセル値を (1 - 2e)x + e にマッピングするかどうか。`preprocess` の `codebook_do_map_pixels` パラメータで上書きできます。

codebook_do_normalize (`bool`, *kwargs*, *optional*, デフォルトは `True`) : `codebook_image_mean` と `codebook_image_std` を用いて codebook への入力を正規化するか否かを指定します。`preprocess` の `codebook_do_normalize` パラメータによって上書きできます。

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`、*任意*、デフォルトは `[0, 0, 0]`) : codebook 用の画像正規化時に各チャネルで使用する平均値のシーケンス。`preprocess` の `codebook_image_mean` パラメータによって上書きできます。

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`、*任意*、デフォルトは `[0.5, 0.5, 0.5]`) : codebook 用の画像正規化に使用する、各チャネルの標準偏差のシーケンス。`preprocess` の `codebook_image_std` パラメータによって上書きできます。

FlavaImageProcessor画像プロセッサを構築します。

#### preprocess[[transformers.FlavaImageProcessorPil.preprocess]]

```python
preprocess(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']], **kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/image_processing_pil_flava.py#L264)

**パラメータ:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : 前処理対象の画像。ピクセル値が 0 から 255 の範囲にある単一の画像またはバッチの画像を想定しています。ピクセル値が 0 から 1 の範囲にある画像を渡す場合は、`do_rescale=False` を設定してください。

do_convert_rgb (`bool`, *kwargs*, *optional*) : 画像を RGB に変換するかどうか。

do_resize (`bool`, *kwargs*, *optional*) : 画像をリサイズするかどうか。

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : モデルへの最大入力次元を記述します。

default_to_square (`bool`, *kwargs*, *optional*) : size が int の場合、リサイズ時に正方形の画像をデフォルトとするかどうか。

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : `center_crop` を適用した後の出力画像のサイズ。

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : 画像をリサイズする場合に使用するリサンプリングフィルタ。`PILImageResampling` の列挙型のいずれかです。`do_resize` が `True` に設定されている場合のみ有効です。

do_rescale (`bool`, *kwargs*, *任意*) : 画像をリスケールするかどうか。

rescale_factor (`float`, *kwargs*, *optional*) : `do_rescale` が `True` に設定されている場合、画像をリサイズするためのリスケール係数。

do_normalize (`bool`, *kwargs*, *optional*) : 画像を正規化するかどうかを指定します。

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *optional*) : 正規化に使用する画像の平均値。`do_normalize` が `True` に設定されている場合のみ有効です。

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *optional*) : 正規化に使用する画像の標準偏差。`do_normalize` が `True` に設定されている場合のみ有効です。

do_pad (`bool`, *kwargs*, *任意*) : 画像にパディングを適用するかどうか。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。正確なパディング戦略はモデルによって異なります。

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : 画像をパディングするサイズを`{"height": int, "width" int}`で指定します。前処理に提供されたすべての画像サイズより大きい必要があります。`pad_size`が指定されない場合、バッチ内の最大の幅と高さにパディングされます。`do_pad=True.`の場合にのみ適用されます。

do_center_crop (`bool`, *kwargs*, *optional*) : 画像を中央クロップするかどうか。

data_format (`Union[str, ~image_utils.ChannelDimension]`、*kwargs*、*optional*) : 対応するのは `ChannelDimension.FIRST` のみです。slow processors との互換性のために追加されました。

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *任意*) : 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推論されます。以下のいずれかになります: - `"channels_first"` または `ChannelDimension.FIRST`: (num_channels, height, width) 形式の画像。 - `"channels_last"` または `ChannelDimension.LAST`: (height, width, num_channels) 形式の画像。 - `"none"` または `ChannelDimension.NONE`: (height, width) 形式の画像。

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : `'pt'`に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。

disable_grouping (`bool`, *kwargs*, *optional*) : 画像をサイズごとにグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうかを指定します。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている実証的な観察に基づいています。

image_seq_length (`int`, *kwargs*, *任意*) : 入力内の各画像に使用される画像トークンの数です。後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。

return_image_mask (`bool`, *kwargs*, *任意*、デフォルトは `False`) : 画像マスクを返すかどうか。`preprocess` の `return_image_mask` パラメータで上書きできます。

input_size_patches (`int`, *kwargs*, *optional*, デフォルトは `14`) : 画像の高さと幅の方向におけるパッチの数。14x14 = 合計 196 パッチ。`preprocess` の `input_size_patches` パラメータによって上書きできます。

total_mask_patches (`int`, *kwargs*, *optional*, デフォルトは `75`) : マスクすべきパッチの総数です。`preprocess` の `total_mask_patches` パラメータによって上書きできます。

mask_group_min_patches (`int`, *kwargs*, *optional*, デフォルトは `16`) : マスクされるべきパッチの最小数。`preprocess` の `mask_group_min_patches` パラメータによって上書きできます。

mask_group_max_patches (`int`, *kwargs*, *任意*) : マスクすべきパッチの最大数。`preprocess` の `mask_group_max_patches` パラメータによって上書きできます。

mask_group_min_aspect_ratio (`float`, *kwargs*, *optional*, デフォルトは `0.3`) : マスクウィンドウの最小アスペクト比。`preprocess` の `mask_group_min_aspect_ratio` パラメータによって上書きできます。

mask_group_max_aspect_ratio (`float`, *kwargs*, *任意*) : マスクウィンドウの最大アスペクト比。`preprocess` の `mask_group_max_aspect_ratio` パラメータによって上書きできます。

return_codebook_pixels (`bool`, *kwargs*, *任意*, デフォルトは `False`) : コードブックのピクセル値を返すかどうか。

codebook_do_resize (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 用の入力を特定のサイズにリサイズするかどうか。`preprocess` の `codebook_do_resize` パラメータで上書きできます。`codebook_size`。

codebook_size (`dict[str, *kwargs*, int]`、*任意*、デフォルトは `{"height" : 224, "width": 224}`): codebook 用の入力を指定されたサイズにリサイズします。`preprocess` の `codebook_size` パラメータによって上書きできます。

codebook_resample (`PILImageResampling`、*kwargs*、*任意*、デフォルトは `PILImageResampling.LANCZOS`) : コードブック画像のリサイズ時に使用するリサンプリングフィルタです。torchvision < 0.27 では、torch Tensor に対して LANCZOS はサポートされておらず、最も近い代替手段として BICUBIC が使用されます。`preprocess` の `codebook_resample` パラメータで上書きできます。

codebook_do_center_crop (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 用にインプットを中央でクロップするかどうか。任意の辺においてインプットサイズが `codebook_crop_size` より小さい場合、画像は 0 でパディングされた後に中央クロップされます。`preprocess` の `codebook_do_center_crop` パラメータによって上書きできます。

codebook_crop_size (`dict[str, *kwargs*, int]`、*任意*、デフォルトは `{"height" : 224, "width": 224}`): センタークロッピングを適用する際の、codebook 入力に対する希望する出力サイズ。`preprocess` の `codebook_crop_size` パラメータによって上書きできます。

codebook_do_rescale (`bool`, *kwargs*, *optional*, デフォルトは `True`) : 指定されたスケール `codebook_rescale_factor` によって codebook に対する入力をリスケールするかどうか。`preprocess` の `codebook_do_rescale` パラメータによって上書きできます。

codebook_rescale_factor (`int`、*kwargs*または`float`、*optional*、デフォルトは`1/255`) : コードブック画像をリスケールする場合に使用するスケール係数を定義します。`preprocess`の`codebook_rescale_factor`パラメータによって上書きできます。

codebook_do_map_pixels (`bool`, *kwargs*, *optional*, デフォルトは `True`) : codebook 入力のピクセル値を (1 - 2e)x + e にマッピングするかどうか。`preprocess` の `codebook_do_map_pixels` パラメータで上書きできます。

codebook_do_normalize (`bool`, *kwargs*, *optional*, デフォルトは `True`) : `codebook_image_mean` と `codebook_image_std` を用いて codebook への入力を正規化するか否かを指定します。`preprocess` の `codebook_do_normalize` パラメータによって上書きできます。

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`、*任意*、デフォルトは `[0, 0, 0]`) : codebook 用の画像正規化時に各チャネルで使用する平均値のシーケンス。`preprocess` の `codebook_image_mean` パラメータによって上書きできます。

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`、*任意*、デフォルトは `[0.5, 0.5, 0.5]`) : codebook 用の画像正規化に使用する、各チャネルの標準偏差のシーケンス。`preprocess` の `codebook_image_std` パラメータによって上書きできます。

**戻り値:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- __call__ メソッドによって返されるリスト/配列/テンソルの辞書（'pixel_values' など）。
- **tensor_type** (`Union[None, str, TensorType]`、*省略可*) -- 初期化時に PyTorch/Numpy の Tensor 内の整数リストを変換するために、ここで tensor_type を指定できます。

## FlavaForPreTraining[[transformers.FlavaForPreTraining]]

#### transformers.FlavaForPreTraining[[transformers.FlavaForPreTraining]]

```python
transformers.FlavaForPreTraining(config: FlavaConfig, image_codebook: typing.Optional[torch.nn.Module] = None)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1502)

**パラメータ:**

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

image_codebook (`torch.nn.Module`、*任意*) : 指定された場合、画像コードブックはこれに設定されます。指定されない場合、config で定義されている image_codebook_config を最初の引数として使用して初期化されます。

損失、埋め込み、logits、transformerの出力を出力する事前学習用のFLAVAモデル。

このモデルは [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.FlavaForPreTraining.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, input_ids_masked: typing.Optional[torch.LongTensor] = None, pixel_values: typing.Optional[torch.FloatTensor] = None, codebook_pixel_values: typing.Optional[torch.FloatTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.Tensor] = None, bool_masked_pos: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, image_attention_mask: typing.Optional[torch.Tensor] = None, skip_unmasked_multimodal_encoder: bool | None = None, mlm_labels: typing.Optional[torch.Tensor] = None, mim_labels: typing.Optional[torch.Tensor] = None, itm_labels: typing.Optional[torch.Tensor] = None, output_attentions: bool | None = None, output_hidden_states: bool = True, return_dict: bool | None = None, return_loss: bool | None = None, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1551)

**パラメータ:**

input_ids (`torch.LongTensor`、shape `(batch_size, text_seq_len)`) : 入力シーケンスのトークンが語彙内で持つインデックスです。インデックスは [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)

input_ids_masked (`torch.LongTensor`、shape `(batch_size, text_seq_len)`) : 語彙における入力シーケンスのトークンインデックス。これらは、MLMで使用するためにマスクされた元のタスクのバージョンです。インデックスは、[AutoTokenizer](/docs/transformers/main/ja/model_doc/auto#transformers.AutoTokenizer)と`DataCollatorForMaskedLanguageModeling`を併用して取得できます。詳細については、[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 (`torch.FloatTensor`、shape `(batch_size, num_channels, image_size, image_size)`、*任意*) : 入力画像に対応するテンソルです。ピクセル値は [FlavaImageProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageProcessor) を使用して取得できます。詳細は [FlavaImageProcessor.__call__()](/docs/transformers/main/ja/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) を参照してください（[FlavaProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaProcessor) は画像の処理に [FlavaImageProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageProcessor) を使用します）。

codebook_pixel_values (`torch.FloatTensor`、shape `(batch_size, num_image_patches, patch_size, patch_size, 3)`、*optional*) : マスクドイメージモデリングにおいて、イメージコードブックラベルを計算するために使用される、イメージパッチのピクセル値。

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

token_type_ids (`torch.LongTensor`、shape `(batch_size, text_seq_len)`、*任意*) : 入力の前半と後半を示すためのセグメントトークンインデックス。インデックスは`[0, 1]`から選択されます: - 0 は*文 A*のトークンに対応します。 - 1 は*文 B*のトークンに対応します。 [トークンタイプIDとは何ですか?](../glossary#token-type-ids)

bool_masked_pos (`torch.BoolTensor`、shape `(batch_size, image_num_patches)`) : ブール型のマスク位置。どのパッチがマスクされているか（1）、されていないか（0）を示します。

position_ids (`torch.LongTensor`、shape `(batch_size, sequence_length)`、*任意*) : 各入力シーケンスのトークンが位置埋め込み内で占める位置のインデックスです。`[0, config.n_positions - 1]` の範囲から選択されます。 [位置 ID とは何か？](../glossary#position-ids)

image_attention_mask (`torch.FloatTensor`、形状 `(batch_size, image_num_patches)`、*任意*) : 画像の padding トークンインデックスに対して注意を適用しないためのマスク。`[0, 1]` から選択されるマスクの値: - **マスクされない**トークンは 1、- **マスクされる**トークンは 0。[アテンションマスクとは?](../glossary#attention-mask)

skip_unmasked_multimodal_encoder (`*bool*`、*任意*) : マスクされていない入力に対するマルチモーダルエンコーダーの計算をスキップします。FLAVAの事前学習では、現時点ではマスクされていないマルチモーダル埋め込みや出力は必要ありません。

mlm_labels (`torch.LongTensor`、shape `(batch_size, text_seq_len)`、*任意*) : 左から右への言語およびマルチモーダルマスクドモデリング損失（次の単語予測）を計算するためのラベル。インデックスは `[-100, 0, ..., text_config.vocab_size - 1]` の範囲である必要があります（`input_ids` のドキュメント文字列を参照）。インデックスが `-100` に設定されたトークンは無視（マスク）され、損失はラベルが `[0, ..., text_config.vocab_size - 1]` の範囲にあるトークンに対してのみ計算されます。

mim_labels (`torch.LongTensor`、shape `(batch_size, image_num_patches)`、*任意*) : 画像およびマルチモーダルマスクモデリング損失を計算するためのラベル。インデックスは `[-100, 0, ..., image_config.vocab_size - 1]` の範囲である必要があります。インデックスが `-100` に設定されたトークンは無視（マスク）され、損失は `[0, ..., image_config.vocab_size - 1]` のラベルを持つトークンに対してのみ計算されます。指定されない場合、モデルに割り当てられた画像コードブックを使用して自動的に生成されます。デフォルトでは [FlavaImageCodebook](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageCodebook) が使用されます。mim_labels の生成方法については [FlavaImageCodebook](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageCodebook) を参照してください。

itm_labels (`torch.LongTensor`、shape `(batch_size, 1)`、*optional*) : 画像とテキストのマッチング損失を計算するためのラベル。0 はペアが一致しないことを、1 は一致することを示します。0 のペアは、MMM およびグローバル対比損失の計算でもスキップされます。

output_attentions (`bool`, *任意*) : すべてのアテンション層のアテンションテンソルを返すかどうか。詳細は、返されるテンソルの `attentions` を参照してください。

output_hidden_states (`bool`, *任意*, デフォルトは `True`) : 全レイヤーの隠れ状態を返すかどうかを指定します。詳細は、返されるテンソルの `hidden_states` を参照してください。

return_dict (`bool`, *任意*) : プレーンなタプルではなく [ModelOutput](/docs/transformers/main/ja/main_classes/output#transformers.utils.ModelOutput) を返すかどうか。

return_loss (`bool`、*任意*、デフォルトは None) : 計算された loss を返すかどうか。

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

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

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

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

- **loss** (`torch.FloatTensor`、*optional*、`return_loss` が True の場合返されます) -- このモデルに対して計算された総損失。
- **loss_info** (`~models.flava.modeling_flava.FlavaLosses`、*任意*) -- FLAVA Pretraining の損失に関する詳細情報。キーに関する情報は `FlavaLosses` クラスの説明を参照してください。
- **image_embeddings** (`torch.FloatTensor`、shape `(batch_size, output_dim)`、*optional*、`pixel_values` が存在する場合に返されます) -- [FlavaImageModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageModel) のプーリング出力に相当する画像埋め込みです。
- **image_output** (`BaseModelOutputWithPooling`、*任意*、`pixel_values` が存在する場合に返されます) -- [FlavaImageModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageModel) の出力です。
- **text_embeddings** (`torch.FloatTensor`、shape `(batch_size, output_dim)`、*optional*、`input_ids` が存在する場合に返されます) -- [FlavaTextModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaTextModel) のプーリング出力に相当するテキスト埋め込みです。
- **text_output** (`BaseModelOutputWithPooling`、*任意*、`input_ids` が存在する場合に返されます) -- [FlavaTextModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaTextModel) の出力です。
- **multimodal_embeddings** (`torch.FloatTensor`、shape `(batch_size, output_dim)`、*optional*、`input_ids` と `pixel_values` が存在し、かつ `skip_unmasked_multimodal_encoder` が `None` または `False` の場合に返されます) -- [FlavaTextModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaTextModel) のプーリング出力に相当するマルチモーダル埋め込みです。
- **multimodal_output** (`BaseModelOutputWithPooling`、`input_ids` と `pixel_values` が存在し、`skip_unmasked_multimodal_encoder` が `None` または `False` の場合に返されます) -- [FlavaMultimodalModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaMultimodalModel) の出力です。
- **image_masked_embeddings** (`torch.FloatTensor`、shape `(batch_size, output_dim)`、*optional*、`pixel_values` が存在する場合に返されます) -- [FlavaImageModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageModel) のプーリング出力に相当する画像埋め込みです。`bool_masked_pos` を使用してマスクされた画像を作成します。
- **image_masked_output** (`BaseModelOutputWithPooling`、*任意*、`pixel_values` が存在する場合に返されます) -- [FlavaImageModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageModel) の出力です。`bool_masked_pos` を使用してマスクされた画像を作成します。
- **text_masked_embeddings** (`torch.FloatTensor`、shape `(batch_size, output_dim)`、*optional*、`input_ids_masked` が存在する場合に返されます) -- [FlavaTextModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaTextModel) のプーリング出力にほぼ等しいテキスト埋め込みです。
- **text_masked_output** (`BaseModelOutputWithPooling`、*任意*、`input_ids_masked` が存在する場合に返されます) -- [FlavaTextModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaTextModel) の出力です。
- **multimodal_masked_embeddings** (`torch.FloatTensor`、shape `(batch_size, output_dim)`、*optional*、`input_ids` と `pixel_values` が存在する場合に返されます) -- [FlavaTextModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaTextModel) のプーリング出力に相当するマルチモーダル埋め込みです。
- **multimodal_masked_output** (`BaseModelOutputWithPooling`、*任意*、`input_ids_masked` と `pixel_values` が存在する場合に返されます) -- [FlavaMultimodalModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaMultimodalModel) の出力です。
- **mim_logits** (`torch.FloatTensor`、shape `(batch_size, num_image_patches, image_vocab_size)` または shape `(total_masked_patches, image_vocab_size)`、*optional*、`pixel_values` が存在し `input_ids_masked` が存在しない場合に返されます) -- MIM 単一モーダル損失の logits。`bool_masked_pos` を使用してマスクされたパッチを取得します。`bool_masked_pos` で一部のパッチがマスクされている場合、フラット化された出力が返されます。
- **mlm_logits** (`torch.FloatTensor`、shape `(batch_size, text_seq_length, text_vocab_size)` または shape `(total_masked_seq_length, text_vocab_size)`、*optional*、`input_ids_masked` が存在し `pixel_values` が存在しない場合に返されます) -- MLM 単一モーダル損失の logits。`input_ids_masked` にマスクされたトークンが含まれている場合、フラット化された出力が返されます。
- **itm_logits** (`torch.FloatTensor`、shape `(batch_size, 2)`、*optional*、`input_ids_masked` と `pixel_values` が存在する場合に返されます) -- ITM ロスのための logits です。なお、FLAVA では、マスクされたペアに対して ITM ロスが計算されます。
- **contrastive_logits_per_image** (`torch.FloatTensor`、shape `(image_batch_size, text_batch_size)`) -- `image_embeddings` と `text_embeddings` 間のスケーリングされたドット積スコアですが、それぞれ FLAVA の `image_projection` と `text_projection` レイヤーを通過したものです。これは画像とテキストの類似度スコアを表します。マスクされていない画像とテキストに対して計算されます。
- **contrastive_logits_per_text** (`torch.FloatTensor`、shape `(text_batch_size, image_batch_size)`) -- `text_embeddings` と `image_embeddings` 間のスケーリングされたドット積スコアですが、それぞれ FLAVA の `text_projection` と `image_projection` レイヤーを通過したものです。これはマスクされていない画像とテキストに対して計算されます。
- **mmm_image_logits** (`torch.FloatTensor`、shape `(batch_size, num_image_patches, image_vocab_size)` または shape`(total_masked_patches, image_vocab_size)`、*optional*、`pixel_values` と `input_ids_masked` が存在する場合に返されます) -- MMM image マルチモーダル損失の logits です。`bool_masked_pos` を使用してマスクされたパッチを取得します。`bool_masked_pos` で一部のパッチがマスクされている場合、フラット化された出力が返されます。
- **mmm_text_logits**（`torch.FloatTensor`、形状 `(batch_size, text_seq_length, text_vocab_size)` または `(total_masked_seq_length, text_vocab_size)`、*任意*、`pixel_values` と `input_ids_masked` が存在する場合に返されます）-- MMM テキストマルチモーダル損失の logits です。`input_ids_masked` にマスクされたトークンが含まれている場合、フラット化された出力が返されます。

例:
```python
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import FlavaForPreTraining, AutoProcessor

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> model = FlavaForPreTraining.from_pretrained("facebook/flava-full")
>>> processor = AutoProcessor.from_pretrained("facebook/flava-full")

>>> text = ["a photo of a cat"]

>>> inputs = processor(
...     images=[image],
...     text=text,
...     return_masks=True,
...     return_codebook_pixels=True,
...     padding=True,
...     max_length=77,
...     return_tensors="pt",
... )

>>> output = model(**inputs)
```

## FlavaModel[[transformers.FlavaModel]]

#### transformers.FlavaModel[[transformers.FlavaModel]]

```python
transformers.FlavaModel(config: FlavaConfig)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L935)

**パラメータ:**

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

特定のヘッドを付加せず、生のhidden-statesを出力する素のFlavaモデル。

このモデルは [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.FlavaModel.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, pixel_values: typing.Optional[torch.FloatTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.Tensor] = None, bool_masked_pos: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, image_attention_mask: typing.Optional[torch.Tensor] = None, skip_multimodal_encoder: bool | None = None, output_attentions: bool | None = None, output_hidden_states: bool = True, return_dict: bool | None = None, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1078)

**パラメータ:**

input_ids (`torch.LongTensor`、shape `(batch_size, image_num_patches + text_seq_len)`) : 語彙における入力シーケンスのトークンインデックス。[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 (`torch.FloatTensor`、shape `(batch_size, num_channels, image_size, image_size)`、*任意*) : 入力画像に対応するテンソルです。ピクセル値は [FlavaImageProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageProcessor) を使用して取得できます。詳細は [FlavaImageProcessor.__call__()](/docs/transformers/main/ja/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) を参照してください（[FlavaProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaProcessor) は画像の処理に [FlavaImageProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageProcessor) を使用します）。

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

token_type_ids (`torch.LongTensor`、shape `(batch_size, image_num_patches + text_seq_len)`、*任意*) : 入力の前半と後半を示すセグメントトークンインデックス。インデックスは`[0, 1]`から選択されます: - 0 は*文 A*のトークンに対応します。 - 1 は*文 B*のトークンに対応します。 [トークンタイプIDとは何ですか？](../glossary#token-type-ids)

bool_masked_pos (`torch.BoolTensor`、shape `(batch_size, image_num_patches)`) : ブール型のマスク位置。どのパッチがマスクされているか（1）、されていないか（0）を示します。

position_ids (`torch.LongTensor`、shape `(batch_size, sequence_length)`、*任意*) : 各入力シーケンスのトークンが位置埋め込み内で占める位置のインデックスです。`[0, config.n_positions - 1]` の範囲から選択されます。 [位置 ID とは何か？](../glossary#position-ids)

image_attention_mask (`torch.Tensor`、shape `(batch_size, image_num_patches)`、*任意*) : 画像入力において、padding のピクセル値に対する attention を行わないためのマスク。`[0, 1]` の範囲から選択されるマスクの値: - 実データ（つまり、**マスクされていない**）のピクセル値は 1、- padding（つまり、**マスクされている**）のピクセル値は 0。

skip_multimodal_encoder (`*bool*`、*任意*) : マルチモーダルエンコーダーの計算をスキップします。マルチモーダルエンコーディングを使用しない場合に便利です。

output_attentions (`bool`, *任意*) : すべてのアテンション層のアテンションテンソルを返すかどうか。詳細は、返されるテンソルの `attentions` を参照してください。

output_hidden_states (`bool`, *任意*, デフォルトは `True`) : 全レイヤーの隠れ状態を返すかどうかを指定します。詳細は、返されるテンソルの `hidden_states` を参照してください。

return_dict (`bool`, *任意*) : プレーンなタプルではなく [ModelOutput](/docs/transformers/main/ja/main_classes/output#transformers.utils.ModelOutput) を返すかどうか。

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

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

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

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

- **image_embeddings** (`torch.FloatTensor`、shape `(batch_size, output_dim)`、*optional*、`pixel_values` が存在する場合に返されます) -- [FlavaImageModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageModel) のプーリング出力に相当する画像埋め込みです。
- **image_output** (`BaseModelOutputWithPooling`、*任意*、`pixel_values` が存在する場合に返されます) -- [FlavaImageModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageModel) の出力です。
- **text_embeddings** (`torch.FloatTensor`、shape `(batch_size, output_dim)`、*optional*、`input_ids` が存在する場合に返されます) -- [FlavaTextModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaTextModel) のプーリング出力に相当するテキスト埋め込みです。
- **text_output** (`BaseModelOutputWithPooling`、*任意*、`input_ids` が存在する場合に返されます) -- [FlavaTextModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaTextModel) の出力です。
- **multimodal_embeddings** (`torch.FloatTensor`、shape `(batch_size, output_dim)`、*optional*、`input_ids` と `pixel_values` が存在し、かつ `skip_multimodal_encoder` が `None` または `False` の場合に返されます) -- [FlavaTextModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaTextModel) のプーリング出力に相当するマルチモーダル埋め込みです。
- **multimodal_output** (`BaseModelOutputWithPooling`、`input_ids` と `pixel_values` が存在し、`skip_multimodal_encoder` が `None` または `False` の場合に返されます) -- [FlavaMultimodalModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaMultimodalModel) の出力です。

例:

```python
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import AutoProcessor, FlavaModel

>>> model = FlavaModel.from_pretrained("facebook/flava-full")
>>> processor = AutoProcessor.from_pretrained("facebook/flava-full")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> inputs = processor(text=["a photo of a cat"], images=image, return_tensors="pt", padding=True)

>>> outputs = model(**inputs)

>>> image_embeddings = outputs.image_embeddings
>>> text_embeddings = outputs.text_embeddings
>>> multimodal_embeddings = outputs.multimodal_embeddings

>>> outputs.image_embeddings.shape
torch.Size([1, 197, 768])

>>> text_embeddings.shape
torch.Size([1, 7, 768])

>>> multimodal_embeddings.shape
torch.Size([1, 205, 768])
```

#### get_text_features[[transformers.FlavaModel.get_text_features]]

```python
get_text_features(input_ids: Tensor, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L981)

**パラメータ:**

input_ids (`torch.LongTensor`、shape `(batch_size, text_seq_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)

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

token_type_ids (`torch.LongTensor`、shape `(batch_size, text_seq_length)`、*任意*) : 入力の前半と後半を示すためのセグメントトークンインデックス。インデックスは`[0, 1]`から選択されます: - 0 は*文 A*のトークンに対応します。 - 1 は*文 B*のトークンに対応します。 [トークンタイプIDとは何ですか？](../glossary#token-type-ids)

position_ids (`torch.Tensor`、shape `(batch_size, sequence_length)`、*任意*) : 各入力シーケンスのトークンが位置埋め込み内で占める位置のインデックス。`[0, config.n_positions - 1]` の範囲から選択されます。  [位置 ID とは何か？](../glossary#position-ids)

**戻り値:** [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) または `tuple(torch.FloatTensor)`

[FlavaConfig](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaConfig) や入力に応じて、さまざまな要素で構成される [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) または `torch.FloatTensor` のタプル（`return_dict=False` が渡された場合、または `config.return_dict=False` の場合）。

- **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後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。

例:

```python
>>> import torch
>>> from transformers import AutoProcessor, FlavaModel

>>> model = FlavaModel.from_pretrained("{0}")
>>> processor = AutoProcessor.from_pretrained("{0}")

>>> inputs = processor(
...     text=["a photo of a cat", "a photo of a dog"], max_length=77, padding="max_length", return_tensors="pt"
... )
>>> with torch.inference_mode():
...     text_features = model.get_text_features(**inputs)
```

#### get_image_features[[transformers.FlavaModel.get_image_features]]

```python
get_image_features(pixel_values: Tensor, bool_masked_pos: typing.Optional[torch.BoolTensor] = None, interpolate_pos_encoding: bool | None = None, attention_mask: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1032)

**パラメータ:**

pixel_values (`torch.Tensor`、shape `(batch_size, num_channels, image_size, image_size)`) : 入力画像に対応するテンソルです。ピクセル値は [FlavaImageProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageProcessor) を使用して取得できます。詳細は [FlavaImageProcessor.__call__()](/docs/transformers/main/ja/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) を参照してください（[FlavaProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaProcessor) は画像の処理に [FlavaImageProcessor](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageProcessor) を使用します）。

bool_masked_pos (`torch.BoolTensor`、shape `(batch_size, image_num_patches)`) : ブール型のマスク位置。どのパッチがマスクされているか（1）、されていないか（0）を示します。

interpolate_pos_encoding (`bool`, *任意*) : 事前学習済みの位置エンコーディングを補間するかどうか。

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

**戻り値:** [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) または `tuple(torch.FloatTensor)`

[FlavaConfig](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaConfig) や入力に応じて、さまざまな要素で構成される [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) または `torch.FloatTensor` のタプル（`return_dict=False` が渡された場合、または `config.return_dict=False` の場合）。

- **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後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。

例:

```python
>>> import torch
>>> from transformers import AutoProcessor, FlavaModel
>>> from transformers.image_utils import load_image

>>> model = FlavaModel.from_pretrained("{0}")
>>> processor = AutoProcessor.from_pretrained("{0}")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> image = load_image(url)

>>> inputs = processor(images=image, return_tensors="pt")

>>> with torch.inference_mode():
...     image_features = model.get_image_features(**inputs)
```

## FlavaImageCodebook[[transformers.FlavaImageCodebook]]

#### transformers.FlavaImageCodebook[[transformers.FlavaImageCodebook]]

```python
transformers.FlavaImageCodebook(config: FlavaImageCodebookConfig, **kwargs: Any)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1289)

**パラメータ:**

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

FLAVA のイメージコードブックモデルは、DALL-E の元のエンコーダーに着想を得たものです。生の隠れ状態を出力し、DALL-E の語彙に基づいて画像のトークンを生成するために使用できます。MIM のラベル生成に使用されます。画像のトークンを取得するには、`get_codebook_indices` を使用してください。

このモデルは [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.FlavaImageCodebook.forward]]

```python
forward(pixel_values: FloatTensor, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1374)

#### get_codebook_indices[[transformers.FlavaImageCodebook.get_codebook_indices]]

```python
get_codebook_indices(pixel_values: Tensor)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1340)

#### get_codebook_probs[[transformers.FlavaImageCodebook.get_codebook_probs]]

```python
get_codebook_probs(pixel_values: Tensor)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L1370)

## FlavaTextModel[[transformers.FlavaTextModel]]

#### transformers.FlavaTextModel[[transformers.FlavaTextModel]]

```python
transformers.FlavaTextModel(config: FlavaTextConfig, add_pooling_layer: bool = True)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L759)

**パラメータ:**

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

add_pooling_layer (`bool`、*任意*、デフォルトは`True`) : プーリング層を追加するかどうか

特定のヘッドを付加せずに、生のhidden-statesを出力する素のFlava Text Model。

このモデルは [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.FlavaTextModel.forward]]

```python
forward(input_ids: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.Tensor] = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L787)

**パラメータ:**

input_ids (`torch.LongTensor`、shape `(batch_size, text_seq_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)

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

token_type_ids (`torch.LongTensor`、shape `(batch_size, text_seq_length)`、*任意*) : 入力の前半と後半を示すためのセグメントトークンインデックス。インデックスは`[0, 1]`から選択されます: - 0 は*文 A*のトークンに対応します。 - 1 は*文 B*のトークンに対応します。 [トークンタイプIDとは何ですか？](../glossary#token-type-ids)

position_ids (`torch.Tensor`、shape `(batch_size, sequence_length)`、*任意*) : 各入力シーケンスのトークンが位置埋め込み内で占める位置のインデックス。`[0, config.n_positions - 1]` の範囲から選択されます。  [位置 ID とは何か？](../glossary#position-ids)

output_attentions (`bool`, *任意*) : すべてのアテンション層のアテンションテンソルを返すかどうか。詳細は、返されるテンソルの `attentions` を参照してください。

output_hidden_states (`bool`, *任意*) : 全レイヤーの hidden states を返すかどうかを指定します。詳細は、返されるテンソルの `hidden_states` を参照してください。

return_dict (`bool`, *任意*) : プレーンなタプルではなく [ModelOutput](/docs/transformers/main/ja/main_classes/output#transformers.utils.ModelOutput) を返すかどうか。

**戻り値:** [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) または `tuple(torch.FloatTensor)`

[FlavaConfig](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaConfig) や入力に応じて、さまざまな要素で構成される [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) または `torch.FloatTensor` のタプル（`return_dict=False` が渡された場合、または `config.return_dict=False` の場合）。

[FlavaTextModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaTextModel)の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後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。

## FlavaImageModel[[transformers.FlavaImageModel]]

#### transformers.FlavaImageModel[[transformers.FlavaImageModel]]

```python
transformers.FlavaImageModel(config: FlavaImageConfig, add_pooling_layer: bool = True)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L677)

**パラメータ:**

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

add_pooling_layer (`bool`、*任意*、デフォルトは`True`) : プーリング層を追加するかどうか

特定のヘッドを付加せず、生のhidden-statesを出力する素のFlavaモデル。

このモデルは [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.FlavaImageModel.forward]]

```python
forward(pixel_values: typing.Optional[torch.Tensor] = None, bool_masked_pos: typing.Optional[torch.BoolTensor] = None, interpolate_pos_encoding: bool | None = None, attention_mask: typing.Optional[torch.Tensor] = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L707)

**パラメータ:**

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

bool_masked_pos (`torch.BoolTensor`、shape `(batch_size, image_num_patches)`) : ブール型のマスク位置。どのパッチがマスクされているか（1）、されていないか（0）を示します。

interpolate_pos_encoding (`bool`, *任意*) : 事前学習済みの位置エンコーディングを補間するかどうか。

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

output_attentions (`bool`, *任意*) : すべてのアテンション層のアテンションテンソルを返すかどうか。詳細は、返されるテンソルの `attentions` を参照してください。

output_hidden_states (`bool`, *任意*) : 全レイヤーの hidden states を返すかどうかを指定します。詳細は、返されるテンソルの `hidden_states` を参照してください。

return_dict (`bool`, *任意*) : プレーンなタプルではなく [ModelOutput](/docs/transformers/main/ja/main_classes/output#transformers.utils.ModelOutput) を返すかどうか。

**戻り値:** [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) または `tuple(torch.FloatTensor)`

[FlavaConfig](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaConfig) や入力に応じて、さまざまな要素で構成される [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) または `torch.FloatTensor` のタプル（`return_dict=False` が渡された場合、または `config.return_dict=False` の場合）。

[FlavaImageModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaImageModel)の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後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。

## FlavaMultimodalModel[[transformers.FlavaMultimodalModel]]

#### transformers.FlavaMultimodalModel[[transformers.FlavaMultimodalModel]]

```python
transformers.FlavaMultimodalModel(config: FlavaMultimodalConfig, add_pooling_layer = True)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/flava/modeling_flava.py#L855)

**パラメータ:**

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

add_pooling_layer (`bool`、*任意*、デフォルトは`True`) : プーリング層を追加するかどうか

特定のヘッドを付加せず、生のhidden-statesを出力する素のFlavaモデル。

このモデルは [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.FlavaMultimodalModel.forward]]

```python
forward(hidden_states: Tensor, attention_mask: typing.Optional[torch.Tensor] = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

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

**パラメータ:**

hidden_states (`torch.FloatTensor`、shape `(batch_size, image_num_patches + text_seq_len, hidden_size)`) : 単一モーダルエンコーダーの連結された隠れ状態。

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

output_attentions (`bool`, *任意*) : すべてのアテンション層のアテンションテンソルを返すかどうか。詳細は、返されるテンソルの `attentions` を参照してください。

output_hidden_states (`bool`, *任意*) : 全レイヤーの hidden states を返すかどうかを指定します。詳細は、返されるテンソルの `hidden_states` を参照してください。

return_dict (`bool`, *任意*) : プレーンなタプルではなく [ModelOutput](/docs/transformers/main/ja/main_classes/output#transformers.utils.ModelOutput) を返すかどうか。

**戻り値:** [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) または `tuple(torch.FloatTensor)`

[FlavaConfig](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaConfig) や入力に応じて、さまざまな要素で構成される [BaseModelOutputWithPooling](/docs/transformers/main/ja/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) または `torch.FloatTensor` のタプル（`return_dict=False` が渡された場合、または `config.return_dict=False` の場合）。

[FlavaMultimodalModel](/docs/transformers/main/ja/model_doc/flava#transformers.FlavaMultimodalModel)の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後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。

