Transformers documentation

FLAVA

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

このモデルは2021年12月8日にHF papersで公開され、2022年5月11日にHugging Face Transformersに貢献されました。

FLAVA

概要

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

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

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

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

このモデルは aps によって提供されました。元のコードは こちら で確認できます。

FlavaConfig

class transformers.FlavaConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneimage_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonemultimodal_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Noneimage_codebook_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_size: int = 768layer_norm_eps: float = 1e-12projection_dim: int = 768init_codebook: bool = Truelogit_scale_init_value: float = 2.6592initializer_range: float = 0.02ce_ignore_index: int = -100mim_weight: float = 1.0mlm_weight: float = 1.0global_contrastive_weight: float = 1.0itm_weight: float = 1.0mmm_image_weight: float = 1.0mmm_text_weight: float = 1.0global_backprop_contrastive: bool = Trueskip_unmasked_multimodal_encoder: bool = Truereturn_loss: bool = Truetie_word_embeddings: bool = Trueinitializer_factor: float = 1.0 )

パラメータ

  • image_config (dict, 任意) — FlavaImageConfigを初期化するために使用される設定オプションの辞書。
  • text_config (Union[dict[str, Any], ~configuration_utils.PreTrainedConfig]、省略可) — テキストバックボーンの設定オブジェクトまたは辞書です。
  • multimodal_config (dict, 任意) — FlavaMultimodalConfig を初期化するために使用される設定オプションの辞書です。
  • image_codebook_config (dict, 任意) — FlavaCodebookConfig を初期化するために使用される設定オプションの辞書。
  • hidden_size (int、任意、デフォルトは 768) — 隠れ表現の次元数。
  • layer_norm_eps (float、任意、デフォルトは 1e-12) — レイヤーノーマル層で使用する epsilon です。
  • projection_dim (int、任意、デフォルトは 768) — テキストおよびビジョンの投影層の次元数。
  • init_codebook (bool、省略可、デフォルトは True) — コードブックを初期化するか否か
  • logit_scale_init_value (float, 任意、デフォルト値は 2.6592) — logit_scale パラメータの初期値です。デフォルト値は、元の FLAVA/CLIP 実装に従って使用されます。
  • initializer_range (float、任意、デフォルトは 0.02) — すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。
  • ce_ignore_index (int, 省略可能、デフォルトは -100) — 無視するクロスエントロピーのインデックス。
  • mim_weight (float, 任意、デフォルト値は 1.0) — MIM (Masked Image Modeling) 単一モーダル損失に割り当てられる重み
  • mlm_weight (float, 省略可、デフォルト値は 1.0) — MLM (Masked Language Modeling) の単一モーダル損失に割り当てられる重み
  • global_contrastive_weight (float、任意、デフォルト値は 1.0) — グローバル対比クロスアライメント損失に付与される重み。
  • itm_weight (float、任意、デフォルト値は 1.0) — 画像とテキストのマッチングに関するマルチモーダル損失に付与する重み。
  • mmm_image_weight (float、任意、デフォルト値は 1.0) — MMM ロスの画像部分に割り当てられる重み。
  • mmm_text_weight (float、任意、デフォルト値は 1.0)— MMM ロスのテキスト部分に割り当てられる重み。
  • global_backprop_contrastive (bool、任意、デフォルトは True) — 対比損失において、すべてのワーカーにわたってグローバルなバックプロパゲーションを使用するかどうかを指定します。
  • skip_unmasked_multimodal_encoder (bool、任意、デフォルトはTrue) — FLAVAの損失で出力が使用されない、マスクされていないマルチモーダルエンコーダーの実行をスキップするかどうかを指定します。
  • return_loss (bool、省略可、デフォルトはTrue) — 損失を返すかどうか
  • tie_word_embeddings (bool、任意、デフォルトは True) — モデルの tied_weights_keys マッピングに従って重み埋め込みを共有するかどうかを指定します。
  • initializer_factor (float、任意、デフォルトは 1.0) — すべての重み行列を初期化する際に用いる係数です(1 に保つ必要があります。初期化のテスト用に内部で使用されます)。

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

設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。

例:

>>> 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_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 30522type_vocab_size: int = 2max_position_embeddings: int = 512hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12pad_token_id: int | None = 0qkv_bias: bool = True )

パラメータ

  • vocab_size (int、任意、デフォルトは 30522) — モデルの語彙サイズ。input_ids で表現できるトークンの種類数を定義します。
  • type_vocab_size (int、任意、デフォルトは 2) — token_type_ids の語彙サイズです。
  • max_position_embeddings (int、任意、デフォルトは 512) — このモデルが使用される可能性のある最大シーケンス長です。
  • hidden_size (int、任意、デフォルトは 768) — 隠れ表現の次元数。
  • num_hidden_layers (int、任意、デフォルトは 12) — Transformer デコーダーの隠れ層の数。
  • num_attention_heads (int、任意、デフォルトは12) — Transformerデコーダーの各アテンション層におけるアテンションヘッドの数。
  • intermediate_size (int、任意、デフォルトは3072) — MLP 表現の次元数。
  • hidden_act (str、任意、デフォルトは gelu) — デコーダーで使用する非線形活性化関数(関数または文字列)。例えば、"gelu"、 "relu"、"silu" など。
  • hidden_dropout_prob (Union[float, int]、任意、デフォルト値は0.0) — embeddings、encoder、pooler 内のすべての全結合層における dropout 確率です。
  • attention_probs_dropout_prob (Union[float, int]、任意、デフォルトは 0.0) — アテンション確率のドロップアウト率です。
  • initializer_range (float、任意、デフォルトは 0.02) — すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。
  • layer_norm_eps (float、任意、デフォルトは 1e-12) — レイヤーノーマル層で使用する epsilon です。
  • pad_token_id (int、任意、デフォルトは 0) — 語彙内でパディングに使用されるトークン ID。
  • qkv_bias (bool、省略可、デフォルトは True) — クエリ、キー、バリューにバイアスを追加するかどうか。

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

設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。

例:

>>> 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_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12image_size: int | list[int] | tuple[int, int] = 224patch_size: int | list[int] | tuple[int, int] = 16num_channels: int = 3qkv_bias: bool = Truemask_token: bool = Truevocab_size: int = 8192 )

パラメータ

  • hidden_size (int、任意、デフォルトは 768) — 隠れ表現の次元数。
  • num_hidden_layers (int、任意、デフォルトは 12) — Transformer デコーダーの隠れ層の数。
  • num_attention_heads (int、任意、デフォルトは12) — Transformerデコーダーの各アテンション層におけるアテンションヘッドの数。
  • intermediate_size (int、任意、デフォルトは3072) — MLP 表現の次元数。
  • hidden_act (str、任意、デフォルトは gelu) — デコーダーで使用する非線形活性化関数(関数または文字列)。例えば、"gelu"、 "relu"、"silu" など。
  • hidden_dropout_prob (Union[float, int]、任意、デフォルト値は0.0) — embeddings、encoder、pooler 内のすべての全結合層における dropout 確率です。
  • attention_probs_dropout_prob (Union[float, int]、任意、デフォルトは 0.0) — アテンション確率のドロップアウト率です。
  • initializer_range (float、任意、デフォルトは 0.02) — すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。
  • layer_norm_eps (float、任意、デフォルトは 1e-12) — レイヤーノーマル層で使用する epsilon です。
  • image_size (Union[int, list[int], tuple[int, int]]、任意、デフォルトは224) — 各画像のサイズ(解像度)。
  • patch_size (Union[int, list[int], tuple[int, int]]、任意、デフォルトは16) — 各パッチのサイズ(解像度)です。
  • num_channels (int、任意、デフォルトは3) — 入力チャネル数。
  • qkv_bias (bool、省略可、デフォルトは True) — クエリ、キー、バリューにバイアスを追加するかどうか。
  • mask_token (bool、任意、デフォルトはTrue) — マスクトークンを使用するかどうかを指定します。FLAVAのMIM(Masked Image Modeling)損失で使用されます。
  • vocab_size (int、任意、デフォルトは 8192) — モデルの語彙サイズ。input_ids で表現できるトークンの種類数を定義します。

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

設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。

例:

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

class transformers.FlavaMultimodalConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 6num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12qkv_bias: bool = Trueuse_cls_token: bool = True )

パラメータ

  • hidden_size (int、任意、デフォルトは 768) — 隠れ表現の次元数。
  • num_hidden_layers (int、任意、デフォルトは 6) — Transformer デコーダーの隠れ層の数。
  • num_attention_heads (int、任意、デフォルトは12) — Transformerデコーダーの各アテンション層におけるアテンションヘッドの数。
  • intermediate_size (int、任意、デフォルトは3072) — MLP 表現の次元数。
  • hidden_act (str、任意、デフォルトは gelu) — デコーダーで使用する非線形活性化関数(関数または文字列)。例えば、"gelu"、 "relu"、"silu" など。
  • hidden_dropout_prob (Union[float, int]、任意、デフォルト値は0.0) — embeddings、encoder、pooler 内のすべての全結合層における dropout 確率です。
  • attention_probs_dropout_prob (Union[float, int]、任意、デフォルトは 0.0) — アテンション確率のドロップアウト率です。
  • initializer_range (float、任意、デフォルトは 0.02) — すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。
  • layer_norm_eps (float、任意、デフォルトは 1e-12) — レイヤーノーマル層で使用する epsilon です。
  • qkv_bias (bool、省略可、デフォルトは True) — クエリ、キー、バリューにバイアスを追加するかどうか。
  • use_cls_token (bool、任意、デフォルトは True) — マルチモーダル設定で追加の CLS トークンを使用するかどうか。通常、FLAVA モデルで必要です。

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

設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。

例:

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

class transformers.FlavaImageCodebookConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonenum_groups: int = 4input_channels: int = 3num_blocks_per_group: int = 2hidden_size: int = 256vocab_size: int = 8192freeze: bool = Trueinitializer_range: float = 0.02 )

パラメータ

  • num_groups (int, 任意、デフォルトは 4) — 作成するグループの数。現時点では、このパラメータはモデルに影響せず、内部の計算や推定にのみ使用されます。
  • input_channels (int、任意、デフォルトは 3) — 入力チャネル数。
  • num_blocks_per_group (int、任意、デフォルトは 2) — グループあたりの conv ベースのブロック数。
  • hidden_size (int、任意、デフォルトは 256) — 隠れ表現の次元数。
  • vocab_size (int、任意、デフォルトは 8192) — モデルの語彙サイズ。input_ids で表現できるトークンの種類数を定義します。
  • freeze (bool、デフォルトはTrue) — モデルの重みをフリーズするかどうか。
  • initializer_range (float、任意、デフォルトは 0.02) — すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。

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

設定オブジェクトはPreTrainedConfigを継承し、モデルの出力を制御するために使用できます。詳細については、PreTrainedConfigのドキュメントを参照してください。

例:

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

class transformers.FlavaProcessor

< >

( image_processor = Nonetokenizer = None**kwargs )

パラメータ

  • image_processor (FlavaImageProcessor) — 画像プロセッサは必須の入力です。
  • tokenizer (BertTokenizer) — トークナイザーは必須の入力です。

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

FlavaProcessor は、FlavaImageProcessor と BertTokenizer のすべての機能を提供します。詳細については、~FlavaImageProcessor および ~BertTokenizer を参照してください。

__call__

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: 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] = Noneaudio: 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'> )

パラメータ

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], 任意) — 前処理対象の画像です。ピクセル値が 0 から 255 の範囲にある単一の画像またはバッチを想定しています。ピクセル値が 0 から 1 の範囲にある画像を渡す場合は、do_rescale=False を設定してください。
  • text (Union[str, list[str], list[list[str]]]、省略可) — エンコード対象のシーケンスまたはシーケンスのバッチです。各シーケンスは文字列、または文字列のリスト(事前トークン化済み文字列)であることができます。事前トークン化済みの入力を渡す場合は、バッチ入力との曖昧さを避けるために is_split_into_words=True を設定してください。
  • videos (Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]], 任意) — 前処理を行う動画です。ピクセル値が 0 から 255 の範囲にある、単一の動画またはバッチの動画を想定しています。ピクセル値が 0 から 1 の範囲にある動画を渡す場合は、do_rescale=False を設定してください。
  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], 任意) — 準備対象のオーディオまたはオーディオのバッチです。各オーディオは NumPy 配列または PyTorch テンソルであることができます。 NumPy 配列/PyTorch テンソルの場合、各オーディオの形状は (C, T) である必要があります。ここで C はチャネル数、T はオーディオのサンプル長です。
  • return_tensors (str または TensorType, 省略可) — 設定すると、特定のフレームワークのテンソルを返します。使用可能な値は以下の通りです:
    • 'pt': PyTorchのtorch.Tensorオブジェクトを返します。
    • 'np': NumPyのnp.ndarrayオブジェクトを返します。
  • **kwargs (ProcessingKwargs、任意) — 各モダリティ(テキスト、画像、動画、音声)の追加処理オプション。モデル固有のパラメータは上記にリストされています。サポートされている引数の完全なリストについては、TypedDictクラスを参照してください。

FlavaImageProcessor

class transformers.FlavaImageProcessor

< >

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

パラメータ

  • do_convert_rgb (bool、kwargs、任意) — 画像を RGB に変換するかどうかを指定します。
  • do_resize (bool、kwargs、任意、デフォルトはTrue) — 画像をリサイズするかどうか。
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, デフォルトは {'height' -- 224, 'width': 224}): モデルへの最大入力サイズを指定します。
  • default_to_square (bool、kwargs、任意、デフォルトは True) — size が int の場合、リサイズ時に正方形の画像をデフォルトとするかどうかを指定します。
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs、デフォルトは {'height' -- 224, 'width': 224}): center_crop を適用した後の出力画像のサイズです。
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs、デフォルトは 3) — 画像のリサイズ時に使用するリサンプリングフィルタです。PILImageResampling の列挙型のいずれかを使用できます。do_resize が True に設定されている場合のみ、効果が現れます。
  • do_rescale (bool、kwargs、任意、デフォルトはTrue) — 画像をリスケールするかどうかを指定します。
  • rescale_factor (float、kwargs、任意、デフォルト値は 0.00392156862745098) — do_rescale が True に設定されている場合、画像をリスケールするための係数です。
  • do_normalize (bool、kwargs、optional、デフォルトはTrue) — 画像を正規化するかどうかを指定します。
  • image_mean (Union[float, list[float], tuple[float, ...]]、kwargs、optional、デフォルトは [0.48145466, 0.4578275, 0.40821073]) — 正規化に使用する画像の平均値です。do_normalize が True に設定されている場合のみ有効です。
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional, デフォルト値は [0.26862954, 0.26130258, 0.27577711]) — 正規化に使用する画像の標準偏差です。do_normalize が True に設定されている場合のみ、効果が現れます。
  • do_pad (bool, kwargs, optional) — 画像をパディングするかどうかを指定します。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。具体的なパディング戦略はモデルによって異なります。
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — 画像をパディングする {"height": int, "width" int} のサイズです。前処理に提供されるすべての画像サイズより大きくなければなりません。pad_size が指定されない場合、バッチ内の最大の幅と高さにパディングされます。do_pad=True. の場合のみ適用されます。
  • do_center_crop (bool、kwargs、optional、デフォルトは True) — 画像を中央クロップするかどうか。
  • data_format (Union[str, ~image_utils.ChannelDimension]、kwargs、任意) — サポートされているのは ChannelDimension.FIRST のみです。slow processors との互換性のために追加されました。
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, 省略可) — 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推測されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。
    • "none" または ChannelDimension.NONE: (height, width) 形式の画像。
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。
  • return_image_mask (bool、kwargs、省略可能、デフォルトは False) — 画像マスクを返すかどうか。preprocess の return_image_mask パラメータによって上書きできます。
  • input_size_patches (int、kwargs、任意、デフォルトは 14) — 画像の高さと幅方向のパッチ数です。14x14 = 合計 196 パッチ。preprocess の input_size_patches パラメータによって上書きできます。
  • total_mask_patches (int、kwargs、任意、デフォルトは 75) — マスクするパッチの総数です。preprocess の total_mask_patches パラメータによって上書きできます。
  • mask_group_min_patches (int、kwargs、任意、デフォルト値は 16) — マスクされるべきパッチの最小数。preprocess の mask_group_min_patches パラメータによって上書きできます。
  • mask_group_max_patches (int、kwargs、任意) — マスクするパッチの最大数。preprocess の mask_group_max_patches パラメータによって上書きできます。
  • mask_group_min_aspect_ratio (float、kwargs、任意、デフォルト値は 0.3) — マスクウィンドウの最小アスペクト比です。preprocess の mask_group_min_aspect_ratio パラメータによって上書きできます。
  • mask_group_max_aspect_ratio (float、kwargs、任意) — マスクウィンドウの最大アスペクト比。preprocess の mask_group_max_aspect_ratio パラメータによって上書きできます。
  • return_codebook_pixels (bool、kwargs、任意、デフォルトは False) — コードブックのピクセル値を返すかどうかを指定します。
  • codebook_do_resize (bool、kwargs、任意、デフォルトは True) — codebook 用の入力を特定のサイズにリサイズするかどうか。preprocess の codebook_do_resize パラメータで上書きできます。codebook_size。
  • codebook_size (dict[str, *kwargs*, int]、任意、デフォルトは {"height" -- 224, "width": 224}): codebook 用の入力を指定サイズにリサイズします。preprocess の codebook_size パラメータによって上書きできます。
  • codebook_resample (PILImageResampling, kwargs, optional, デフォルトは PILImageResampling.LANCZOS) — コードブック画像のリサイズ時に使用するリサンプリングフィルタです。torchvision < 0.27 では、torch の Tensor に対して LANCZOS はサポートされておらず、最も近い代替手段として BICUBIC が使用されます。preprocess の codebook_resample パラメータによって上書きできます。
  • codebook_do_center_crop (bool、kwargs、optional、デフォルトは True) — codebook 用の入力を中央でクロップするかどうか。入力のサイズがどの辺でも codebook_crop_size より小さい場合、画像は 0 でパディングされた後に中央クロップされます。preprocess の codebook_do_center_crop パラメータによって上書きできます。
  • codebook_crop_size (dict[str, *kwargs*, int]、任意、デフォルトは {"height" -- 224, "width": 224}): センタークロッピングを適用する際の、codebook 入力の希望する出力サイズです。preprocess の codebook_crop_size パラメータによって上書きできます。
  • codebook_do_rescale (bool、kwargs、任意、デフォルトは True) — 指定されたスケール codebook_rescale_factor によって codebook 用の入力をリスケールするかどうか。preprocess の codebook_do_rescale パラメータによって上書きできます。
  • codebook_rescale_factor (int、kwargsまたはfloat、省略可能、デフォルトは1/255) — コードブック画像をリスケールする場合に使用するスケール係数を定義します。preprocessのcodebook_rescale_factorパラメータによって上書きできます。
  • codebook_do_map_pixels (bool、kwargs、optional、デフォルトは True) — codebook 入力のピクセル値を (1 - 2e)x + e にマッピングするかどうか。preprocess の codebook_do_map_pixels パラメータで上書きできます。
  • codebook_do_normalize (bool、kwargs、任意、デフォルトは True) — codebook_image_mean と codebook_image_std を用いて codebook への入力を正規化するか否かを指定します。preprocess の codebook_do_normalize パラメータによって上書きできます。
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]]、省略可、デフォルトは [0, 0, 0]) — コードブック用の画像を正規化する際に使用する、各チャネルの平均値のシーケンスです。preprocess の codebook_image_mean パラメータによって上書きできます。
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]]、任意、デフォルトは [0.5, 0.5, 0.5]) — codebook 用の画像を正規化する際に使用する、各チャネルの標準偏差のシーケンスです。preprocess の codebook_image_std パラメータによって上書きできます。

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

preprocess

< >

( 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'> ) → ~image_processing_base.BatchFeature

パラメータ

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — 前処理対象の画像です。ピクセル値が 0 から 255 の範囲にある単一の画像またはバッチを想定しています。ピクセル値が 0 から 1 の範囲にある画像を渡す場合は、do_rescale=False を設定してください。
  • do_convert_rgb (bool、kwargs、任意) — 画像を RGB に変換するかどうかを指定します。
  • do_resize (bool、kwargs、optional) — 画像をリサイズするかどうか。
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — モデルへの最大入力次元を記述します。
  • default_to_square (bool、kwargs、任意) — サイズが整数の場合、リサイズ時に正方形の画像をデフォルトとするかどうか。
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop を適用した後の出力画像のサイズ。
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — 画像のリサイズ時に使用するリサンプリングフィルタ。PILImageResampling の列挙型のいずれかを使用できます。do_resize が True に設定されている場合のみ有効です。
  • do_rescale (bool、kwargs、optional) — 画像をリスケールするかどうかを指定します。
  • rescale_factor (float、kwargs、任意) — do_rescale が True に設定されている場合、画像をリスケールするための係数。
  • do_normalize (bool, kwargs, optional) — 画像を正規化するかどうかを指定します。
  • image_mean (Union[float, list[float], tuple[float, ...]]、kwargs、optional) — 正規化に使用する画像の平均値。do_normalize が True に設定されている場合のみ有効です。
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional) — 正規化に使用する画像の標準偏差。do_normalize が True に設定されている場合のみ有効です。
  • do_pad (bool, kwargs, optional) — 画像をパディングするかどうかを指定します。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。具体的なパディング戦略はモデルによって異なります。
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — 画像をパディングする {"height": int, "width" int} のサイズです。前処理に提供されるすべての画像サイズより大きくなければなりません。pad_size が指定されない場合、バッチ内の最大の幅と高さにパディングされます。do_pad=True. の場合のみ適用されます。
  • do_center_crop (bool, kwargs, optional) — 画像を中央クロップするかどうかを指定します。
  • data_format (Union[str, ~image_utils.ChannelDimension]、kwargs、任意) — サポートされているのは ChannelDimension.FIRST のみです。slow processors との互換性のために追加されました。
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, 省略可) — 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推測されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。
    • "none" または ChannelDimension.NONE: (height, width) 形式の画像。
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。
  • return_image_mask (bool、kwargs、省略可能、デフォルトは False) — 画像マスクを返すかどうか。preprocess の return_image_mask パラメータによって上書きできます。
  • input_size_patches (int、kwargs、任意、デフォルトは 14) — 画像の高さと幅方向のパッチ数です。14x14 = 合計 196 パッチ。preprocess の input_size_patches パラメータによって上書きできます。
  • total_mask_patches (int、kwargs、任意、デフォルトは 75) — マスクするパッチの総数です。preprocess の total_mask_patches パラメータによって上書きできます。
  • mask_group_min_patches (int、kwargs、任意、デフォルト値は 16) — マスクされるべきパッチの最小数。preprocess の mask_group_min_patches パラメータによって上書きできます。
  • mask_group_max_patches (int、kwargs、任意) — マスクするパッチの最大数。preprocess の mask_group_max_patches パラメータによって上書きできます。
  • mask_group_min_aspect_ratio (float、kwargs、任意、デフォルト値は 0.3) — マスクウィンドウの最小アスペクト比です。preprocess の mask_group_min_aspect_ratio パラメータによって上書きできます。
  • mask_group_max_aspect_ratio (float、kwargs、任意) — マスクウィンドウの最大アスペクト比。preprocess の mask_group_max_aspect_ratio パラメータによって上書きできます。
  • return_codebook_pixels (bool、kwargs、任意、デフォルトは False) — コードブックのピクセル値を返すかどうかを指定します。
  • codebook_do_resize (bool、kwargs、任意、デフォルトは True) — codebook 用の入力を特定のサイズにリサイズするかどうか。preprocess の codebook_do_resize パラメータで上書きできます。codebook_size。
  • codebook_size (dict[str, *kwargs*, int]、任意、デフォルトは {"height" -- 224, "width": 224}): codebook 用の入力を指定サイズにリサイズします。preprocess の codebook_size パラメータによって上書きできます。
  • codebook_resample (PILImageResampling, kwargs, optional, デフォルトは PILImageResampling.LANCZOS) — コードブック画像のリサイズ時に使用するリサンプリングフィルタです。torchvision < 0.27 では、torch の Tensor に対して LANCZOS はサポートされておらず、最も近い代替手段として BICUBIC が使用されます。preprocess の codebook_resample パラメータによって上書きできます。
  • codebook_do_center_crop (bool、kwargs、optional、デフォルトは True) — codebook 用の入力を中央でクロップするかどうか。入力のサイズがどの辺でも codebook_crop_size より小さい場合、画像は 0 でパディングされた後に中央クロップされます。preprocess の codebook_do_center_crop パラメータによって上書きできます。
  • codebook_crop_size (dict[str, *kwargs*, int]、任意、デフォルトは {"height" -- 224, "width": 224}): センタークロッピングを適用する際の、codebook 入力の希望する出力サイズです。preprocess の codebook_crop_size パラメータによって上書きできます。
  • codebook_do_rescale (bool、kwargs、任意、デフォルトは True) — 指定されたスケール codebook_rescale_factor によって codebook 用の入力をリスケールするかどうか。preprocess の codebook_do_rescale パラメータによって上書きできます。
  • codebook_rescale_factor (int、kwargsまたはfloat、省略可能、デフォルトは1/255) — コードブック画像をリスケールする場合に使用するスケール係数を定義します。preprocessのcodebook_rescale_factorパラメータによって上書きできます。
  • codebook_do_map_pixels (bool、kwargs、optional、デフォルトは True) — codebook 入力のピクセル値を (1 - 2e)x + e にマッピングするかどうか。preprocess の codebook_do_map_pixels パラメータで上書きできます。
  • codebook_do_normalize (bool、kwargs、任意、デフォルトは True) — codebook_image_mean と codebook_image_std を用いて codebook への入力を正規化するか否かを指定します。preprocess の codebook_do_normalize パラメータによって上書きできます。
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]]、省略可、デフォルトは [0, 0, 0]) — コードブック用の画像を正規化する際に使用する、各チャネルの平均値のシーケンスです。preprocess の codebook_image_mean パラメータによって上書きできます。
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]]、任意、デフォルトは [0.5, 0.5, 0.5]) — codebook 用の画像を正規化する際に使用する、各チャネルの標準偏差のシーケンスです。preprocess の codebook_image_std パラメータによって上書きできます。

戻り値

~image_processing_base.BatchFeature

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

FlavaImageProcessorPil

クラス transformers.FlavaImageProcessorPil

< >

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

パラメータ

  • do_convert_rgb (bool、kwargs、任意) — 画像を RGB に変換するかどうかを指定します。
  • do_resize (bool、kwargs、任意、デフォルトはTrue) — 画像をリサイズするかどうか。
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, デフォルトは {'height' -- 224, 'width': 224}): モデルへの最大入力サイズを指定します。
  • default_to_square (bool、kwargs、任意、デフォルトは True) — size が int の場合、リサイズ時に正方形の画像をデフォルトとするかどうかを指定します。
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs、デフォルトは {'height' -- 224, 'width': 224}): center_crop を適用した後の出力画像のサイズです。
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs、デフォルトは 3) — 画像のリサイズ時に使用するリサンプリングフィルタです。PILImageResampling の列挙型のいずれかを使用できます。do_resize が True に設定されている場合のみ、効果が現れます。
  • do_rescale (bool、kwargs、任意、デフォルトはTrue) — 画像をリスケールするかどうかを指定します。
  • rescale_factor (float、kwargs、任意、デフォルト値は 0.00392156862745098) — do_rescale が True に設定されている場合、画像をリスケールするための係数です。
  • do_normalize (bool、kwargs、optional、デフォルトはTrue) — 画像を正規化するかどうかを指定します。
  • image_mean (Union[float, list[float], tuple[float, ...]]、kwargs、optional、デフォルトは [0.48145466, 0.4578275, 0.40821073]) — 正規化に使用する画像の平均値です。do_normalize が True に設定されている場合のみ有効です。
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional, デフォルト値は [0.26862954, 0.26130258, 0.27577711]) — 正規化に使用する画像の標準偏差です。do_normalize が True に設定されている場合のみ、効果が現れます。
  • do_pad (bool, kwargs, optional) — 画像をパディングするかどうかを指定します。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。具体的なパディング戦略はモデルによって異なります。
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — 画像をパディングする {"height": int, "width" int} のサイズです。前処理に提供されるすべての画像サイズより大きくなければなりません。pad_size が指定されない場合、バッチ内の最大の幅と高さにパディングされます。do_pad=True. の場合のみ適用されます。
  • do_center_crop (bool、kwargs、optional、デフォルトは True) — 画像を中央クロップするかどうか。
  • data_format (Union[str, ~image_utils.ChannelDimension]、kwargs、任意) — サポートされているのは ChannelDimension.FIRST のみです。slow processors との互換性のために追加されました。
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, 省略可) — 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推測されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。
    • "none" または ChannelDimension.NONE: (height, width) 形式の画像。
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。
  • return_image_mask (bool、kwargs、省略可能、デフォルトは False) — 画像マスクを返すかどうか。preprocess の return_image_mask パラメータによって上書きできます。
  • input_size_patches (int、kwargs、任意、デフォルトは 14) — 画像の高さと幅方向のパッチ数です。14x14 = 合計 196 パッチ。preprocess の input_size_patches パラメータによって上書きできます。
  • total_mask_patches (int、kwargs、任意、デフォルトは 75) — マスクするパッチの総数です。preprocess の total_mask_patches パラメータによって上書きできます。
  • mask_group_min_patches (int、kwargs、任意、デフォルト値は 16) — マスクされるべきパッチの最小数。preprocess の mask_group_min_patches パラメータによって上書きできます。
  • mask_group_max_patches (int、kwargs、任意) — マスクするパッチの最大数。preprocess の mask_group_max_patches パラメータによって上書きできます。
  • mask_group_min_aspect_ratio (float、kwargs、任意、デフォルト値は 0.3) — マスクウィンドウの最小アスペクト比です。preprocess の mask_group_min_aspect_ratio パラメータによって上書きできます。
  • mask_group_max_aspect_ratio (float、kwargs、任意) — マスクウィンドウの最大アスペクト比。preprocess の mask_group_max_aspect_ratio パラメータによって上書きできます。
  • return_codebook_pixels (bool、kwargs、任意、デフォルトは False) — コードブックのピクセル値を返すかどうかを指定します。
  • codebook_do_resize (bool、kwargs、任意、デフォルトは True) — codebook 用の入力を特定のサイズにリサイズするかどうか。preprocess の codebook_do_resize パラメータで上書きできます。codebook_size。
  • codebook_size (dict[str, *kwargs*, int]、任意、デフォルトは {"height" -- 224, "width": 224}): codebook 用の入力を指定サイズにリサイズします。preprocess の codebook_size パラメータによって上書きできます。
  • codebook_resample (PILImageResampling, kwargs, optional, デフォルトは PILImageResampling.LANCZOS) — コードブック画像のリサイズ時に使用するリサンプリングフィルタです。torchvision < 0.27 では、torch の Tensor に対して LANCZOS はサポートされておらず、最も近い代替手段として BICUBIC が使用されます。preprocess の codebook_resample パラメータによって上書きできます。
  • codebook_do_center_crop (bool、kwargs、optional、デフォルトは True) — codebook 用の入力を中央でクロップするかどうか。入力のサイズがどの辺でも codebook_crop_size より小さい場合、画像は 0 でパディングされた後に中央クロップされます。preprocess の codebook_do_center_crop パラメータによって上書きできます。
  • codebook_crop_size (dict[str, *kwargs*, int]、任意、デフォルトは {"height" -- 224, "width": 224}): センタークロッピングを適用する際の、codebook 入力の希望する出力サイズです。preprocess の codebook_crop_size パラメータによって上書きできます。
  • codebook_do_rescale (bool、kwargs、任意、デフォルトは True) — 指定されたスケール codebook_rescale_factor によって codebook 用の入力をリスケールするかどうか。preprocess の codebook_do_rescale パラメータによって上書きできます。
  • codebook_rescale_factor (int、kwargsまたはfloat、省略可能、デフォルトは1/255) — コードブック画像をリスケールする場合に使用するスケール係数を定義します。preprocessのcodebook_rescale_factorパラメータによって上書きできます。
  • codebook_do_map_pixels (bool、kwargs、optional、デフォルトは True) — codebook 入力のピクセル値を (1 - 2e)x + e にマッピングするかどうか。preprocess の codebook_do_map_pixels パラメータで上書きできます。
  • codebook_do_normalize (bool、kwargs、任意、デフォルトは True) — codebook_image_mean と codebook_image_std を用いて codebook への入力を正規化するか否かを指定します。preprocess の codebook_do_normalize パラメータによって上書きできます。
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]]、省略可、デフォルトは [0, 0, 0]) — コードブック用の画像を正規化する際に使用する、各チャネルの平均値のシーケンスです。preprocess の codebook_image_mean パラメータによって上書きできます。
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]]、任意、デフォルトは [0.5, 0.5, 0.5]) — codebook 用の画像を正規化する際に使用する、各チャネルの標準偏差のシーケンスです。preprocess の codebook_image_std パラメータによって上書きできます。

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

preprocess

< >

( 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'> ) → ~image_processing_base.BatchFeature

パラメータ

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — 前処理対象の画像です。ピクセル値が 0 から 255 の範囲にある単一の画像またはバッチを想定しています。ピクセル値が 0 から 1 の範囲にある画像を渡す場合は、do_rescale=False を設定してください。
  • do_convert_rgb (bool、kwargs、任意) — 画像を RGB に変換するかどうかを指定します。
  • do_resize (bool、kwargs、optional) — 画像をリサイズするかどうか。
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — モデルへの最大入力次元を記述します。
  • default_to_square (bool、kwargs、任意) — サイズが整数の場合、リサイズ時に正方形の画像をデフォルトとするかどうか。
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — center_crop を適用した後の出力画像のサイズ。
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — 画像のリサイズ時に使用するリサンプリングフィルタ。PILImageResampling の列挙型のいずれかを使用できます。do_resize が True に設定されている場合のみ有効です。
  • do_rescale (bool、kwargs、optional) — 画像をリスケールするかどうかを指定します。
  • rescale_factor (float、kwargs、任意) — do_rescale が True に設定されている場合、画像をリスケールするための係数。
  • do_normalize (bool, kwargs, optional) — 画像を正規化するかどうかを指定します。
  • image_mean (Union[float, list[float], tuple[float, ...]]、kwargs、optional) — 正規化に使用する画像の平均値。do_normalize が True に設定されている場合のみ有効です。
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional) — 正規化に使用する画像の標準偏差。do_normalize が True に設定されている場合のみ有効です。
  • do_pad (bool, kwargs, optional) — 画像をパディングするかどうかを指定します。パディングは、バッチ内の最大サイズに合わせるか、画像ごとに固定の正方形サイズに合わせるかのいずれかで行われます。具体的なパディング戦略はモデルによって異なります。
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — 画像をパディングする {"height": int, "width" int} のサイズです。前処理に提供されるすべての画像サイズより大きくなければなりません。pad_size が指定されない場合、バッチ内の最大の幅と高さにパディングされます。do_pad=True. の場合のみ適用されます。
  • do_center_crop (bool, kwargs, optional) — 画像を中央クロップするかどうかを指定します。
  • data_format (Union[str, ~image_utils.ChannelDimension]、kwargs、任意) — サポートされているのは ChannelDimension.FIRST のみです。slow processors との互換性のために追加されました。
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, 省略可) — 入力画像のチャネル次元の形式です。設定されていない場合、入力画像からチャネル次元の形式が推測されます。次のいずれかになります:
    • "channels_first" または ChannelDimension.FIRST: (num_channels, height, width) 形式の画像。
    • "channels_last" または ChannelDimension.LAST: (高さ, 幅, チャネル数) 形式の画像。
    • "none" または ChannelDimension.NONE: (height, width) 形式の画像。
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — 動画を処理するデバイスです。未設定の場合、入力動画からデバイスが推論されます。
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — 'pt' に設定されている場合はスタックされたテンソルを返し、それ以外の場合はテンソルのリストを返します。
  • disable_grouping (bool、kwargs、任意) — サイズごとに画像をグループ化してバッチ処理するのではなく、個別に処理するためにグループ化を無効にするかどうか。None の場合、画像が CPU にある場合は True、それ以外の場合は False に設定されます。この選択は、https://github.com/huggingface/transformers/pull/38157 に詳しく記載されている経験則に基づいています。
  • image_seq_length (int、kwargs、任意) — 入力内の各画像に使用される画像トークンの数です。 後方互換性のために追加されましたが、将来のモデルではプロセッサの属性として設定されるべきです。
  • return_image_mask (bool、kwargs、省略可能、デフォルトは False) — 画像マスクを返すかどうか。preprocess の return_image_mask パラメータによって上書きできます。
  • input_size_patches (int、kwargs、任意、デフォルトは 14) — 画像の高さと幅方向のパッチ数です。14x14 = 合計 196 パッチ。preprocess の input_size_patches パラメータによって上書きできます。
  • total_mask_patches (int、kwargs、任意、デフォルトは 75) — マスクするパッチの総数です。preprocess の total_mask_patches パラメータによって上書きできます。
  • mask_group_min_patches (int、kwargs、任意、デフォルト値は 16) — マスクされるべきパッチの最小数。preprocess の mask_group_min_patches パラメータによって上書きできます。
  • mask_group_max_patches (int、kwargs、任意) — マスクするパッチの最大数。preprocess の mask_group_max_patches パラメータによって上書きできます。
  • mask_group_min_aspect_ratio (float、kwargs、任意、デフォルト値は 0.3) — マスクウィンドウの最小アスペクト比です。preprocess の mask_group_min_aspect_ratio パラメータによって上書きできます。
  • mask_group_max_aspect_ratio (float、kwargs、任意) — マスクウィンドウの最大アスペクト比。preprocess の mask_group_max_aspect_ratio パラメータによって上書きできます。
  • return_codebook_pixels (bool、kwargs、任意、デフォルトは False) — コードブックのピクセル値を返すかどうかを指定します。
  • codebook_do_resize (bool、kwargs、任意、デフォルトは True) — codebook 用の入力を特定のサイズにリサイズするかどうか。preprocess の codebook_do_resize パラメータで上書きできます。codebook_size。
  • codebook_size (dict[str, *kwargs*, int]、任意、デフォルトは {"height" -- 224, "width": 224}): codebook 用の入力を指定サイズにリサイズします。preprocess の codebook_size パラメータによって上書きできます。
  • codebook_resample (PILImageResampling, kwargs, optional, デフォルトは PILImageResampling.LANCZOS) — コードブック画像のリサイズ時に使用するリサンプリングフィルタです。torchvision < 0.27 では、torch の Tensor に対して LANCZOS はサポートされておらず、最も近い代替手段として BICUBIC が使用されます。preprocess の codebook_resample パラメータによって上書きできます。
  • codebook_do_center_crop (bool、kwargs、optional、デフォルトは True) — codebook 用の入力を中央でクロップするかどうか。入力のサイズがどの辺でも codebook_crop_size より小さい場合、画像は 0 でパディングされた後に中央クロップされます。preprocess の codebook_do_center_crop パラメータによって上書きできます。
  • codebook_crop_size (dict[str, *kwargs*, int]、任意、デフォルトは {"height" -- 224, "width": 224}): センタークロッピングを適用する際の、codebook 入力の希望する出力サイズです。preprocess の codebook_crop_size パラメータによって上書きできます。
  • codebook_do_rescale (bool、kwargs、任意、デフォルトは True) — 指定されたスケール codebook_rescale_factor によって codebook 用の入力をリスケールするかどうか。preprocess の codebook_do_rescale パラメータによって上書きできます。
  • codebook_rescale_factor (int、kwargsまたはfloat、省略可能、デフォルトは1/255) — コードブック画像をリスケールする場合に使用するスケール係数を定義します。preprocessのcodebook_rescale_factorパラメータによって上書きできます。
  • codebook_do_map_pixels (bool、kwargs、optional、デフォルトは True) — codebook 入力のピクセル値を (1 - 2e)x + e にマッピングするかどうか。preprocess の codebook_do_map_pixels パラメータで上書きできます。
  • codebook_do_normalize (bool、kwargs、任意、デフォルトは True) — codebook_image_mean と codebook_image_std を用いて codebook への入力を正規化するか否かを指定します。preprocess の codebook_do_normalize パラメータによって上書きできます。
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]]、省略可、デフォルトは [0, 0, 0]) — コードブック用の画像を正規化する際に使用する、各チャネルの平均値のシーケンスです。preprocess の codebook_image_mean パラメータによって上書きできます。
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]]、任意、デフォルトは [0.5, 0.5, 0.5]) — codebook 用の画像を正規化する際に使用する、各チャネルの標準偏差のシーケンスです。preprocess の codebook_image_std パラメータによって上書きできます。

戻り値

~image_processing_base.BatchFeature

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

FlavaForPreTraining

class transformers.FlavaForPreTraining

< >

( config: FlavaConfigimage_codebook: typing.Optional[torch.nn.Module] = None )

パラメータ

  • config (FlavaConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
  • image_codebook (torch.nn.Module, 省略可) — 指定された場合、image codebook はこの値に設定されます。指定されない場合、config で定義されている image_codebook_config を最初の引数として使用して初期化されます。

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

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

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

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_ids_masked: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.FloatTensor] = Nonecodebook_pixel_values: typing.Optional[torch.FloatTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_unmasked_multimodal_encoder: bool | None = Nonemlm_labels: typing.Optional[torch.Tensor] = Nonemim_labels: typing.Optional[torch.Tensor] = Noneitm_labels: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = Nonereturn_loss: bool | None = None**kwargs ) → FlavaForPreTrainingOutput or tuple(torch.FloatTensor)

パラメータ

  • input_ids (torch.LongTensor、shape (batch_size, text_seq_len)) — 入力シーケンスのトークンが語彙内で持つインデックスです。インデックスは AutoTokenizer を使用して取得できます。詳細については、PreTrainedTokenizer.encode() および PreTrainedTokenizer.call() を参照してください。input ID とは何か?
  • input_ids_masked (torch.LongTensor、shape (batch_size, text_seq_len)) — 語彙における入力シーケンスのトークンインデックスです。これらは、MLMで使用するための元のタスクのマスク済みバージョンです。インデックスは、AutoTokenizer と DataCollatorForMaskedLanguageModeling を使用して取得できます。詳細については、PreTrainedTokenizer.encode() および PreTrainedTokenizer.call() を参照してください。入力IDとは何ですか?
  • pixel_values (torch.FloatTensor、形状 (batch_size, num_channels, image_size, image_size)、任意) — 入力画像に対応するテンソルです。ピクセル値は FlavaImageProcessor を使用して取得できます。詳細については FlavaImageProcessor.call() を参照してください(FlavaProcessor は画像の処理に FlavaImageProcessor を使用します)。
  • codebook_pixel_values (torch.FloatTensor、形状 (batch_size, num_image_patches, patch_size, patch_size, 3)、任意) — マスクドイメージモデリングにおける画像コードブックラベルの計算に使用される、画像パッチのピクセル値です。
  • attention_mask (torch.Tensor の形状 (batch_size, sequence_length), 、任意) — パディングトークンのインデックスに対するアテンションを回避するためのマスク。 [0, 1]:
    • マスクされていないトークンに対して1
    • マスクされたトークンに対しては 0 です。

    アテンションマスクとは?

  • token_type_ids (torch.LongTensor 形状 (batch_size, text_seq_len), 任意) — 入力の前半と後半を示すためのセグメントトークンインデックス。インデックスは [0, 1]:
  • bool_masked_pos (torch.BoolTensor、shape (batch_size, image_num_patches)) — Boolean 型のマスクされた位置。どのパッチがマスクされているか(1)、されていないか(0)を示します。
  • position_ids (torch.LongTensor の形状 (batch_size, sequence_length), 、任意) — 各入力シーケンスのトークンが位置埋め込み内で占める位置のインデックス。範囲 [0, config.n_positions - 1].

    ポジションIDとは?

  • image_attention_mask (torch.FloatTensor の形状 (batch_size, image_num_patches), 、任意) — 画像の padding トークンインデックスに対して attention を実行しないためのマスク。 [0, 1]:
  • skip_unmasked_multimodal_encoder (*bool*, 任意) — マスクされていない入力に対するマルチモーダルエンコーダーの計算をスキップします。FLAVAの事前学習では、現時点ではマスクされていないマルチモーダル埋め込みや出力は必要ありません。
  • mlm_labels (torch.LongTensor、shape (batch_size, text_seq_len)、任意) — 左から右への言語モデルおよびマルチモーダルマスクドモデリングの損失(次の単語予測)を計算するためのラベルです。 インデックスは [-100, 0, ..., text_config.vocab_size - 1] の範囲である必要があります(input_ids の docstring を参照)。 インデックスが -100 に設定されたトークンは無視(マスク)され、損失はラベルが [0, ..., text_config.vocab_size - 1] の範囲にあるトークンに対してのみ計算されます。
  • mim_labels (torch.LongTensor、shape (batch_size, image_num_patches)、任意) — 画像およびマルチモーダルマスクモデリング損失の計算に使用するラベルです。インデックスは [-100, 0, ..., image_config.vocab_size - 1] の範囲である必要があります。インデックスが -100 に設定されたトークンは無視(マスク)され、損失はラベルが [0, ..., image_config.vocab_size - 1] の範囲にあるトークンに対してのみ計算されます。指定されない場合、モデルに割り当てられた画像コードブックを使用して自動的に生成されます。デフォルトでは FlavaImageCodebook が使用されます。mim_labels の生成方法については FlavaImageCodebook を参照してください。
  • itm_labels (torch.LongTensor、shape (batch_size, 1)、任意) — 画像とテキストのマッチング損失を計算するためのラベルです。0 はペアが一致しないことを、1 は一致することを示します。 ラベルが 0 のペアは、MMM 損失およびグローバル対比損失の計算でもスキップされます。
  • output_attentions (bool, 省略可) — すべてのアテンション層のアテンションテンソルを返すかどうかを指定します。詳細は、返されるテンソルの attentions を参照してください。
  • output_hidden_states (bool、任意、デフォルトは True) — すべての層の隠れ状態を返すかどうかを指定します。詳細は、返されるテンソルの hidden_states を参照してください。
  • return_dict (bool, 任意) — プレーンなタプルではなく ModelOutput を返すかどうか。
  • return_loss (bool、省略可、デフォルトは None)— 計算された損失を返すかどうかを指定します。

戻り値

FlavaForPreTrainingOutput または tuple(torch.FloatTensor)

FlavaForPreTrainingOutput、またはtorch.FloatTensorのタプル(return_dict=Falseが渡された場合、またはconfig.return_dict=Falseの場合)。設定(FlavaConfig)と入力に応じて、さまざまな要素で構成されます。

FlavaForPreTrainingのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

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

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

例:

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

class transformers.FlavaModel

< >

( config: FlavaConfig )

パラメータ

  • config (FlavaConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。

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

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

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

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.FloatTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_multimodal_encoder: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = None**kwargs ) → FlavaModelOutput or tuple(torch.FloatTensor)

パラメータ

  • input_ids (torch.LongTensor、shape (batch_size, image_num_patches + text_seq_len)) — 語彙における入力シーケンスのトークンインデックスです。インデックスは AutoTokenizer を使用して取得できます。詳細については、PreTrainedTokenizer.encode() および PreTrainedTokenizer.call() を参照してください。input ID とは何か?
  • pixel_values (torch.FloatTensor、形状 (batch_size, num_channels, image_size, image_size)、任意) — 入力画像に対応するテンソルです。ピクセル値は FlavaImageProcessor を使用して取得できます。詳細については FlavaImageProcessor.call() を参照してください(FlavaProcessor は画像の処理に FlavaImageProcessor を使用します)。
  • attention_mask (torch.Tensor の形状 (batch_size, sequence_length), 、任意) — パディングトークンのインデックスに対するアテンションを回避するためのマスク。 [0, 1]:
    • マスクされていないトークンに対して1
    • マスクされたトークンに対しては 0 です。

    アテンションマスクとは?

  • token_type_ids (torch.LongTensor の形状 (batch_size, image_num_patches + text_seq_len), 、任意) — 入力の一部を区別するためのセグメントトークンインデックス。インデックスは [0, 1]:
  • bool_masked_pos (torch.BoolTensor、shape (batch_size, image_num_patches)) — Boolean 型のマスクされた位置。どのパッチがマスクされているか(1)、されていないか(0)を示します。
  • position_ids (torch.LongTensor の形状 (batch_size, sequence_length), 、任意) — 各入力シーケンスのトークンが位置埋め込み内で占める位置のインデックス。範囲 [0, config.n_positions - 1].

    ポジションIDとは?

  • image_attention_mask (torch.Tensor の形状 (batch_size, image_num_patches), 任意) — 画像入力において、パディングピクセル値に対するアテンションの計算を回避するためのマスク。 [0, 1]:
    • 実数値(つまり、マスクされていない)のピクセル値に対して1
    • padding(つまり、マスクされている)ピクセル値は0です。
  • skip_multimodal_encoder (*bool*, 任意) — マルチモーダルエンコーダーの計算をスキップします。マルチモーダルエンコーディングを使用しない場合に便利です。
  • output_attentions (bool, 省略可) — すべてのアテンション層のアテンションテンソルを返すかどうかを指定します。詳細は、返されるテンソルの attentions を参照してください。
  • output_hidden_states (bool、任意、デフォルトは True) — すべての層の隠れ状態を返すかどうかを指定します。詳細は、返されるテンソルの hidden_states を参照してください。
  • return_dict (bool, 任意) — プレーンなタプルではなく ModelOutput を返すかどうか。

戻り値

FlavaModelOutput または tuple(torch.FloatTensor)

FlavaModelOutput、またはtorch.FloatTensorのタプル(return_dict=Falseが渡された場合、またはconfig.return_dict=Falseの場合)。設定(FlavaConfig)と入力に応じて、さまざまな要素で構成されます。

FlavaModelのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

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

  • image_embeddings (torch.FloatTensor、shape (batch_size, output_dim)、optional、pixel_values が存在する場合に返されます) — FlavaImageModel のプーリング出力に相当する画像埋め込みです。
  • image_output (BaseModelOutputWithPooling、任意、pixel_values が存在する場合に返されます) — FlavaImageModel の出力です。
  • text_embeddings (torch.FloatTensor、shape (batch_size, output_dim)、optional、input_ids が存在する場合に返されます)— FlavaTextModel のプーリング出力に相当するテキスト埋め込みです。
  • text_output (BaseModelOutputWithPooling、任意、input_ids が存在する場合に返されます)— FlavaTextModel の出力です。
  • multimodal_embeddings (torch.FloatTensor、shape (batch_size, output_dim)、optional、input_ids と pixel_values が存在し、かつ skip_multimodal_encoder が None または False の場合に返されます)— FlavaTextModel のプーリング出力にほぼ等しいマルチモーダル埋め込みです。
  • multimodal_output (BaseModelOutputWithPooling、input_ids と pixel_values が存在し、skip_multimodal_encoder が None または False の場合に返されます) — FlavaMultimodalModel の出力です。

例:

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

< >

( input_ids: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)

パラメータ

  • input_ids (torch.LongTensor、shape (batch_size, text_seq_length)) — 語彙における入力シーケンスのトークンインデックスです。インデックスは AutoTokenizer を使用して取得できます。詳細については、PreTrainedTokenizer.encode() および PreTrainedTokenizer.call() を参照してください。input ID とは何か?
  • attention_mask (torch.Tensor の形状 (batch_size, sequence_length), 、任意) — パディングトークンのインデックスに対するアテンションを回避するためのマスク。 [0, 1]:
    • マスクされていないトークンに対して1
    • マスクされたトークンに対しては 0 です。

    アテンションマスクとは?

  • token_type_ids (torch.LongTensor 形状 (batch_size, text_seq_length), 任意) — 入力の一部が第1部分か第2部分かを区別するためのセグメントトークンインデックス。インデックスは [0, 1]:
  • position_ids (torch.Tensor の形状 (batch_size, sequence_length), 、省略可) — 位置埋め込みにおける各入力シーケンスのトークンの位置のインデックス。範囲 [0, config.n_positions - 1].

    ポジションIDとは?

戻り値

BaseModelOutputWithPooling または tuple(torch.FloatTensor)

torch.FloatTensor のタプル(return_dict=False が渡された場合、または config.return_dict=False の場合)、または BaseModelOutputWithPooling。設定(FlavaConfig)や入力に応じて、さまざまな要素で構成されます。

  • last_hidden_state (torch.FloatTensor、shape (batch_size, sequence_length, hidden_size)) — モデルの最終層の出力における隠れ状態のシーケンス。

  • pooler_output (torch.FloatTensor、shape (batch_size, hidden_size)) — 補助事前学習タスクに使用される層をさらに通して処理された後、シーケンスの最初のトークン(分類トークン)の最終層の隠れ状態。例えば、BERT 系のモデルでは、線形層と tanh 活性化関数を経て処理された後の分類トークンを返します。この線形層の重みは、事前学習中の次文予測(分類)目的から学習されます。

  • hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返されます)— torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力におけるモデルのHidden-states、および任意の初期埋め込み出力。

  • attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます)— torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    アテンションのsoftmax後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。

例:

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

< >

( pixel_values: Tensorbool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)

パラメータ

  • pixel_values (torch.Tensor、形状 (batch_size, num_channels, image_size, image_size)) — 入力画像に対応するテンソルです。ピクセル値は FlavaImageProcessor を使用して取得できます。詳細は FlavaImageProcessor.call() を参照してください(FlavaProcessor は画像の処理に FlavaImageProcessor を使用します)。
  • bool_masked_pos (torch.BoolTensor、shape (batch_size, image_num_patches)) — Boolean 型のマスクされた位置。どのパッチがマスクされているか(1)、されていないか(0)を示します。
  • interpolate_pos_encoding (bool, 任意) — 事前学習済みの位置エンコーディングを補間するかどうかを指定します。
  • attention_mask (torch.Tensor の形状 (batch_size, sequence_length), 、任意) — パディングトークンのインデックスに対するアテンションを回避するためのマスク。 [0, 1]:
    • マスクされていないトークンに対して1
    • マスクされたトークンに対しては 0 です。

    アテンションマスクとは?

戻り値

BaseModelOutputWithPooling または tuple(torch.FloatTensor)

torch.FloatTensor のタプル(return_dict=False が渡された場合、または config.return_dict=False の場合)、または BaseModelOutputWithPooling。設定(FlavaConfig)や入力に応じて、さまざまな要素で構成されます。

  • last_hidden_state (torch.FloatTensor、shape (batch_size, sequence_length, hidden_size)) — モデルの最終層の出力における隠れ状態のシーケンス。

  • pooler_output (torch.FloatTensor、shape (batch_size, hidden_size)) — 補助事前学習タスクに使用される層をさらに通して処理された後、シーケンスの最初のトークン(分類トークン)の最終層の隠れ状態。例えば、BERT 系のモデルでは、線形層と tanh 活性化関数を経て処理された後の分類トークンを返します。この線形層の重みは、事前学習中の次文予測(分類)目的から学習されます。

  • hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返されます)— torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力におけるモデルのHidden-states、および任意の初期埋め込み出力。

  • attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます)— torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    アテンションのsoftmax後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。

例:

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

class transformers.FlavaImageCodebook

< >

( config: FlavaImageCodebookConfig**kwargs: Any )

パラメータ

  • config (FlavaImageCodebookConfig) — モデルのすべてのパラメータを含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。

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

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

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

forward

< >

( pixel_values: FloatTensor**kwargs )

get_codebook_indices

< >

( pixel_values: Tensor )

get_codebook_probs

< >

( pixel_values: Tensor )

FlavaTextModel

クラス transformers.FlavaTextModel

< >

( config: FlavaTextConfigadd_pooling_layer: bool = True )

パラメータ

  • config (FlavaTextConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
  • add_pooling_layer (bool、省略可、デフォルトはTrue) — プーリング層を追加するかどうか

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

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

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

forward

< >

( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)

パラメータ

  • input_ids (torch.LongTensor、shape (batch_size, text_seq_length)) — 語彙における入力シーケンスのトークンインデックスです。インデックスは AutoTokenizer を使用して取得できます。詳細については、PreTrainedTokenizer.encode() および PreTrainedTokenizer.call() を参照してください。input ID とは何か?
  • attention_mask (torch.Tensor の形状 (batch_size, sequence_length), 、任意) — パディングトークンのインデックスに対するアテンションを回避するためのマスク。 [0, 1]:
    • マスクされていないトークンに対して1
    • マスクされたトークンに対しては 0 です。

    アテンションマスクとは?

  • token_type_ids (torch.LongTensor 形状 (batch_size, text_seq_length), 任意) — 入力の一部が第1部分か第2部分かを区別するためのセグメントトークンインデックス。インデックスは [0, 1]:
  • position_ids (torch.Tensor の形状 (batch_size, sequence_length), 、省略可) — 位置埋め込みにおける各入力シーケンスのトークンの位置のインデックス。範囲 [0, config.n_positions - 1].

    ポジションIDとは?

  • output_attentions (bool, 省略可) — すべてのアテンション層のアテンションテンソルを返すかどうかを指定します。詳細は、返されるテンソルの attentions を参照してください。
  • output_hidden_states (bool, 省略可) — すべての層の hidden states を返すかどうかを指定します。詳細は、返されるテンソルの hidden_states を参照してください。
  • return_dict (bool, 任意) — プレーンなタプルではなく ModelOutput を返すかどうか。

戻り値

BaseModelOutputWithPooling または tuple(torch.FloatTensor)

torch.FloatTensor のタプル(return_dict=False が渡された場合、または config.return_dict=False の場合)、または BaseModelOutputWithPooling。設定(FlavaConfig)や入力に応じて、さまざまな要素で構成されます。

FlavaTextModelのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

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

  • last_hidden_state (torch.FloatTensor、shape (batch_size, sequence_length, hidden_size)) — モデルの最終層の出力における隠れ状態のシーケンス。

  • pooler_output (torch.FloatTensor、shape (batch_size, hidden_size)) — 補助事前学習タスクに使用される層をさらに通して処理された後、シーケンスの最初のトークン(分類トークン)の最終層の隠れ状態。例えば、BERT 系のモデルでは、線形層と tanh 活性化関数を経て処理された後の分類トークンを返します。この線形層の重みは、事前学習中の次文予測(分類)目的から学習されます。

  • hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返されます)— torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力におけるモデルのHidden-states、および任意の初期埋め込み出力。

  • attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます)— torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    アテンションのsoftmax後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。

FlavaImageModel

class transformers.FlavaImageModel

< >

( config: FlavaImageConfigadd_pooling_layer: bool = True )

パラメータ

  • config (FlavaImageConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
  • add_pooling_layer (bool、省略可、デフォルトはTrue) — プーリング層を追加するかどうか

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

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

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

forward

< >

( pixel_values: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)

パラメータ

  • pixel_values (torch.Tensor、形状 (batch_size, num_channels, image_size, image_size)、任意) — 入力画像に対応するテンソルです。ピクセル値は FlavaImageProcessor を使用して取得できます。詳細については FlavaImageProcessor.call() を参照してください(FlavaProcessor は画像の処理に FlavaImageProcessor を使用します)。
  • bool_masked_pos (torch.BoolTensor、shape (batch_size, image_num_patches)) — Boolean 型のマスクされた位置。どのパッチがマスクされているか(1)、されていないか(0)を示します。
  • interpolate_pos_encoding (bool, 任意) — 事前学習済みの位置エンコーディングを補間するかどうかを指定します。
  • attention_mask (torch.Tensor の形状 (batch_size, sequence_length), 、任意) — パディングトークンのインデックスに対するアテンションを回避するためのマスク。 [0, 1]:
    • マスクされていないトークンに対して1
    • マスクされたトークンに対しては 0 です。

    アテンションマスクとは?

  • output_attentions (bool, 省略可) — すべてのアテンション層のアテンションテンソルを返すかどうかを指定します。詳細は、返されるテンソルの attentions を参照してください。
  • output_hidden_states (bool, 省略可) — すべての層の hidden states を返すかどうかを指定します。詳細は、返されるテンソルの hidden_states を参照してください。
  • return_dict (bool, 任意) — プレーンなタプルではなく ModelOutput を返すかどうか。

戻り値

BaseModelOutputWithPooling または tuple(torch.FloatTensor)

torch.FloatTensor のタプル(return_dict=False が渡された場合、または config.return_dict=False の場合)、または BaseModelOutputWithPooling。設定(FlavaConfig)や入力に応じて、さまざまな要素で構成されます。

FlavaImageModelのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

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

  • last_hidden_state (torch.FloatTensor、shape (batch_size, sequence_length, hidden_size)) — モデルの最終層の出力における隠れ状態のシーケンス。

  • pooler_output (torch.FloatTensor、shape (batch_size, hidden_size)) — 補助事前学習タスクに使用される層をさらに通して処理された後、シーケンスの最初のトークン(分類トークン)の最終層の隠れ状態。例えば、BERT 系のモデルでは、線形層と tanh 活性化関数を経て処理された後の分類トークンを返します。この線形層の重みは、事前学習中の次文予測(分類)目的から学習されます。

  • hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返されます)— torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力におけるモデルのHidden-states、および任意の初期埋め込み出力。

  • attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます)— torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    アテンションのsoftmax後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。

FlavaMultimodalModel

class transformers.FlavaMultimodalModel

< >

( config: FlavaMultimodalConfigadd_pooling_layer = True )

パラメータ

  • config (FlavaMultimodalConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
  • add_pooling_layer (bool、省略可、デフォルトはTrue) — プーリング層を追加するかどうか

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

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

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

forward

< >

( hidden_states: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)

パラメータ

  • hidden_states (torch.FloatTensor、shape (batch_size, image_num_patches + text_seq_len, hidden_size)) — 単一モーダルエンコーダーの連結された隠れ状態です。
  • attention_mask (torch.Tensor の形状 (batch_size, sequence_length), 、任意) — パディングトークンのインデックスに対するアテンションを回避するためのマスク。 [0, 1]:
    • マスクされていないトークンに対して1
    • マスクされたトークンに対しては 0 です。

    アテンションマスクとは?

  • output_attentions (bool, 省略可) — すべてのアテンション層のアテンションテンソルを返すかどうかを指定します。詳細は、返されるテンソルの attentions を参照してください。
  • output_hidden_states (bool, 省略可) — すべての層の hidden states を返すかどうかを指定します。詳細は、返されるテンソルの hidden_states を参照してください。
  • return_dict (bool, 任意) — プレーンなタプルではなく ModelOutput を返すかどうか。

戻り値

BaseModelOutputWithPooling または tuple(torch.FloatTensor)

torch.FloatTensor のタプル(return_dict=False が渡された場合、または config.return_dict=False の場合)、または BaseModelOutputWithPooling。設定(FlavaConfig)や入力に応じて、さまざまな要素で構成されます。

FlavaMultimodalModelのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

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

  • last_hidden_state (torch.FloatTensor、shape (batch_size, sequence_length, hidden_size)) — モデルの最終層の出力における隠れ状態のシーケンス。

  • pooler_output (torch.FloatTensor、shape (batch_size, hidden_size)) — 補助事前学習タスクに使用される層をさらに通して処理された後、シーケンスの最初のトークン(分類トークン)の最終層の隠れ状態。例えば、BERT 系のモデルでは、線形層と tanh 活性化関数を経て処理された後の分類トークンを返します。この線形層の重みは、事前学習中の次文予測(分類)目的から学習されます。

  • hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返されます)— torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, sequence_length, hidden_size) です。

    各層の出力におけるモデルのHidden-states、および任意の初期埋め込み出力。

  • attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます)— torch.FloatTensor のタプル(各レイヤーごとに1つ)、形状は (batch_size, num_heads, sequence_length, sequence_length)。

    アテンションのsoftmax後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。

Update on GitHub