Transformers documentation
FLAVA
このモデルは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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = 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.configFlavaTextConfig
クラス transformers.FlavaTextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = 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.configFlavaImageConfig
クラス transformers.FlavaImageConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = 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.configFlavaMultimodalConfig
class transformers.FlavaMultimodalConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = 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.configFlavaImageCodebookConfig
class transformers.FlavaImageCodebookConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = 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.configFlavaProcessor
class transformers.FlavaProcessor
< source >( image_processor = Nonetokenizer = None**kwargs )
画像プロセッサとトークナイザーを単一のプロセッサにラップするFlavaProcessorを構築します。
FlavaProcessor は、FlavaImageProcessor と BertTokenizer のすべての機能を提供します。詳細については、~FlavaImageProcessor および ~BertTokenizer を参照してください。
__call__
< source >( 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
< source >( **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
< source >( 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
< source >( **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
< source >( 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
< source >( 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
< source >( 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]:- 0 は sentence A トークンに対応します。
- 1 は sentence B トークンに対応します。 トークンタイプIDとは何ですか?
- 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]. - image_attention_mask (
torch.FloatTensorの形状(batch_size, image_num_patches), 、任意) — 画像の padding トークンインデックスに対して attention を実行しないためのマスク。[0, 1]:- マスクされていないトークンに対して1
- マスクが適用されたトークンには 0。 アテンションマスクとは?
- 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
< source >( config: FlavaConfig )
パラメータ
- config (FlavaConfig) — モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、from_pretrained() メソッドを参照してください。
特定のヘッドを付加せず、生のhidden-statesを出力する素のFlavaモデル。
このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。
このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。
forward
< source >( 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]:- 0 は sentence A トークンに対応します。
- 1 は sentence B トークンに対応します。 トークンタイプIDとは何ですか?
- 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]. - 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
< source >( 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]:- 0 は sentence A トークンに対応します。
- 1 は sentence B トークンに対応します。 トークンタイプIDとは何ですか?
- position_ids (
torch.Tensorの形状(batch_size, sequence_length), 、省略可) — 位置埋め込みにおける各入力シーケンスのトークンの位置のインデックス。範囲[0, config.n_positions - 1].
戻り値
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
< source >( 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
< source >( 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のドキュメントを参照してください。
FlavaTextModel
クラス transformers.FlavaTextModel
< source >( 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
< source >( 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]:- 0 は sentence A トークンに対応します。
- 1 は sentence B トークンに対応します。 トークンタイプIDとは何ですか?
- position_ids (
torch.Tensorの形状(batch_size, sequence_length), 、省略可) — 位置埋め込みにおける各入力シーケンスのトークンの位置のインデックス。範囲[0, config.n_positions - 1]. - 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
< source >( 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
< source >( 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
< source >( 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
< source >( 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後のアテンション重み。自己アテンションヘッド内で加重平均を計算するために使用されます。