# FLAVA

## Ikhtisar

Model FLAVA diusulkan dalam [FLAVA: A Foundational Language And Vision Alignment Model](https://huggingface.co/papers/2112.04482) oleh Amanpreet Singh, Ronghang Hu, Vedanuj Goswami, Guillaume Couairon, Wojciech Galuba, Marcus Rohrbach, dan Douwe Kiela, dan diterima di CVPR 2022.

Kertas ini bertujuan untuk menciptakan satu model fondasi terpadu yang dapat bekerja di berbagai tugas multimodal, termasuk visi, bahasa, serta visi-dan-bahasa.

Abstrak dari makalah tersebut adalah sebagai berikut:

*Model-model visi dan visi-bahasa terkini mengandalkan pra-pelatihan visio-linguistik berskala besar untuk mencapai kinerja yang baik pada berbagai tugas turunan. Secara umum, model-model semacam ini biasanya bersifat lintas-modal (kontrastif) atau multi-modal (dengan fusi awal), tetapi tidak keduanya; dan mereka sering kali hanya menargetkan modalitas atau tugas tertentu. Arah yang menjanjikan adalah menggunakan model universal holistik tunggal sebagai "fondasi" yang menargetkan semua modalitas sekaligus -- model fondasi visi dan bahasa yang sejati harus baik dalam tugas visi, tugas bahasa, serta tugas visi dan bahasa lintas-modal dan multi-modal. Kami memperkenalkan FLAVA sebagai model semacam itu dan menunjukkan kinerja yang mengesankan pada 35 tugas yang luas yang mencakup modalitas target tersebut.*

Model ini disumbangkan oleh [aps](https://huggingface.co/aps). Kode aslinya dapat ditemukan [di sini](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)
```

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

**Parameter:**

image_config (`dict`, *opsional*) : Kamus opsi konfigurasi yang digunakan untuk menginisialisasi [FlavaImageConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageConfig).

text_config (`Union[dict[str, Any], ~configuration_utils.PreTrainedConfig]`, *opsional*) : Objek config atau dictionary dari text backbone.

multimodal_config (`dict`, *opsional*) : Kamus opsi konfigurasi yang digunakan untuk menginisialisasi [FlavaMultimodalConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaMultimodalConfig).

image_codebook_config (`dict`, *opsional*) : Kamus opsi konfigurasi yang digunakan untuk menginisialisasi `FlavaCodebookConfig`.

hidden_size (`int`, *opsional*, defaultnya `768`) : Dimensi dari representasi tersembunyi.

layer_norm_eps (`float`, *opsional*, defaultnya `1e-12`) : Epsilon yang digunakan oleh lapisan normalisasi lapisan.

projection_dim (`int`, *opsional*, defaultnya `768`) : Dimensi dari lapisan proyeksi teks dan visi.

init_codebook (`bool`, *opsional*, defaultnya `True`) : Apakah akan menginisialisasi codebook

logit_scale_init_value (`float`, *opsional*, default 2.6592) : Nilai awal dari parameter *logit_scale*. Default digunakan sesuai implementasi FLAVA/CLIP asli.

initializer_range (`float`, *opsional*, defaultnya `0.02`) : Deviasi standar dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

ce_ignore_index (`int`, *opsional*, default -100) : Indeks cross entropy yang diabaikan.

mim_weight (`float`, *opsional*, default 1.0) : Bobot yang akan diberikan pada loss unimodal MIM (Masked Image Modeling)

mlm_weight (`float`, *opsional*, default 1.0) : Bobot yang akan diberikan pada loss unimodal MLM (Masked Language Modeling)

global_contrastive_weight (`float`, *opsional*, default 1.0) : Bobot yang akan diberikan pada kerugian keselarasan silang kontras global.

itm_weight (`float`, *opsional*, default 1.0) : Bobot yang akan diberikan pada loss multimodal pencocokan gambar-teks.

mmm_image_weight (`float`, *opsional*, default 1.0) : Bobot yang akan diberikan pada bagian gambar dari loss MMM.

mmm_text_weight (`float`, *opsional*, default 1.0) : Bobot yang akan diberikan pada bagian teks dari loss MMM.

global_backprop_contrastive (`bool`, *opsional*, defaultnya `True`) : Apakah akan menggunakan backpropgation global melalui semua worker dalam contrastive loss.

skip_unmasked_multimodal_encoder (`bool`, *opsional*, defaultnya `True`) : Apakah akan melewati eksekusi encoder multimodal tanpa masker yang output-nya tidak digunakan oleh kerugian FLAVA.

return_loss (`bool`, *opsional*, defaultnya `True`) : Apakah akan mengembalikan loss atau tidak

tie_word_embeddings (`bool`, *opsional*, defaultnya `True`) : Apakah mengikat embedding bobot sesuai dengan pemetaan `tied_weights_keys` model.

initializer_factor (`float`, *opsional*, default `1.0`) : Faktor untuk menginisialisasi semua matriks bobot (sebaiknya tetap 1, digunakan secara internal untuk pengujian inisialisasi).

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari FlavaModel. Kelas ini digunakan untuk membuat instans model Flava berdasarkan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari [facebook/flava-full](https://huggingface.co/facebook/flava-full)

Objek konfigurasi mewarisi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) dan dapat digunakan untuk mengontrol keluaran model. Baca dokumentasi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) untuk informasi lebih lanjut.

Contoh:

```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)
```

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

**Parameter:**

vocab_size (`int`, *opsional*, defaultnya `30522`) : Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh `input_ids`.

type_vocab_size (`int`, *opsional*, defaultnya `2`) : Ukuran kosakata dari `token_type_ids`.

max_position_embeddings (`int`, *opsional*, defaultnya `512`) : Panjang urutan maksimum yang mungkin digunakan oleh model ini.

hidden_size (`int`, *opsional*, defaultnya `768`) : Dimensi dari representasi tersembunyi.

num_hidden_layers (`int`, *opsional*, defaultnya `12`) : Jumlah lapisan tersembunyi dalam decoder Transformer.

num_attention_heads (`int`, *opsional*, defaultnya `12`) : Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer.

intermediate_size (`int`, *opsional*, defaultnya `3072`) : Dimensi dari representasi MLP.

hidden_act (`str`, *opsional*, defaultnya `gelu`) : Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, `"gelu"`, `"relu"`, `"silu"`, dan sebagainya.

hidden_dropout_prob (`Union[float, int]`, *opsional*, defaultnya `0.0`) : Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler.

attention_probs_dropout_prob (`Union[float, int]`, *opsional*, defaultnya `0.0`) : Rasio dropout untuk probabilitas perhatian.

initializer_range (`float`, *opsional*, defaultnya `0.02`) : Deviasi standar dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

layer_norm_eps (`float`, *opsional*, defaultnya `1e-12`) : Epsilon yang digunakan oleh lapisan normalisasi lapisan.

pad_token_id (`int`, *opsional*, defaultnya `0`) : ID token yang digunakan untuk padding dalam kosakata.

qkv_bias (`bool`, *opsional*, defaultnya `True`) : Apakah akan menambahkan bias ke queries, keys, dan values.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari FlavaModel. Kelas ini digunakan untuk membuat instans model Flava berdasarkan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari [facebook/flava-full](https://huggingface.co/facebook/flava-full)

Objek konfigurasi mewarisi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) dan dapat digunakan untuk mengontrol keluaran model. Baca dokumentasi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) untuk informasi lebih lanjut.

Contoh:

```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)
```

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

**Parameter:**

hidden_size (`int`, *opsional*, defaultnya `768`) : Dimensi dari representasi tersembunyi.

num_hidden_layers (`int`, *opsional*, defaultnya `12`) : Jumlah lapisan tersembunyi dalam decoder Transformer.

num_attention_heads (`int`, *opsional*, defaultnya `12`) : Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer.

intermediate_size (`int`, *opsional*, defaultnya `3072`) : Dimensi dari representasi MLP.

hidden_act (`str`, *opsional*, defaultnya `gelu`) : Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, `"gelu"`, `"relu"`, `"silu"`, dan sebagainya.

hidden_dropout_prob (`Union[float, int]`, *opsional*, defaultnya `0.0`) : Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler.

attention_probs_dropout_prob (`Union[float, int]`, *opsional*, defaultnya `0.0`) : Rasio dropout untuk probabilitas perhatian.

initializer_range (`float`, *opsional*, defaultnya `0.02`) : Deviasi standar dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

layer_norm_eps (`float`, *opsional*, defaultnya `1e-12`) : Epsilon yang digunakan oleh lapisan normalisasi lapisan.

image_size (`Union[int, list[int], tuple[int, int]]`, *opsional*, defaultnya `224`) : Ukuran (resolusi) dari setiap gambar.

patch_size (`Union[int, list[int], tuple[int, int]]`, *opsional*, defaultnya `16`) : Ukuran (resolusi) dari setiap patch.

num_channels (`int`, *opsional*, default `3`) : Jumlah saluran input.

qkv_bias (`bool`, *opsional*, defaultnya `True`) : Apakah akan menambahkan bias ke queries, keys, dan values.

mask_token (`bool`, *opsional*, defaultnya `True`) : Apakah akan menggunakan token masker atau tidak. Digunakan dalam loss MIM (Masked Image Modeling) untuk FLAVA.

vocab_size (`int`, *opsional*, defaultnya `8192`) : Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh `input_ids`.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari FlavaModel. Kelas ini digunakan untuk membuat instans model Flava berdasarkan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari [facebook/flava-full](https://huggingface.co/facebook/flava-full)

Objek konfigurasi mewarisi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) dan dapat digunakan untuk mengontrol keluaran model. Baca dokumentasi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) untuk informasi lebih lanjut.

Contoh:

```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)
```

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

**Parameter:**

hidden_size (`int`, *opsional*, defaultnya `768`) : Dimensi dari representasi tersembunyi.

num_hidden_layers (`int`, *opsional*, defaultnya `6`) : Jumlah lapisan tersembunyi dalam decoder Transformer.

num_attention_heads (`int`, *opsional*, defaultnya `12`) : Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer.

intermediate_size (`int`, *opsional*, defaultnya `3072`) : Dimensi dari representasi MLP.

hidden_act (`str`, *opsional*, defaultnya `gelu`) : Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, `"gelu"`, `"relu"`, `"silu"`, dan sebagainya.

hidden_dropout_prob (`Union[float, int]`, *opsional*, defaultnya `0.0`) : Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler.

attention_probs_dropout_prob (`Union[float, int]`, *opsional*, defaultnya `0.0`) : Rasio dropout untuk probabilitas perhatian.

initializer_range (`float`, *opsional*, defaultnya `0.02`) : Deviasi standar dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

layer_norm_eps (`float`, *opsional*, defaultnya `1e-12`) : Epsilon yang digunakan oleh lapisan normalisasi lapisan.

qkv_bias (`bool`, *opsional*, defaultnya `True`) : Apakah akan menambahkan bias ke queries, keys, dan values.

use_cls_token (`bool`, *opsional*, defaultnya `True`) : Apakah akan menggunakan token CLS tambahan untuk pengaturan multimodal. Biasanya diperlukan oleh model FLAVA.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari FlavaModel. Kelas ini digunakan untuk membuat instans model Flava berdasarkan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari [facebook/flava-full](https://huggingface.co/facebook/flava-full)

Objek konfigurasi mewarisi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) dan dapat digunakan untuk mengontrol keluaran model. Baca dokumentasi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) untuk informasi lebih lanjut.

Contoh:

```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)
```

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

**Parameter:**

num_groups (`int`, *opsional*, defaultnya 4) : Jumlah grup yang akan dibuat. Parameter ini saat ini tidak memengaruhi model dan digunakan untuk beberapa perhitungan dan estimasi internal.

input_channels (`int`, *opsional*, default `3`) : Jumlah saluran input.

num_blocks_per_group (`int`, *opsional*, defaultnya 2) : Jumlah blok berbasis conv per grup.

hidden_size (`int`, *opsional*, defaultnya `256`) : Dimensi dari representasi tersembunyi.

vocab_size (`int`, *opsional*, defaultnya `8192`) : Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh `input_ids`.

freeze (`bool`, defaultnya `True`) : Apakah akan membekukan bobot model.

initializer_range (`float`, *opsional*, defaultnya `0.02`) : Deviasi standar dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari FlavaModel. Kelas ini digunakan untuk membuat instans model Flava berdasarkan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari [facebook/flava-full](https://huggingface.co/facebook/flava-full)

Objek konfigurasi mewarisi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) dan dapat digunakan untuk mengontrol keluaran model. Baca dokumentasi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) untuk informasi lebih lanjut.

Contoh:

```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)
```

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

**Parameter:**

image_processor (`FlavaImageProcessor`) : Prosesor gambar adalah input yang wajib.

tokenizer (`BertTokenizer`) : Tokenizer adalah input yang wajib.

Membangun FlavaProcessor yang membungkus image processor dan tokenizer menjadi satu processor.

[FlavaProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaProcessor) menyediakan semua fungsionalitas dari [FlavaImageProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageProcessor) dan [BertTokenizer](/docs/transformers/main/id/model_doc/lxmert#transformers.BertTokenizer). Lihat [~FlavaImageProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageProcessor) dan [~BertTokenizer](/docs/transformers/main/id/model_doc/lxmert#transformers.BertTokenizer) untuk informasi lebih lanjut.

#### __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'>)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L659)

**Parameter:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`, *opsional*) : Gambar untuk dipreprocess. Mengharapkan satu gambar atau batch gambar dengan nilai piksel berkisar dari 0 hingga 255. Jika memasukkan gambar dengan nilai piksel antara 0 dan 1, atur `do_rescale=False`.

text (`Union[str, list[str], list[list[str]]]`, *opsional*) : Urutan atau batch dari urutan yang akan dienkod. Setiap urutan dapat berupa string atau daftar string (string yang sudah dipretokenisasi). Jika Anda memasukkan input yang sudah dipretokenisasi, setel `is_split_into_words=True` untuk menghindari ambiguitas dengan input yang di-batch.

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]]]`, *opsional*) : Video yang akan dipreprocess. Mengharapkan satu video atau batch video dengan nilai piksel berkisar dari 0 hingga 255. Jika memasukkan video dengan nilai piksel antara 0 dan 1, atur `do_rescale=False`.

audio (`Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]`, *opsional*) : Audio atau batch audio yang akan disiapkan. Setiap audio dapat berupa array NumPy atau tensor PyTorch. Jika berupa array NumPy/tensor PyTorch, setiap audio harus memiliki bentuk (C, T), di mana C adalah jumlah channel, dan T adalah panjang sampel audio.

return_tensors (`str` atau [TensorType](/docs/transformers/main/id/internal/file_utils#transformers.TensorType), *opsional*) : Jika diatur, akan mengembalikan tensor dari framework tertentu. Nilai yang dapat diterima adalah:  - `'pt'`: Mengembalikan objek `torch.Tensor` PyTorch. - `'np'`: Mengembalikan objek `np.ndarray` NumPy.

- ****kwargs** ([ProcessingKwargs](/docs/transformers/main/id/main_classes/processors#transformers.ProcessingKwargs), *opsional*) : Opsi pemrosesan tambahan untuk setiap modalitas (teks, gambar, video, audio). Parameter spesifik model tercantum di atas; lihat kelas TypedDict untuk daftar lengkap argumen yang didukung.

## FlavaImageProcessor[[transformers.FlavaImageProcessor]]

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

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

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

**Parameter:**

do_convert_rgb (`bool`, *kwargs*, *opsional*) : Apakah akan mengkonversi gambar ke RGB.

do_resize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan mengubah ukuran gambar.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*, defaultnya `{'height' : 224, 'width': 224}`): Menjelaskan dimensi input maksimum ke model.

default_to_square (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah secara default menggunakan gambar persegi saat mengubah ukuran, jika size berupa int.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*, defaultnya `{'height' : 224, 'width': 224}`): Ukuran gambar keluaran setelah menerapkan `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*, defaultnya `3`) : Filter resampling yang digunakan jika mengubah ukuran gambar. Ini bisa berupa salah satu enum `PILImageResampling`. Hanya berdampak jika `do_resize` diatur ke `True`.

do_rescale (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan melakukan penskalaan ulang pada gambar.

rescale_factor (`float`, *kwargs*, *opsional*, defaultnya `0.00392156862745098`) : Faktor rescale untuk melakukan rescale pada gambar jika `do_rescale` diatur ke `True`.

do_normalize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan menormalisasi gambar.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsional*, defaultnya `[0.48145466, 0.4578275, 0.40821073]`) : Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika `do_normalize` diatur ke `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsional*, defaultnya `[0.26862954, 0.26130258, 0.27577711]`) : Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika `do_normalize` diatur ke `True`.

do_pad (`bool`, *kwargs*, *opsional*) : Apakah akan melakukan padding pada gambar. Padding dilakukan hingga ukuran terbesar dalam batch atau hingga ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Ukuran dalam `{"height": int, "width" int}` untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang diberikan untuk pra-pemrosesan. Jika `pad_size` tidak diberikan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketika `do_pad=True.`

do_center_crop (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan melakukan center crop pada gambar.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *opsional*) : Hanya `ChannelDimension.FIRST` yang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *opsional*) : Format dimensi channel untuk gambar input. Jika tidak disetel, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari: - `"channels_first"` atau `ChannelDimension.FIRST`: gambar dalam format (num_channels, height, width). - `"channels_last"` atau `ChannelDimension.LAST`: gambar dalam format (height, width, num_channels). - `"none"` atau `ChannelDimension.NONE`: gambar dalam format (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : Mengembalikan tensor yang ditumpuk jika disetel ke `'pt'`, selain itu mengembalikan daftar tensor.

disable_grouping (`bool`, *kwargs*, *opsional*) : Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan tidak dalam batch. Jika None, akan diset ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`, *kwargs*, *opsional*) : Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini sebaiknya diatur sebagai atribut prosesor pada model-model mendatang.

return_image_mask (`bool`, *kwargs*, *opsional*, defaultnya `False`) : Apakah akan mengembalikan image mask. Dapat ditimpa oleh parameter `return_image_mask` di `preprocess`.

input_size_patches (`int`, *kwargs*, *opsional*, defaultnya `14`) : Jumlah patch pada gambar dalam arah tinggi dan lebar. 14x14 = total 196 patch. Dapat ditimpa oleh parameter `input_size_patches` di `preprocess`.

total_mask_patches (`int`, *kwargs*, *opsional*, defaultnya `75`) : Total jumlah patch yang harus di-mask. Dapat ditimpa oleh parameter `total_mask_patches` di `preprocess`.

mask_group_min_patches (`int`, *kwargs*, *opsional*, defaultnya `16`) : Jumlah minimum patch yang harus dimasker. Dapat ditimpa oleh parameter `mask_group_min_patches` di `preprocess`.

mask_group_max_patches (`int`, *kwargs*, *opsional*) : Jumlah maksimum patch yang harus dimasker. Dapat ditimpa oleh parameter `mask_group_max_patches` di `preprocess`.

mask_group_min_aspect_ratio (`float`, *kwargs*, *opsional*, defaultnya `0.3`) : Rasio aspek minimum dari jendela mask. Dapat ditimpa oleh parameter `mask_group_min_aspect_ratio` di `preprocess`.

mask_group_max_aspect_ratio (`float`, *kwargs*, *opsional*) : Rasio aspek maksimum dari jendela mask. Dapat ditimpa oleh parameter `mask_group_max_aspect_ratio` di `preprocess`.

return_codebook_pixels (`bool`, *kwargs*, *opsional*, defaultnya `False`) : Apakah akan mengembalikan nilai piksel codebook.

codebook_do_resize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan mengubah ukuran input untuk codebook menjadi ukuran tertentu. Dapat ditimpa oleh parameter `codebook_do_resize` di `preprocess`. `codebook_size`.

codebook_size (`dict[str, *kwargs*, int]`, *opsional*, defaultnya `{"height" : 224, "width": 224}`): Ubah ukuran input untuk codebook ke ukuran yang diberikan. Dapat ditimpa oleh parameter `codebook_size` di `preprocess`.

codebook_resample (`PILImageResampling`, *kwargs*, *opsional*, defaultnya `PILImageResampling.LANCZOS`) : Filter resampling yang digunakan jika mengubah ukuran gambar codebook. Dengan torchvision < 0.27, LANCZOS tidak didukung untuk Tensor torch dan BICUBIC digunakan sebagai alternatif terdekat. Dapat ditimpa oleh parameter `codebook_resample` di `preprocess`.

codebook_do_center_crop (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan memotong input untuk codebook di bagian tengah. Jika ukuran input lebih kecil dari `codebook_crop_size` di sepanjang sisi mana pun, gambar akan dipad dengan 0 dan kemudian dipotong di tengah. Dapat ditimpa oleh parameter `codebook_do_center_crop` di `preprocess`.

codebook_crop_size (`dict[str, *kwargs*, int]`, *opsional*, defaultnya `{"height" : 224, "width": 224}`): Ukuran output yang diinginkan untuk input codebook saat menerapkan center-cropping. Dapat ditimpa oleh parameter `codebook_crop_size` di `preprocess`.

codebook_do_rescale (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan melakukan penskalaan ulang input untuk codebook dengan skala yang ditentukan `codebook_rescale_factor`. Dapat ditimpa oleh parameter `codebook_do_rescale` di `preprocess`.

codebook_rescale_factor (`int`, *kwargs* atau `float`, *opsional*, defaultnya `1/255`) : Menentukan faktor skala yang digunakan jika melakukan penskalaan ulang gambar codebook. Dapat ditimpa oleh parameter `codebook_rescale_factor` di `preprocess`.

codebook_do_map_pixels (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah memetakan nilai piksel dari input codebook ke (1 - 2e)x + e. Dapat ditimpa oleh parameter `codebook_do_map_pixels` di `preprocess`.

codebook_do_normalize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan menormalisasi input untuk codebook dengan `codebook_image_mean` dan `codebook_image_std`. Dapat ditimpa oleh parameter `codebook_do_normalize` di `preprocess`.

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`, *opsional*, defaultnya `[0, 0, 0]`) : Rangkaian nilai rata-rata untuk setiap channel, yang digunakan saat menormalisasi gambar untuk codebook. Dapat ditimpa oleh parameter `codebook_image_mean` di `preprocess`.

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`, *opsional*, defaultnya `[0.5, 0.5, 0.5]`) : Rangkaian deviasi standar untuk setiap channel, yang digunakan saat menormalisasi gambar untuk codebook. Dapat ditimpa oleh parameter `codebook_image_std` di `preprocess`.

Membangun pemroses gambar 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'>)
```

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

**Parameter:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : Gambar yang akan dipreprocess. Mengharapkan satu gambar atau batch gambar dengan nilai piksel berkisar dari 0 hingga 255. Jika memasukkan gambar dengan nilai piksel antara 0 dan 1, atur `do_rescale=False`.

do_convert_rgb (`bool`, *kwargs*, *opsional*) : Apakah akan mengkonversi gambar ke RGB.

do_resize (`bool`, *kwargs*, *opsional*) : Apakah akan mengubah ukuran gambar.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Menjelaskan dimensi input maksimum ke model.

default_to_square (`bool`, *kwargs*, *opsional*) : Apakah secara default menggunakan gambar persegi saat mengubah ukuran, jika size berupa int.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Ukuran gambar keluaran setelah menerapkan `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : Filter resampling yang digunakan saat mengubah ukuran gambar. Nilai ini dapat berupa salah satu enum `PILImageResampling`. Hanya berpengaruh jika `do_resize` diatur ke `True`.

do_rescale (`bool`, *kwargs*, *opsional*) : Apakah akan melakukan penskalaan ulang pada gambar.

rescale_factor (`float`, *kwargs*, *opsional*) : Faktor penskalaan ulang untuk menskalakan ulang gambar jika `do_rescale` diatur ke `True`.

do_normalize (`bool`, *kwargs*, *opsional*) : Apakah akan menormalisasi gambar.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsional*) : Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika `do_normalize` diatur ke `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsional*) : Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika `do_normalize` diatur ke `True`.

do_pad (`bool`, *kwargs*, *opsional*) : Apakah akan melakukan padding pada gambar. Padding dilakukan hingga ukuran terbesar dalam batch atau hingga ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Ukuran dalam `{"height": int, "width" int}` untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang diberikan untuk pra-pemrosesan. Jika `pad_size` tidak diberikan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketika `do_pad=True.`

do_center_crop (`bool`, *kwargs*, *opsional*) : Apakah akan melakukan center crop pada gambar.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *opsional*) : Hanya `ChannelDimension.FIRST` yang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *opsional*) : Format dimensi channel untuk gambar input. Jika tidak disetel, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari: - `"channels_first"` atau `ChannelDimension.FIRST`: gambar dalam format (num_channels, height, width). - `"channels_last"` atau `ChannelDimension.LAST`: gambar dalam format (height, width, num_channels). - `"none"` atau `ChannelDimension.NONE`: gambar dalam format (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : Mengembalikan tensor yang ditumpuk jika disetel ke `'pt'`, selain itu mengembalikan daftar tensor.

disable_grouping (`bool`, *kwargs*, *opsional*) : Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan tidak dalam batch. Jika None, akan diset ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`, *kwargs*, *opsional*) : Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini sebaiknya diatur sebagai atribut prosesor pada model-model mendatang.

return_image_mask (`bool`, *kwargs*, *opsional*, defaultnya `False`) : Apakah akan mengembalikan image mask. Dapat ditimpa oleh parameter `return_image_mask` di `preprocess`.

input_size_patches (`int`, *kwargs*, *opsional*, defaultnya `14`) : Jumlah patch pada gambar dalam arah tinggi dan lebar. 14x14 = total 196 patch. Dapat ditimpa oleh parameter `input_size_patches` di `preprocess`.

total_mask_patches (`int`, *kwargs*, *opsional*, defaultnya `75`) : Total jumlah patch yang harus di-mask. Dapat ditimpa oleh parameter `total_mask_patches` di `preprocess`.

mask_group_min_patches (`int`, *kwargs*, *opsional*, defaultnya `16`) : Jumlah minimum patch yang harus dimasker. Dapat ditimpa oleh parameter `mask_group_min_patches` di `preprocess`.

mask_group_max_patches (`int`, *kwargs*, *opsional*) : Jumlah maksimum patch yang harus dimasker. Dapat ditimpa oleh parameter `mask_group_max_patches` di `preprocess`.

mask_group_min_aspect_ratio (`float`, *kwargs*, *opsional*, defaultnya `0.3`) : Rasio aspek minimum dari jendela mask. Dapat ditimpa oleh parameter `mask_group_min_aspect_ratio` di `preprocess`.

mask_group_max_aspect_ratio (`float`, *kwargs*, *opsional*) : Rasio aspek maksimum dari jendela mask. Dapat ditimpa oleh parameter `mask_group_max_aspect_ratio` di `preprocess`.

return_codebook_pixels (`bool`, *kwargs*, *opsional*, defaultnya `False`) : Apakah akan mengembalikan nilai piksel codebook.

codebook_do_resize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan mengubah ukuran input untuk codebook menjadi ukuran tertentu. Dapat ditimpa oleh parameter `codebook_do_resize` di `preprocess`. `codebook_size`.

codebook_size (`dict[str, *kwargs*, int]`, *opsional*, defaultnya `{"height" : 224, "width": 224}`): Ubah ukuran input untuk codebook ke ukuran yang diberikan. Dapat ditimpa oleh parameter `codebook_size` di `preprocess`.

codebook_resample (`PILImageResampling`, *kwargs*, *opsional*, defaultnya `PILImageResampling.LANCZOS`) : Filter resampling yang digunakan jika mengubah ukuran gambar codebook. Dengan torchvision < 0.27, LANCZOS tidak didukung untuk Tensor torch dan BICUBIC digunakan sebagai alternatif terdekat. Dapat ditimpa oleh parameter `codebook_resample` di `preprocess`.

codebook_do_center_crop (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan memotong input untuk codebook di bagian tengah. Jika ukuran input lebih kecil dari `codebook_crop_size` di sepanjang sisi mana pun, gambar akan dipad dengan 0 dan kemudian dipotong di tengah. Dapat ditimpa oleh parameter `codebook_do_center_crop` di `preprocess`.

codebook_crop_size (`dict[str, *kwargs*, int]`, *opsional*, defaultnya `{"height" : 224, "width": 224}`): Ukuran output yang diinginkan untuk input codebook saat menerapkan center-cropping. Dapat ditimpa oleh parameter `codebook_crop_size` di `preprocess`.

codebook_do_rescale (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan melakukan penskalaan ulang input untuk codebook dengan skala yang ditentukan `codebook_rescale_factor`. Dapat ditimpa oleh parameter `codebook_do_rescale` di `preprocess`.

codebook_rescale_factor (`int`, *kwargs* atau `float`, *opsional*, defaultnya `1/255`) : Menentukan faktor skala yang digunakan jika melakukan penskalaan ulang gambar codebook. Dapat ditimpa oleh parameter `codebook_rescale_factor` di `preprocess`.

codebook_do_map_pixels (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah memetakan nilai piksel dari input codebook ke (1 - 2e)x + e. Dapat ditimpa oleh parameter `codebook_do_map_pixels` di `preprocess`.

codebook_do_normalize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan menormalisasi input untuk codebook dengan `codebook_image_mean` dan `codebook_image_std`. Dapat ditimpa oleh parameter `codebook_do_normalize` di `preprocess`.

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`, *opsional*, defaultnya `[0, 0, 0]`) : Rangkaian nilai rata-rata untuk setiap channel, yang digunakan saat menormalisasi gambar untuk codebook. Dapat ditimpa oleh parameter `codebook_image_mean` di `preprocess`.

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`, *opsional*, defaultnya `[0.5, 0.5, 0.5]`) : Rangkaian deviasi standar untuk setiap channel, yang digunakan saat menormalisasi gambar untuk codebook. Dapat ditimpa oleh parameter `codebook_image_std` di `preprocess`.

**Mengembalikan:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- Dictionary berisi list/array/tensor yang dikembalikan oleh metode __call__ ('pixel_values', dll.).
- **tensor_type** (`Union[None, str, TensorType]`, *opsional*) -- Anda dapat memberikan tensor_type di sini untuk mengonversi daftar bilangan bulat menjadi Tensor PyTorch/Numpy saat inisialisasi.

## FlavaImageProcessorPil[[transformers.FlavaImageProcessorPil]]

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

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

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

**Parameter:**

do_convert_rgb (`bool`, *kwargs*, *opsional*) : Apakah akan mengkonversi gambar ke RGB.

do_resize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan mengubah ukuran gambar.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*, defaultnya `{'height' : 224, 'width': 224}`): Menjelaskan dimensi input maksimum ke model.

default_to_square (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah secara default menggunakan gambar persegi saat mengubah ukuran, jika size berupa int.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*, defaultnya `{'height' : 224, 'width': 224}`): Ukuran gambar keluaran setelah menerapkan `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*, defaultnya `3`) : Filter resampling yang digunakan jika mengubah ukuran gambar. Ini bisa berupa salah satu enum `PILImageResampling`. Hanya berdampak jika `do_resize` diatur ke `True`.

do_rescale (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan melakukan penskalaan ulang pada gambar.

rescale_factor (`float`, *kwargs*, *opsional*, defaultnya `0.00392156862745098`) : Faktor rescale untuk melakukan rescale pada gambar jika `do_rescale` diatur ke `True`.

do_normalize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan menormalisasi gambar.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsional*, defaultnya `[0.48145466, 0.4578275, 0.40821073]`) : Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika `do_normalize` diatur ke `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsional*, defaultnya `[0.26862954, 0.26130258, 0.27577711]`) : Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika `do_normalize` diatur ke `True`.

do_pad (`bool`, *kwargs*, *opsional*) : Apakah akan melakukan padding pada gambar. Padding dilakukan hingga ukuran terbesar dalam batch atau hingga ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Ukuran dalam `{"height": int, "width" int}` untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang diberikan untuk pra-pemrosesan. Jika `pad_size` tidak diberikan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketika `do_pad=True.`

do_center_crop (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan melakukan center crop pada gambar.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *opsional*) : Hanya `ChannelDimension.FIRST` yang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *opsional*) : Format dimensi channel untuk gambar input. Jika tidak disetel, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari: - `"channels_first"` atau `ChannelDimension.FIRST`: gambar dalam format (num_channels, height, width). - `"channels_last"` atau `ChannelDimension.LAST`: gambar dalam format (height, width, num_channels). - `"none"` atau `ChannelDimension.NONE`: gambar dalam format (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : Mengembalikan tensor yang ditumpuk jika disetel ke `'pt'`, selain itu mengembalikan daftar tensor.

disable_grouping (`bool`, *kwargs*, *opsional*) : Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan tidak dalam batch. Jika None, akan diset ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`, *kwargs*, *opsional*) : Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini sebaiknya diatur sebagai atribut prosesor pada model-model mendatang.

return_image_mask (`bool`, *kwargs*, *opsional*, defaultnya `False`) : Apakah akan mengembalikan image mask. Dapat ditimpa oleh parameter `return_image_mask` di `preprocess`.

input_size_patches (`int`, *kwargs*, *opsional*, defaultnya `14`) : Jumlah patch pada gambar dalam arah tinggi dan lebar. 14x14 = total 196 patch. Dapat ditimpa oleh parameter `input_size_patches` di `preprocess`.

total_mask_patches (`int`, *kwargs*, *opsional*, defaultnya `75`) : Total jumlah patch yang harus di-mask. Dapat ditimpa oleh parameter `total_mask_patches` di `preprocess`.

mask_group_min_patches (`int`, *kwargs*, *opsional*, defaultnya `16`) : Jumlah minimum patch yang harus dimasker. Dapat ditimpa oleh parameter `mask_group_min_patches` di `preprocess`.

mask_group_max_patches (`int`, *kwargs*, *opsional*) : Jumlah maksimum patch yang harus dimasker. Dapat ditimpa oleh parameter `mask_group_max_patches` di `preprocess`.

mask_group_min_aspect_ratio (`float`, *kwargs*, *opsional*, defaultnya `0.3`) : Rasio aspek minimum dari jendela mask. Dapat ditimpa oleh parameter `mask_group_min_aspect_ratio` di `preprocess`.

mask_group_max_aspect_ratio (`float`, *kwargs*, *opsional*) : Rasio aspek maksimum dari jendela mask. Dapat ditimpa oleh parameter `mask_group_max_aspect_ratio` di `preprocess`.

return_codebook_pixels (`bool`, *kwargs*, *opsional*, defaultnya `False`) : Apakah akan mengembalikan nilai piksel codebook.

codebook_do_resize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan mengubah ukuran input untuk codebook menjadi ukuran tertentu. Dapat ditimpa oleh parameter `codebook_do_resize` di `preprocess`. `codebook_size`.

codebook_size (`dict[str, *kwargs*, int]`, *opsional*, defaultnya `{"height" : 224, "width": 224}`): Ubah ukuran input untuk codebook ke ukuran yang diberikan. Dapat ditimpa oleh parameter `codebook_size` di `preprocess`.

codebook_resample (`PILImageResampling`, *kwargs*, *opsional*, defaultnya `PILImageResampling.LANCZOS`) : Filter resampling yang digunakan jika mengubah ukuran gambar codebook. Dengan torchvision < 0.27, LANCZOS tidak didukung untuk Tensor torch dan BICUBIC digunakan sebagai alternatif terdekat. Dapat ditimpa oleh parameter `codebook_resample` di `preprocess`.

codebook_do_center_crop (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan memotong input untuk codebook di bagian tengah. Jika ukuran input lebih kecil dari `codebook_crop_size` di sepanjang sisi mana pun, gambar akan dipad dengan 0 dan kemudian dipotong di tengah. Dapat ditimpa oleh parameter `codebook_do_center_crop` di `preprocess`.

codebook_crop_size (`dict[str, *kwargs*, int]`, *opsional*, defaultnya `{"height" : 224, "width": 224}`): Ukuran output yang diinginkan untuk input codebook saat menerapkan center-cropping. Dapat ditimpa oleh parameter `codebook_crop_size` di `preprocess`.

codebook_do_rescale (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan melakukan penskalaan ulang input untuk codebook dengan skala yang ditentukan `codebook_rescale_factor`. Dapat ditimpa oleh parameter `codebook_do_rescale` di `preprocess`.

codebook_rescale_factor (`int`, *kwargs* atau `float`, *opsional*, defaultnya `1/255`) : Menentukan faktor skala yang digunakan jika melakukan penskalaan ulang gambar codebook. Dapat ditimpa oleh parameter `codebook_rescale_factor` di `preprocess`.

codebook_do_map_pixels (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah memetakan nilai piksel dari input codebook ke (1 - 2e)x + e. Dapat ditimpa oleh parameter `codebook_do_map_pixels` di `preprocess`.

codebook_do_normalize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan menormalisasi input untuk codebook dengan `codebook_image_mean` dan `codebook_image_std`. Dapat ditimpa oleh parameter `codebook_do_normalize` di `preprocess`.

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`, *opsional*, defaultnya `[0, 0, 0]`) : Rangkaian nilai rata-rata untuk setiap channel, yang digunakan saat menormalisasi gambar untuk codebook. Dapat ditimpa oleh parameter `codebook_image_mean` di `preprocess`.

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`, *opsional*, defaultnya `[0.5, 0.5, 0.5]`) : Rangkaian deviasi standar untuk setiap channel, yang digunakan saat menormalisasi gambar untuk codebook. Dapat ditimpa oleh parameter `codebook_image_std` di `preprocess`.

Membangun pemroses gambar 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'>)
```

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

**Parameter:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : Gambar yang akan dipreprocess. Mengharapkan satu gambar atau batch gambar dengan nilai piksel berkisar dari 0 hingga 255. Jika memasukkan gambar dengan nilai piksel antara 0 dan 1, atur `do_rescale=False`.

do_convert_rgb (`bool`, *kwargs*, *opsional*) : Apakah akan mengkonversi gambar ke RGB.

do_resize (`bool`, *kwargs*, *opsional*) : Apakah akan mengubah ukuran gambar.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Menjelaskan dimensi input maksimum ke model.

default_to_square (`bool`, *kwargs*, *opsional*) : Apakah secara default menggunakan gambar persegi saat mengubah ukuran, jika size berupa int.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Ukuran gambar keluaran setelah menerapkan `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : Filter resampling yang digunakan saat mengubah ukuran gambar. Nilai ini dapat berupa salah satu enum `PILImageResampling`. Hanya berpengaruh jika `do_resize` diatur ke `True`.

do_rescale (`bool`, *kwargs*, *opsional*) : Apakah akan melakukan penskalaan ulang pada gambar.

rescale_factor (`float`, *kwargs*, *opsional*) : Faktor penskalaan ulang untuk menskalakan ulang gambar jika `do_rescale` diatur ke `True`.

do_normalize (`bool`, *kwargs*, *opsional*) : Apakah akan menormalisasi gambar.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsional*) : Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika `do_normalize` diatur ke `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsional*) : Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika `do_normalize` diatur ke `True`.

do_pad (`bool`, *kwargs*, *opsional*) : Apakah akan melakukan padding pada gambar. Padding dilakukan hingga ukuran terbesar dalam batch atau hingga ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Ukuran dalam `{"height": int, "width" int}` untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang diberikan untuk pra-pemrosesan. Jika `pad_size` tidak diberikan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketika `do_pad=True.`

do_center_crop (`bool`, *kwargs*, *opsional*) : Apakah akan melakukan center crop pada gambar.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *opsional*) : Hanya `ChannelDimension.FIRST` yang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *opsional*) : Format dimensi channel untuk gambar input. Jika tidak disetel, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari: - `"channels_first"` atau `ChannelDimension.FIRST`: gambar dalam format (num_channels, height, width). - `"channels_last"` atau `ChannelDimension.LAST`: gambar dalam format (height, width, num_channels). - `"none"` atau `ChannelDimension.NONE`: gambar dalam format (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : Mengembalikan tensor yang ditumpuk jika disetel ke `'pt'`, selain itu mengembalikan daftar tensor.

disable_grouping (`bool`, *kwargs*, *opsional*) : Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan tidak dalam batch. Jika None, akan diset ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`, *kwargs*, *opsional*) : Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini sebaiknya diatur sebagai atribut prosesor pada model-model mendatang.

return_image_mask (`bool`, *kwargs*, *opsional*, defaultnya `False`) : Apakah akan mengembalikan image mask. Dapat ditimpa oleh parameter `return_image_mask` di `preprocess`.

input_size_patches (`int`, *kwargs*, *opsional*, defaultnya `14`) : Jumlah patch pada gambar dalam arah tinggi dan lebar. 14x14 = total 196 patch. Dapat ditimpa oleh parameter `input_size_patches` di `preprocess`.

total_mask_patches (`int`, *kwargs*, *opsional*, defaultnya `75`) : Total jumlah patch yang harus di-mask. Dapat ditimpa oleh parameter `total_mask_patches` di `preprocess`.

mask_group_min_patches (`int`, *kwargs*, *opsional*, defaultnya `16`) : Jumlah minimum patch yang harus dimasker. Dapat ditimpa oleh parameter `mask_group_min_patches` di `preprocess`.

mask_group_max_patches (`int`, *kwargs*, *opsional*) : Jumlah maksimum patch yang harus dimasker. Dapat ditimpa oleh parameter `mask_group_max_patches` di `preprocess`.

mask_group_min_aspect_ratio (`float`, *kwargs*, *opsional*, defaultnya `0.3`) : Rasio aspek minimum dari jendela mask. Dapat ditimpa oleh parameter `mask_group_min_aspect_ratio` di `preprocess`.

mask_group_max_aspect_ratio (`float`, *kwargs*, *opsional*) : Rasio aspek maksimum dari jendela mask. Dapat ditimpa oleh parameter `mask_group_max_aspect_ratio` di `preprocess`.

return_codebook_pixels (`bool`, *kwargs*, *opsional*, defaultnya `False`) : Apakah akan mengembalikan nilai piksel codebook.

codebook_do_resize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan mengubah ukuran input untuk codebook menjadi ukuran tertentu. Dapat ditimpa oleh parameter `codebook_do_resize` di `preprocess`. `codebook_size`.

codebook_size (`dict[str, *kwargs*, int]`, *opsional*, defaultnya `{"height" : 224, "width": 224}`): Ubah ukuran input untuk codebook ke ukuran yang diberikan. Dapat ditimpa oleh parameter `codebook_size` di `preprocess`.

codebook_resample (`PILImageResampling`, *kwargs*, *opsional*, defaultnya `PILImageResampling.LANCZOS`) : Filter resampling yang digunakan jika mengubah ukuran gambar codebook. Dengan torchvision < 0.27, LANCZOS tidak didukung untuk Tensor torch dan BICUBIC digunakan sebagai alternatif terdekat. Dapat ditimpa oleh parameter `codebook_resample` di `preprocess`.

codebook_do_center_crop (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan memotong input untuk codebook di bagian tengah. Jika ukuran input lebih kecil dari `codebook_crop_size` di sepanjang sisi mana pun, gambar akan dipad dengan 0 dan kemudian dipotong di tengah. Dapat ditimpa oleh parameter `codebook_do_center_crop` di `preprocess`.

codebook_crop_size (`dict[str, *kwargs*, int]`, *opsional*, defaultnya `{"height" : 224, "width": 224}`): Ukuran output yang diinginkan untuk input codebook saat menerapkan center-cropping. Dapat ditimpa oleh parameter `codebook_crop_size` di `preprocess`.

codebook_do_rescale (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan melakukan penskalaan ulang input untuk codebook dengan skala yang ditentukan `codebook_rescale_factor`. Dapat ditimpa oleh parameter `codebook_do_rescale` di `preprocess`.

codebook_rescale_factor (`int`, *kwargs* atau `float`, *opsional*, defaultnya `1/255`) : Menentukan faktor skala yang digunakan jika melakukan penskalaan ulang gambar codebook. Dapat ditimpa oleh parameter `codebook_rescale_factor` di `preprocess`.

codebook_do_map_pixels (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah memetakan nilai piksel dari input codebook ke (1 - 2e)x + e. Dapat ditimpa oleh parameter `codebook_do_map_pixels` di `preprocess`.

codebook_do_normalize (`bool`, *kwargs*, *opsional*, defaultnya `True`) : Apakah akan menormalisasi input untuk codebook dengan `codebook_image_mean` dan `codebook_image_std`. Dapat ditimpa oleh parameter `codebook_do_normalize` di `preprocess`.

codebook_image_mean (`Optional[Union[float, *kwargs*, Iterable[float]]]`, *opsional*, defaultnya `[0, 0, 0]`) : Rangkaian nilai rata-rata untuk setiap channel, yang digunakan saat menormalisasi gambar untuk codebook. Dapat ditimpa oleh parameter `codebook_image_mean` di `preprocess`.

codebook_image_std (`Optional[Union[float, *kwargs*, Iterable[float]]]`, *opsional*, defaultnya `[0.5, 0.5, 0.5]`) : Rangkaian deviasi standar untuk setiap channel, yang digunakan saat menormalisasi gambar untuk codebook. Dapat ditimpa oleh parameter `codebook_image_std` di `preprocess`.

**Mengembalikan:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- Dictionary berisi list/array/tensor yang dikembalikan oleh metode __call__ ('pixel_values', dll.).
- **tensor_type** (`Union[None, str, TensorType]`, *opsional*) -- Anda dapat memberikan tensor_type di sini untuk mengonversi daftar bilangan bulat menjadi Tensor PyTorch/Numpy saat inisialisasi.

## FlavaForPreTraining[[transformers.FlavaForPreTraining]]

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

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

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

**Parameter:**

config ([FlavaConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaConfig)) : Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode [from_pretrained()](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel.from_pretrained) untuk memuat bobot model.

image_codebook (`torch.nn.Module`, *opsional*) : Jika diberikan, image codebook akan diset ke modul ini. Jika tidak, inisialisasi akan dilakukan menggunakan image_codebook_config yang didefinisikan dalam config sebagai parameter pertama.

Model FLAVA untuk pra-pelatihan yang menghasilkan kerugian, penanam, logit, dan keluaran transformer.

Model ini mewarisi dari [PreTrainedModel](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel). Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka ini untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran input embeddings, memangkas heads, dll.)

Model ini juga merupakan subclass dari [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

#### 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.Tensor] = None, codebook_pixel_values: typing.Optional[torch.Tensor] = 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)
```

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

**Parameter:**

input_ids (`torch.LongTensor` dengan bentuk `(batch_size, text_seq_len)`) : Indeks token dari urutan input dalam kosakata. Indeks dapat diperoleh menggunakan [AutoTokenizer](/docs/transformers/main/id/model_doc/auto#transformers.AutoTokenizer). Lihat [PreTrainedTokenizer.encode()](/docs/transformers/main/id/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) dan [PreTrainedTokenizer.__call__()](/docs/transformers/main/id/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) untuk detailnya. [Apa itu input ID?](../glossary#input-ids)

input_ids_masked (`torch.LongTensor` dengan bentuk `(batch_size, text_seq_len)`) : Indeks token dari urutan input dalam kosakata. Yang ini adalah versi ter-mask dari tugas asli yang akan digunakan dengan MLM. Indeks dapat diperoleh menggunakan [AutoTokenizer](/docs/transformers/main/id/model_doc/auto#transformers.AutoTokenizer) bersama dengan `DataCollatorForMaskedLanguageModeling`. Lihat [PreTrainedTokenizer.encode()](/docs/transformers/main/id/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) dan [PreTrainedTokenizer.__call__()](/docs/transformers/main/id/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) untuk detailnya. [Apa itu input IDs?](../glossary#input-ids)

pixel_values (`torch.Tensor` dengan bentuk `(batch_size, num_channels, image_size, image_size)`, *opsional*) : Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan [FlavaImageProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageProcessor). Lihat [FlavaImageProcessor.__call__()](/docs/transformers/main/id/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) untuk detailnya ([FlavaProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaProcessor) menggunakan [FlavaImageProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageProcessor) untuk memproses gambar).

codebook_pixel_values (`torch.Tensor` dengan bentuk `(batch_size, num_image_patches, patch_size, patch_size, 3)`, *opsional*) : Nilai piksel untuk patch gambar yang digunakan untuk menghitung label codebook gambar untuk masked image modeling.

attention_mask (`torch.Tensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Mask untuk menghindari pelaksanaan attention pada indeks token padding. Nilai mask dipilih dalam `[0, 1]`:  - 1 untuk token yang **tidak di-mask**, - 0 untuk token yang **di-mask**.  [Apa itu attention masks?](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` dengan bentuk `(batch_size, text_seq_len)`, *opsional*) : Indeks token segmen untuk menunjukkan bagian pertama dan kedua dari input. Indeks dipilih dalam `[0, 1]`: - 0 sesuai dengan token *sentence A*, - 1 sesuai dengan token *sentence B*. [Apa itu token type IDs?](../glossary#token-type-ids)

bool_masked_pos (`torch.BoolTensor` dengan bentuk `(batch_size, image_num_patches)`) : Posisi yang dimasker secara Boolean. Menunjukkan patch mana yang dimasker (1) dan mana yang tidak (0).

position_ids (`torch.LongTensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Indeks posisi token dari setiap urutan input dalam embedding posisi. Dipilih dalam rentang `[0, config.n_positions - 1]`.  [Apa itu position ID?](../glossary#position-ids)

image_attention_mask (`torch.Tensor` dengan bentuk `(batch_size, image_num_patches)`, *opsional*) : Mask untuk menghindari pelaksanaan attention pada indeks token padding, khususnya untuk gambar. Nilai mask dipilih dari `[0, 1]`: - 1 untuk token yang **tidak dimask**, - 0 untuk token yang **dimask**. [Apa itu attention mask?](../glossary#attention-mask)

skip_unmasked_multimodal_encoder (`*bool*`, *opsional*) : Lewati semua perhitungan untuk encoder multimodal pada input yang tidak dimasker. Pra-pelatihan FLAVA saat ini tidak memerlukan embedding atau output multimodal yang tidak dimasker.

mlm_labels (`torch.LongTensor` dengan bentuk `(batch_size, text_seq_len)`, *opsional*) : Label untuk menghitung kerugian pemodelan bahasa dan multimodal yang dimasker dari kiri ke kanan (prediksi kata berikutnya). Indeks harus berada dalam `[-100, 0, ..., text_config.vocab_size - 1]` (lihat docstring `input_ids`). Token dengan indeks yang disetel ke `-100` diabaikan (dimasker), kerugian hanya dihitung untuk token dengan label dalam `[0, ..., text_config.vocab_size - 1]`.

mim_labels (`torch.LongTensor` dengan bentuk `(batch_size, image_num_patches)`, *opsional*) : Label untuk menghitung loss pemodelan tersembunyi (masked modeling) gambar dan multimodal. Indeks harus berada dalam `[-100, 0, ..., image_config.vocab_size - 1]`. Token dengan indeks yang disetel ke `-100` diabaikan (diterapkan masker), loss hanya dihitung untuk token dengan label dalam `[0, ..., image_config.vocab_size - 1]`. Jika tidak diberikan, label ini dihasilkan secara otomatis menggunakan image codebook yang ditugaskan ke model. Secara default, menggunakan [FlavaImageCodebook](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageCodebook). Lihat [FlavaImageCodebook](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageCodebook) untuk memahami cara menghasilkan mim_labels.

itm_labels (`torch.LongTensor` dengan bentuk `(batch_size, 1)`, *opsional*) : Label untuk menghitung kerugian pencocokan gambar-teks. 0 berarti pasangan tidak cocok dan 1 berarti cocok. Pasangan dengan 0 juga akan dilewati untuk perhitungan kerugian MMM dan kontras global.

output_attentions (`bool`, *opsional*) : Apakah akan mengembalikan tensor perhatian dari semua lapisan perhatian. Lihat `attentions` di bawah tensor yang dikembalikan untuk detail lebih lanjut.

output_hidden_states (`bool`, *opsional*, defaultnya `True`) : Apakah akan mengembalikan hidden states dari semua lapisan. Lihat `hidden_states` di bawah tensor yang dikembalikan untuk detail lebih lanjut.

return_dict (`bool`, *opsional*) : Apakah akan mengembalikan [ModelOutput](/docs/transformers/main/id/main_classes/output#transformers.utils.ModelOutput) alih-alih tuple biasa.

return_loss (`bool`, *opsional*, default None) : Apakah akan mengembalikan loss yang dihitung atau tidak.

**Mengembalikan:** `FlavaForPreTrainingOutput` atau `tuple(torch.Tensor)`

Sebuah `FlavaForPreTrainingOutput` atau tuple dari `torch.Tensor` (jika `return_dict=False` diteruskan atau ketika `config.return_dict=False`) yang terdiri dari berbagai elemen tergantung pada konfigurasi ([FlavaConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaConfig)) dan input.

Metode forward dari [FlavaForPreTraining](/docs/transformers/main/id/model_doc/flava#transformers.FlavaForPreTraining) menimpa metode khusus `__call__`.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance `Module` setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

- **loss** (`torch.Tensor`, *opsional*, dikembalikan saat `return_loss` bernilai True) -- Total loss yang dihitung untuk model ini.
- **loss_info** (`~models.flava.modeling_flava.FlavaLosses`, *opsional*) -- Informasi detail untuk loss prapelatihan FLAVA. Periksa deskripsi kelas `FlavaLosses` untuk informasi tentang kuncinya.
- **image_embeddings** (`torch.Tensor` dengan bentuk `(batch_size, output_dim)`, *opsional*, dikembalikan ketika `pixel_values` ada) -- Embedding gambar yang pada dasarnya merupakan output ter-pool dari [FlavaImageModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageModel).
- **image_output** (`BaseModelOutputWithPooling`, *opsional*, dikembalikan saat `pixel_values` ada) -- Output dari [FlavaImageModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageModel).
- **text_embeddings** (`torch.Tensor` dengan bentuk `(batch_size, output_dim)`, *opsional*, dikembalikan ketika `input_ids` ada) -- Embedding teks yang pada dasarnya merupakan output ter-pool dari [FlavaTextModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextModel).
- **text_output** (`BaseModelOutputWithPooling`, *opsional*, dikembalikan saat `input_ids` ada) -- Output dari [FlavaTextModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_embeddings** (`torch.Tensor` dengan bentuk `(batch_size, output_dim)`, *opsional*, dikembalikan ketika `input_ids` dan `pixel_values` ada dan `skip_unmasked_multimodal_encoder` bernilai `None` atau `False`) -- Embedding multimodal yang pada dasarnya adalah output ter-pool dari [FlavaTextModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_output** (`BaseModelOutputWithPooling`, dikembalikan ketika `input_ids` dan `pixel_values` ada dan `skip_unmasked_multimodal_encoder` adalah `None` atau `False`) -- Output dari [FlavaMultimodalModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaMultimodalModel).
- **image_masked_embeddings** (`torch.Tensor` dengan bentuk `(batch_size, output_dim)`, *opsional*, dikembalikan ketika `pixel_values` ada) -- Embedding gambar yang pada dasarnya adalah output ter-pool dari [FlavaImageModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageModel). Menggunakan `bool_masked_pos` untuk membuat gambar yang di-mask.
- **image_masked_output** (`BaseModelOutputWithPooling`, *opsional*, dikembalikan saat `pixel_values` ada) -- Output dari [FlavaImageModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageModel). Menggunakan `bool_masked_pos` untuk membuat gambar yang dimasker.
- **text_masked_embeddings** (`torch.Tensor` dengan bentuk `(batch_size, output_dim)`, *opsional*, dikembalikan ketika `input_ids_masked` ada) -- Embedding teks yang pada dasarnya merupakan output ter-pool dari [FlavaTextModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextModel).
- **text_masked_output** (`BaseModelOutputWithPooling`, *opsional*, dikembalikan saat `input_ids_masked` hadir) -- Output dari [FlavaTextModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_masked_embeddings** (`torch.Tensor` dengan bentuk `(batch_size, output_dim)`, *opsional*, dikembalikan ketika `input_ids` dan `pixel_values` ada) -- Embedding multimodal yang pada dasarnya adalah output ter-pool dari [FlavaTextModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_masked_output** (`BaseModelOutputWithPooling`, *opsional*, dikembalikan saat `input_ids_masked` dan `pixel_values` ada) -- Output dari [FlavaMultimodalModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaMultimodalModel).
- **mim_logits** (`torch.Tensor` dengan bentuk `(batch_size, num_image_patches, image_vocab_size)` atau bentuk `(total_masked_patches, image_vocab_size)` , *opsional*, dikembalikan ketika `pixel_values` ada dan `input_ids_masked` tidak ada) -- Logits untuk kerugian unimodal MIM. Menggunakan `bool_masked_pos` untuk mendapatkan patch yang dimasker. Output yang diratakan dikembalikan ketika `bool_masked_pos` memiliki beberapa patch yang dimasker.
- **mlm_logits** (`torch.Tensor` dengan bentuk `(batch_size, text_seq_length, text_vocab_size)` atau bentuk `(total_masked_seq_length, text_vocab_size)`, *opsional*, dikembalikan ketika `input_ids_masked` hadir dan `pixel_values` tidak) -- Logits untuk kerugian unimodal MLM. Output yang diratakan dikembalikan ketika `input_ids_masked` memiliki beberapa token yang dimasker.
- **itm_logits** (`torch.Tensor` dengan bentuk `(batch_size, 2)`, *opsional*, dikembalikan ketika `input_ids_masked` dan `pixel_values` ada) -- Logits untuk loss ITM. Perhatikan bahwa loss ITM dihitung pada pasangan yang di-mask dalam FLAVA.
- **contrastive_logits_per_image** (`torch.Tensor` dengan bentuk `(image_batch_size, text_batch_size)`) -- Skor dot product berskala antara `image_embeddings` dan `text_embeddings` yang telah melewati lapisan `image_projection` dan `text_projection` FLAVA masing-masing. Ini mewakili skor kemiripan gambar-teks. Ini dihitung pada gambar dan teks yang tidak dimasker.
- **contrastive_logits_per_text** (`torch.Tensor` dengan bentuk `(text_batch_size, image_batch_size)`) -- Skor dot product berskala antara `text_embeddings` dan `image_embeddings` yang telah melewati lapisan `text_projection` dan `image_projection` FLAVA masing-masing. Ini dihitung pada gambar dan teks yang tidak dimasker.
- **mmm_image_logits** (`torch.Tensor` dengan bentuk `(batch_size, num_image_patches, image_vocab_size)` atau bentuk`(total_masked_patches, image_vocab_size)`, *opsional*, dikembalikan ketika `pixel_values` dan `input_ids_masked` ada) -- Logits untuk loss multimodal gambar MMM. Menggunakan `bool_masked_pos` untuk mendapatkan patch yang di-mask. Output yang diratakan dikembalikan ketika `bool_masked_pos` memiliki beberapa patch yang di-mask.
- **mmm_text_logits** (`torch.Tensor` dengan bentuk `(batch_size, text_seq_length, text_vocab_size)` atau bentuk `(total_masked_seq_length, text_vocab_size)`, *opsional*, dikembalikan ketika `pixel_values` dan `input_ids_masked` ada) -- Logits untuk loss multimodal teks MMM. Output yang diratakan dikembalikan ketika `input_ids_masked` memiliki beberapa token yang dimasker.

Contoh:
```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)
```

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

**Parameter:**

config ([FlavaConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaConfig)) : Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode [from_pretrained()](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel.from_pretrained) untuk memuat bobot model.

Model Flava polos yang menghasilkan hidden-states mentah tanpa head spesifik di atasnya.

Model ini mewarisi dari [PreTrainedModel](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel). Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka ini untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran input embeddings, memangkas heads, dll.)

Model ini juga merupakan subclass dari [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

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

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, pixel_values: typing.Optional[torch.Tensor] = 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)
```

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

**Parameter:**

input_ids (`torch.LongTensor` dengan bentuk `(batch_size, image_num_patches + text_seq_len)`) : Indeks token dari urutan input dalam kosakata. Indeks dapat diperoleh menggunakan [AutoTokenizer](/docs/transformers/main/id/model_doc/auto#transformers.AutoTokenizer). Lihat [PreTrainedTokenizer.encode()](/docs/transformers/main/id/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) dan [PreTrainedTokenizer.__call__()](/docs/transformers/main/id/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) untuk detailnya. [Apa itu input ID?](../glossary#input-ids)

pixel_values (`torch.Tensor` dengan bentuk `(batch_size, num_channels, image_size, image_size)`, *opsional*) : Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan [FlavaImageProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageProcessor). Lihat [FlavaImageProcessor.__call__()](/docs/transformers/main/id/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) untuk detailnya ([FlavaProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaProcessor) menggunakan [FlavaImageProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageProcessor) untuk memproses gambar).

attention_mask (`torch.Tensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Mask untuk menghindari pelaksanaan attention pada indeks token padding. Nilai mask dipilih dalam `[0, 1]`:  - 1 untuk token yang **tidak di-mask**, - 0 untuk token yang **di-mask**.  [Apa itu attention masks?](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` dengan bentuk `(batch_size, image_num_patches + text_seq_len)`, *opsional*) : Indeks token segmen untuk menunjukkan bagian pertama dan kedua dari input. Indeks dipilih dalam `[0, 1]`: - 0 sesuai dengan token *sentence A*, - 1 sesuai dengan token *sentence B*. [Apa itu token type IDs?](../glossary#token-type-ids)

bool_masked_pos (`torch.BoolTensor` dengan bentuk `(batch_size, image_num_patches)`) : Posisi yang dimasker secara Boolean. Menunjukkan patch mana yang dimasker (1) dan mana yang tidak (0).

position_ids (`torch.LongTensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Indeks posisi token dari setiap urutan input dalam embedding posisi. Dipilih dalam rentang `[0, config.n_positions - 1]`.  [Apa itu position ID?](../glossary#position-ids)

image_attention_mask (`torch.Tensor` dengan bentuk `(batch_size, image_num_patches)`, *opsional*) : Mask untuk menghindari pelaksanaan perhatian pada nilai piksel padding untuk input gambar. Nilai mask yang dipilih dalam `[0, 1]`: - 1 untuk nilai piksel yang asli (yaitu, **tidak dimask**), - 0 untuk nilai piksel yang merupakan padding (yaitu, **dimask**).

skip_multimodal_encoder (`*bool*`, *opsional*) : Lewati semua perhitungan untuk encoder multimodal. Berguna jika encoding multimodal tidak akan digunakan.

output_attentions (`bool`, *opsional*) : Apakah akan mengembalikan tensor perhatian dari semua lapisan perhatian. Lihat `attentions` di bawah tensor yang dikembalikan untuk detail lebih lanjut.

output_hidden_states (`bool`, *opsional*, defaultnya `True`) : Apakah akan mengembalikan hidden states dari semua lapisan. Lihat `hidden_states` di bawah tensor yang dikembalikan untuk detail lebih lanjut.

return_dict (`bool`, *opsional*) : Apakah akan mengembalikan [ModelOutput](/docs/transformers/main/id/main_classes/output#transformers.utils.ModelOutput) alih-alih tuple biasa.

**Mengembalikan:** `FlavaModelOutput` atau `tuple(torch.Tensor)`

`FlavaModelOutput` atau tuple dari `torch.Tensor` (jika `return_dict=False` dilewatkan atau ketika `config.return_dict=False`) yang terdiri dari berbagai elemen tergantung pada konfigurasi ([FlavaConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaConfig)) dan input.

Metode forward dari [FlavaModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaModel) menimpa metode khusus `__call__`.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance `Module` setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

- **image_embeddings** (`torch.Tensor` dengan bentuk `(batch_size, output_dim)`, *opsional*, dikembalikan ketika `pixel_values` ada) -- Embedding gambar yang pada dasarnya merupakan output ter-pool dari [FlavaImageModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageModel).
- **image_output** (`BaseModelOutputWithPooling`, *opsional*, dikembalikan saat `pixel_values` ada) -- Output dari [FlavaImageModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageModel).
- **text_embeddings** (`torch.Tensor` dengan bentuk `(batch_size, output_dim)`, *opsional*, dikembalikan ketika `input_ids` ada) -- Embedding teks yang pada dasarnya merupakan output ter-pool dari [FlavaTextModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextModel).
- **text_output** (`BaseModelOutputWithPooling`, *opsional*, dikembalikan saat `input_ids` ada) -- Output dari [FlavaTextModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_embeddings** (`torch.Tensor` dengan bentuk `(batch_size, output_dim)`, *opsional*, dikembalikan ketika `input_ids` dan `pixel_values` ada dan `skip_multimodal_encoder` bernilai `None` atau `False`) -- Embedding multimodal yang pada dasarnya adalah output ter-pool dari [FlavaTextModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextModel).
- **multimodal_output** (`BaseModelOutputWithPooling`, dikembalikan ketika `input_ids` dan `pixel_values` ada dan `skip_multimodal_encoder` adalah `None` atau `False`) -- Output dari [FlavaMultimodalModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaMultimodalModel).

Contoh:

```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'>)
```

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

**Parameter:**

input_ids (`torch.LongTensor` dengan bentuk `(batch_size, text_seq_length)`) : Indeks token dari urutan input dalam kosakata. Indeks dapat diperoleh menggunakan [AutoTokenizer](/docs/transformers/main/id/model_doc/auto#transformers.AutoTokenizer). Lihat [PreTrainedTokenizer.encode()](/docs/transformers/main/id/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) dan [PreTrainedTokenizer.__call__()](/docs/transformers/main/id/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) untuk detailnya. [Apa itu input ID?](../glossary#input-ids)

attention_mask (`torch.Tensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Mask untuk menghindari pelaksanaan attention pada indeks token padding. Nilai mask dipilih dalam `[0, 1]`:  - 1 untuk token yang **tidak di-mask**, - 0 untuk token yang **di-mask**.  [Apa itu attention masks?](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` dengan bentuk `(batch_size, text_seq_length)`, *opsional*) : Indeks token segmen untuk menunjukkan bagian pertama dan kedua dari input. Indeks dipilih dalam `[0, 1]`: - 0 sesuai dengan token *sentence A*, - 1 sesuai dengan token *sentence B*. [Apa itu token type IDs?](../glossary#token-type-ids)

position_ids (`torch.Tensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Indeks posisi token dari setiap urutan input dalam embedding posisi. Dipilih dalam rentang `[0, config.n_positions - 1]`.  [Apa itu position ID?](../glossary#position-ids)

**Mengembalikan:** [BaseModelOutputWithPooling](/docs/transformers/main/id/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) atau `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/main/id/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) atau tuple dari `torch.Tensor` (jika `return_dict=False` diteruskan atau ketika `config.return_dict=False`) yang terdiri dari berbagai elemen tergantung pada konfigurasi ([FlavaConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaConfig)) dan input.

- **last_hidden_state** (`torch.Tensor` dengan bentuk `(batch_size, sequence_length, hidden_size)`) -- Urutan hidden-states pada keluaran lapisan terakhir model.
- **pooler_output** (`torch.Tensor` dengan bentuk `(batch_size, hidden_size)`) -- Hidden-state lapisan terakhir dari token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.
- **hidden_states** (`tuple(torch.Tensor)`, *opsional*, dikembalikan saat `output_hidden_states=True` dilewatkan atau saat `config.output_hidden_states=True`) -- Tuple dari `torch.Tensor` (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk `(batch_size, sequence_length, hidden_size)`.

  Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
- **attentions** (`tuple(torch.Tensor)`, *opsional*, dikembalikan ketika `output_attentions=True` dilewatkan atau ketika `config.output_attentions=True`) -- Tuple dari `torch.Tensor` (satu untuk setiap layer) dengan bentuk `(batch_size, num_heads, sequence_length, sequence_length)`.

  Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala self-attention.

Contoh:

```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'>)
```

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

**Parameter:**

pixel_values (`torch.Tensor` dengan bentuk `(batch_size, num_channels, image_size, image_size)`) : Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan [FlavaImageProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageProcessor). Lihat [FlavaImageProcessor.__call__()](/docs/transformers/main/id/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) untuk detailnya ([FlavaProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaProcessor) menggunakan [FlavaImageProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageProcessor) untuk memproses gambar).

bool_masked_pos (`torch.BoolTensor` dengan bentuk `(batch_size, image_num_patches)`) : Posisi yang dimasker secara Boolean. Menunjukkan patch mana yang dimasker (1) dan mana yang tidak (0).

interpolate_pos_encoding (`bool`, *opsional*) : Apakah akan menginterpolasi enkoding posisi yang telah dilatih sebelumnya.

attention_mask (`torch.Tensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Mask untuk menghindari pelaksanaan attention pada indeks token padding. Nilai mask dipilih dalam `[0, 1]`:  - 1 untuk token yang **tidak di-mask**, - 0 untuk token yang **di-mask**.  [Apa itu attention masks?](../glossary#attention-mask)

**Mengembalikan:** [BaseModelOutputWithPooling](/docs/transformers/main/id/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) atau `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/main/id/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) atau tuple dari `torch.Tensor` (jika `return_dict=False` diteruskan atau ketika `config.return_dict=False`) yang terdiri dari berbagai elemen tergantung pada konfigurasi ([FlavaConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaConfig)) dan input.

- **last_hidden_state** (`torch.Tensor` dengan bentuk `(batch_size, sequence_length, hidden_size)`) -- Urutan hidden-states pada keluaran lapisan terakhir model.
- **pooler_output** (`torch.Tensor` dengan bentuk `(batch_size, hidden_size)`) -- Hidden-state lapisan terakhir dari token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.
- **hidden_states** (`tuple(torch.Tensor)`, *opsional*, dikembalikan saat `output_hidden_states=True` dilewatkan atau saat `config.output_hidden_states=True`) -- Tuple dari `torch.Tensor` (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk `(batch_size, sequence_length, hidden_size)`.

  Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
- **attentions** (`tuple(torch.Tensor)`, *opsional*, dikembalikan ketika `output_attentions=True` dilewatkan atau ketika `config.output_attentions=True`) -- Tuple dari `torch.Tensor` (satu untuk setiap layer) dengan bentuk `(batch_size, num_heads, sequence_length, sequence_length)`.

  Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala self-attention.

Contoh:

```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)
```

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

**Parameter:**

config ([FlavaImageCodebookConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageCodebookConfig)) : Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode [from_pretrained()](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel.from_pretrained) untuk memuat bobot model.

Model codebook gambar FLAVA terinspirasi dari encoder asli DALL-E. Menghasilkan hidden states mentah dan dapat digunakan untuk menghasilkan token gambar berdasarkan vocab DALL-E. Digunakan untuk menghasilkan label untuk MIM. Gunakan `get_codebook_indices` untuk mendapatkan token gambar dari sebuah gambar.

Model ini mewarisi dari [PreTrainedModel](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel). Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka ini untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran input embeddings, memangkas heads, dll.)

Model ini juga merupakan subclass dari [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

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

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

[Sumber](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)
```

[Sumber](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)
```

[Sumber](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)
```

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

**Parameter:**

config ([FlavaTextConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextConfig)) : Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode [from_pretrained()](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel.from_pretrained) untuk memuat bobot model.

add_pooling_layer (`bool`, *opsional*, defaultnya `True`) : Apakah akan menambahkan lapisan pooling

Model Teks Flava polos yang menghasilkan hidden-states mentah tanpa head spesifik di atasnya.

Model ini mewarisi dari [PreTrainedModel](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel). Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka ini untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran input embeddings, memangkas heads, dll.)

Model ini juga merupakan subclass dari [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

#### 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)
```

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

**Parameter:**

input_ids (`torch.LongTensor` dengan bentuk `(batch_size, text_seq_length)`) : Indeks token dari urutan input dalam kosakata. Indeks dapat diperoleh menggunakan [AutoTokenizer](/docs/transformers/main/id/model_doc/auto#transformers.AutoTokenizer). Lihat [PreTrainedTokenizer.encode()](/docs/transformers/main/id/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) dan [PreTrainedTokenizer.__call__()](/docs/transformers/main/id/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) untuk detailnya. [Apa itu input ID?](../glossary#input-ids)

attention_mask (`torch.Tensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Mask untuk menghindari pelaksanaan attention pada indeks token padding. Nilai mask dipilih dalam `[0, 1]`:  - 1 untuk token yang **tidak di-mask**, - 0 untuk token yang **di-mask**.  [Apa itu attention masks?](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` dengan bentuk `(batch_size, text_seq_length)`, *opsional*) : Indeks token segmen untuk menunjukkan bagian pertama dan kedua dari input. Indeks dipilih dalam `[0, 1]`: - 0 sesuai dengan token *sentence A*, - 1 sesuai dengan token *sentence B*. [Apa itu token type IDs?](../glossary#token-type-ids)

position_ids (`torch.Tensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Indeks posisi token dari setiap urutan input dalam embedding posisi. Dipilih dalam rentang `[0, config.n_positions - 1]`.  [Apa itu position ID?](../glossary#position-ids)

output_attentions (`bool`, *opsional*) : Apakah akan mengembalikan tensor perhatian dari semua lapisan perhatian. Lihat `attentions` di bawah tensor yang dikembalikan untuk detail lebih lanjut.

output_hidden_states (`bool`, *opsional*) : Apakah akan mengembalikan hidden states dari semua lapisan. Lihat `hidden_states` di bawah tensor yang dikembalikan untuk detail lebih lanjut.

return_dict (`bool`, *opsional*) : Apakah akan mengembalikan [ModelOutput](/docs/transformers/main/id/main_classes/output#transformers.utils.ModelOutput) alih-alih tuple biasa.

**Mengembalikan:** [BaseModelOutputWithPooling](/docs/transformers/main/id/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) atau `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/main/id/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) atau tuple dari `torch.Tensor` (jika `return_dict=False` diteruskan atau ketika `config.return_dict=False`) yang terdiri dari berbagai elemen tergantung pada konfigurasi ([FlavaConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaConfig)) dan input.

Metode forward dari [FlavaTextModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaTextModel) menimpa metode khusus `__call__`.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance `Module` setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

- **last_hidden_state** (`torch.Tensor` dengan bentuk `(batch_size, sequence_length, hidden_size)`) -- Urutan hidden-states pada keluaran lapisan terakhir model.
- **pooler_output** (`torch.Tensor` dengan bentuk `(batch_size, hidden_size)`) -- Hidden-state lapisan terakhir dari token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.
- **hidden_states** (`tuple(torch.Tensor)`, *opsional*, dikembalikan saat `output_hidden_states=True` dilewatkan atau saat `config.output_hidden_states=True`) -- Tuple dari `torch.Tensor` (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk `(batch_size, sequence_length, hidden_size)`.

  Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
- **attentions** (`tuple(torch.Tensor)`, *opsional*, dikembalikan ketika `output_attentions=True` dilewatkan atau ketika `config.output_attentions=True`) -- Tuple dari `torch.Tensor` (satu untuk setiap layer) dengan bentuk `(batch_size, num_heads, sequence_length, sequence_length)`.

  Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala self-attention.

## FlavaImageModel[[transformers.FlavaImageModel]]

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

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

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

**Parameter:**

config ([FlavaImageConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageConfig)) : Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode [from_pretrained()](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel.from_pretrained) untuk memuat bobot model.

add_pooling_layer (`bool`, *opsional*, defaultnya `True`) : Apakah akan menambahkan lapisan pooling

Model Flava polos yang menghasilkan hidden-states mentah tanpa head spesifik di atasnya.

Model ini mewarisi dari [PreTrainedModel](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel). Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka ini untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran input embeddings, memangkas heads, dll.)

Model ini juga merupakan subclass dari [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

#### 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)
```

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

**Parameter:**

pixel_values (`torch.Tensor` dengan bentuk `(batch_size, num_channels, image_size, image_size)`, *opsional*) : Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan [FlavaImageProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageProcessor). Lihat [FlavaImageProcessor.__call__()](/docs/transformers/main/id/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) untuk detailnya ([FlavaProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaProcessor) menggunakan [FlavaImageProcessor](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageProcessor) untuk memproses gambar).

bool_masked_pos (`torch.BoolTensor` dengan bentuk `(batch_size, image_num_patches)`) : Posisi yang dimasker secara Boolean. Menunjukkan patch mana yang dimasker (1) dan mana yang tidak (0).

interpolate_pos_encoding (`bool`, *opsional*) : Apakah akan menginterpolasi enkoding posisi yang telah dilatih sebelumnya.

attention_mask (`torch.Tensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Mask untuk menghindari pelaksanaan attention pada indeks token padding. Nilai mask dipilih dalam `[0, 1]`:  - 1 untuk token yang **tidak di-mask**, - 0 untuk token yang **di-mask**.  [Apa itu attention masks?](../glossary#attention-mask)

output_attentions (`bool`, *opsional*) : Apakah akan mengembalikan tensor perhatian dari semua lapisan perhatian. Lihat `attentions` di bawah tensor yang dikembalikan untuk detail lebih lanjut.

output_hidden_states (`bool`, *opsional*) : Apakah akan mengembalikan hidden states dari semua lapisan. Lihat `hidden_states` di bawah tensor yang dikembalikan untuk detail lebih lanjut.

return_dict (`bool`, *opsional*) : Apakah akan mengembalikan [ModelOutput](/docs/transformers/main/id/main_classes/output#transformers.utils.ModelOutput) alih-alih tuple biasa.

**Mengembalikan:** [BaseModelOutputWithPooling](/docs/transformers/main/id/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) atau `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/main/id/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) atau tuple dari `torch.Tensor` (jika `return_dict=False` diteruskan atau ketika `config.return_dict=False`) yang terdiri dari berbagai elemen tergantung pada konfigurasi ([FlavaConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaConfig)) dan input.

Metode forward dari [FlavaImageModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaImageModel) menimpa metode khusus `__call__`.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance `Module` setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

- **last_hidden_state** (`torch.Tensor` dengan bentuk `(batch_size, sequence_length, hidden_size)`) -- Urutan hidden-states pada keluaran lapisan terakhir model.
- **pooler_output** (`torch.Tensor` dengan bentuk `(batch_size, hidden_size)`) -- Hidden-state lapisan terakhir dari token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.
- **hidden_states** (`tuple(torch.Tensor)`, *opsional*, dikembalikan saat `output_hidden_states=True` dilewatkan atau saat `config.output_hidden_states=True`) -- Tuple dari `torch.Tensor` (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk `(batch_size, sequence_length, hidden_size)`.

  Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
- **attentions** (`tuple(torch.Tensor)`, *opsional*, dikembalikan ketika `output_attentions=True` dilewatkan atau ketika `config.output_attentions=True`) -- Tuple dari `torch.Tensor` (satu untuk setiap layer) dengan bentuk `(batch_size, num_heads, sequence_length, sequence_length)`.

  Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala self-attention.

## FlavaMultimodalModel[[transformers.FlavaMultimodalModel]]

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

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

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

**Parameter:**

config ([FlavaMultimodalConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaMultimodalConfig)) : Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode [from_pretrained()](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel.from_pretrained) untuk memuat bobot model.

add_pooling_layer (`bool`, *opsional*, defaultnya `True`) : Apakah akan menambahkan lapisan pooling

Model Flava polos yang menghasilkan hidden-states mentah tanpa head spesifik di atasnya.

Model ini mewarisi dari [PreTrainedModel](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel). Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka ini untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran input embeddings, memangkas heads, dll.)

Model ini juga merupakan subclass dari [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

#### 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)
```

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

**Parameter:**

hidden_states (`torch.Tensor` dengan bentuk `(batch_size, image_num_patches + text_seq_len, hidden_size)`) : Hidden states hasil penggabungan dari encoder unimodal.

attention_mask (`torch.Tensor` dengan bentuk `(batch_size, sequence_length)`, *opsional*) : Mask untuk menghindari pelaksanaan attention pada indeks token padding. Nilai mask dipilih dalam `[0, 1]`:  - 1 untuk token yang **tidak di-mask**, - 0 untuk token yang **di-mask**.  [Apa itu attention masks?](../glossary#attention-mask)

output_attentions (`bool`, *opsional*) : Apakah akan mengembalikan tensor perhatian dari semua lapisan perhatian. Lihat `attentions` di bawah tensor yang dikembalikan untuk detail lebih lanjut.

output_hidden_states (`bool`, *opsional*) : Apakah akan mengembalikan hidden states dari semua lapisan. Lihat `hidden_states` di bawah tensor yang dikembalikan untuk detail lebih lanjut.

return_dict (`bool`, *opsional*) : Apakah akan mengembalikan [ModelOutput](/docs/transformers/main/id/main_classes/output#transformers.utils.ModelOutput) alih-alih tuple biasa.

**Mengembalikan:** [BaseModelOutputWithPooling](/docs/transformers/main/id/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) atau `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/main/id/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) atau tuple dari `torch.Tensor` (jika `return_dict=False` diteruskan atau ketika `config.return_dict=False`) yang terdiri dari berbagai elemen tergantung pada konfigurasi ([FlavaConfig](/docs/transformers/main/id/model_doc/flava#transformers.FlavaConfig)) dan input.

Metode forward dari [FlavaMultimodalModel](/docs/transformers/main/id/model_doc/flava#transformers.FlavaMultimodalModel) menimpa metode khusus `__call__`.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance `Module` setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

- **last_hidden_state** (`torch.Tensor` dengan bentuk `(batch_size, sequence_length, hidden_size)`) -- Urutan hidden-states pada keluaran lapisan terakhir model.
- **pooler_output** (`torch.Tensor` dengan bentuk `(batch_size, hidden_size)`) -- Hidden-state lapisan terakhir dari token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.
- **hidden_states** (`tuple(torch.Tensor)`, *opsional*, dikembalikan saat `output_hidden_states=True` dilewatkan atau saat `config.output_hidden_states=True`) -- Tuple dari `torch.Tensor` (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk `(batch_size, sequence_length, hidden_size)`.

  Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
- **attentions** (`tuple(torch.Tensor)`, *opsional*, dikembalikan ketika `output_attentions=True` dilewatkan atau ketika `config.output_attentions=True`) -- Tuple dari `torch.Tensor` (satu untuk setiap layer) dengan bentuk `(batch_size, num_heads, sequence_length, sequence_length)`.

  Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala self-attention.

