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

Эта модель была опубликована в HF papers 08.12.2021 и добавлена в Hugging Face Transformers 11.05.2022.

FLAVA

Обзор

Модель FLAVA была предложена в статье FLAVA: A Foundational Language And Vision Alignment Model авторами Amanpreet Singh, Ronghang Hu, Vedanuj Goswami, Guillaume Couairon, Wojciech Galuba, Marcus Rohrbach и Douwe Kiela и принята к публикации на CVPR 2022.

Статья ставит целью создание единой универсальной базовой модели, способной работать с задачами в области зрения, языка, а также мультимодальными задачами, сочетающими зрение и язык.

Аннотация из статьи следующая:

Современные модели компьютерного зрения и мультимодальные модели (зрение + язык) опираются на крупномасштабное предобучение на данных, объединяющих зрение и язык, чтобы достигать высоких результатов на разнообразных задачах. Как правило, такие модели либо кросс-модальные (контрастные), либо мультимодальные (с ранним слиянием), но не и то и другое одновременно; при этом они часто нацелены на конкретные модальности или задачи. Перспективным направлением является использование единой целостной универсальной модели в качестве «фундамента», которая одновременно работает со всеми модальностями: по-настоящему фундаментальная модель для задач зрения и языка должна хорошо справляться с задачами зрения, задачами языка, а также с кросс- и мультимодальными задачами, объединяющими зрение и язык. Мы представляем FLAVA как такую модель и демонстрируем впечатляющие результаты на широком спектре из 35 задач, охватывающих эти целевые модальности.

Эта модель была предоставлена пользователем aps. Исходный код можно найти здесь.

FlavaConfig

класс 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) — Вероятность dropout для всех полносвязных слоёв в блоках эмбеддингов, энкодера и пуллера.
  • attention_probs_dropout_prob (Union[float, int], необязательный, по умолчанию 0.0) — Коэффициент dropout для вероятностей внимания.
  • initializer_range (float, необязательный, по умолчанию 0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
  • layer_norm_eps (float, необязательный, по умолчанию 1e-12) — Значение epsilon, используемое слоями нормализации.
  • pad_token_id (int, необязательный, по умолчанию 0) — Идентификатор токена, используемого для дополнения (padding) в словаре.
  • 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) — Вероятность dropout для всех полносвязных слоёв в блоках эмбеддингов, энкодера и пуллера.
  • attention_probs_dropout_prob (Union[float, int], необязательный, по умолчанию 0.0) — Коэффициент dropout для вероятностей внимания.
  • 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) — Использовать ли токен маски. Применяется в функции потерь MIM (Masked Image Modeling) для FLAVA.
  • 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

класс 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) — Вероятность dropout для всех полносвязных слоёв в блоках эмбеддингов, энкодера и пуллера.
  • attention_probs_dropout_prob (Union[float, int], необязательный, по умолчанию 0.0) — Коэффициент dropout для вероятностей внимания.
  • 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

класс 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) — Количество блоков на основе свёрток в каждой группе.
  • 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

класс 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': возвращает объекты torch.Tensor PyTorch.
    • 'np': возвращает объекты NumPy np.ndarray.
  • **kwargs (ProcessingKwargs, optional) — Дополнительные параметры обработки для каждой модальности (текст, изображения, видео, аудио). Специфичные для модели параметры перечислены выше; полный список поддерживаемых аргументов см. в классе TypedDict.

FlavaImageProcessor

класс transformers.FlavaImageProcessor

< >

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

Параметры

  • do_convert_rgb (bool, kwargs, optional) — Следует ли преобразовать изображение в RGB.
  • do_resize (bool, kwargs, optional, по умолчанию True) — Указывает, нужно ли изменять размер изображения.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, по умолчанию {'height' -- 224, 'width': 224}): Описывает максимальные размеры входных данных для модели.
  • default_to_square (bool, kwargs, optional, по умолчанию 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, optional, по умолчанию True) — Указывает, следует ли выполнять рескейлинг изображения.
  • rescale_factor (float, kwargs, optional, по умолчанию 0.00392156862745098) — Коэффициент масштабирования, применяемый к изображению, если do_rescale установлен в True.
  • do_normalize (bool, kwargs, optional, по умолчанию True) — Указывает, следует ли нормализовать изображение.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию [0.48145466, 0.4578275, 0.40821073]) — Среднее значение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию [0.26862954, 0.26130258, 0.27577711]) — Стандартное отклонение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • do_pad (bool, kwargs, 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, optional) — Поддерживается только ChannelDimension.FIRST. Добавлено для совместимости с медленными процессорами.
  • 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, optional) — Определяет, следует ли отключить группировку изображений по размеру для их индивидуальной обработки, а не пачками. Если значение равно None, оно будет установлено в True, если изображения находятся на CPU, и в False в противном случае. Этот выбор основан на эмпирических наблюдениях, описанных здесь: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, optional) — Количество токенов изображения, используемых для каждого изображения во входных данных. Добавлено для обратной совместимости, но в будущих моделях это значение следует задавать как атрибут процессора.
  • return_image_mask (bool, kwargs, необязательный, по умолчанию False) — Возвращать ли маску изображения. Может быть переопределён параметром return_image_mask в preprocess.
  • input_size_patches (int, kwargs, optional, по умолчанию 14) — Количество патчей по высоте и ширине изображения. 14x14 = 196 патчей всего. Может быть переопределено параметром input_size_patches в preprocess.
  • total_mask_patches (int, kwargs, optional, по умолчанию 75) — Общее количество патчей, которые должны быть замаскированы. Может быть переопределено параметром total_mask_patches в preprocess.
  • mask_group_min_patches (int, kwargs, необязательный, по умолчанию 16) — Минимальное количество патчей, которые должны быть замаскированы. Может быть переопределено параметром mask_group_min_patches в preprocess.
  • mask_group_max_patches (int, kwargs, optional) — Максимальное количество патчей, которые должны быть замаскированы. Может быть переопределено параметром mask_group_max_patches в preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, необязательный, по умолчанию 0.3) — Минимальное соотношение сторон окна маски. Может быть переопределено параметром mask_group_min_aspect_ratio в preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, optional) — Максимальное соотношение сторон окна маски. Может быть переопределено параметром mask_group_max_aspect_ratio в preprocess.
  • return_codebook_pixels (bool, kwargs, optional, по умолчанию False) — Возвращать ли пиксельные значения из книги кодов.
  • codebook_do_resize (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли изменить размер входных данных для codebook до определённого значения. Может быть переопределён параметром codebook_do_resize в preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], необязательный, по умолчанию {"height" -- 224, "width": 224}): Изменяет размер входных данных для codebook до указанного размера. Может быть переопределён параметром codebook_size в preprocess.
  • codebook_resample (PILImageResampling, kwargs, optional, по умолчанию PILImageResampling.LANCZOS) — Фильтр ресемплинга, используемый при изменении размера изображения codebook. В версиях torchvision < 0.27 LANCZOS не поддерживается для тензоров torch, поэтому в качестве ближайшей альтернативы используется BICUBIC. Может быть переопределён параметром codebook_resample в preprocess.
  • codebook_do_center_crop (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли выполнять центрированное обрезание входных данных для codebook. Если размер входа меньше codebook_crop_size по любому из краёв, изображение дополняется нулями, а затем обрезается по центру. Может быть переопределено параметром codebook_do_center_crop в preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], необязательный, по умолчанию {"height" -- 224, "width": 224}): Требуемый размер выходных данных для входа в codebook при применении центрированного кадрирования. Может быть переопределён параметром codebook_crop_size в preprocess.
  • codebook_do_rescale (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли масштабировать входные данные для codebook с использованием заданного коэффициента codebook_rescale_factor. Может быть переопределено параметром codebook_do_rescale в preprocess.
  • codebook_rescale_factor (int, kwargs or float, optional, по умолчанию 1/255) — Определяет коэффициент масштабирования, используемый при перемасштабировании изображения codebook. Может быть переопределён параметром codebook_rescale_factor в preprocess.
  • codebook_do_map_pixels (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли отображать значения пикселей входных данных codebook по формуле (1 - 2e)x + e. Может быть переопределено параметром codebook_do_map_pixels в preprocess.
  • codebook_do_normalize (bool, kwargs, optional, по умолчанию True) — Определяет, нормализовать ли входные данные для codebook с помощью codebook_image_mean и codebook_image_std. Может быть переопределено параметром codebook_do_normalize в preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], необязательный, по умолчанию [0, 0, 0]) — Последовательность средних значений для каждого канала, используемая при нормализации изображений для codebook. Может быть переопределена параметром codebook_image_mean в preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], необязательный, по умолчанию [0.5, 0.5, 0.5]) — Последовательность стандартных отклонений для каждого канала, используемая при нормализации изображений для codebook. Может быть переопределена параметром codebook_image_std в preprocess.

Создаёт процессор изображений 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, optional) — Следует ли преобразовать изображение в RGB.
  • do_resize (bool, kwargs, optional) — Указывает, нужно ли изменить размер изображения.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Описывает максимальные размеры входных данных для модели.
  • default_to_square (bool, kwargs, optional) — Определяет, следует ли по умолчанию использовать квадратное изображение при изменении размера, если size является целым числом.
  • 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, optional) — Коэффициент масштабирования, применяемый к изображению, если do_rescale установлен в True.
  • do_normalize (bool, kwargs, optional) — Нужно ли нормализовать изображение.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, optional) — Среднее значение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional) — Стандартное отклонение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • do_pad (bool, kwargs, 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, optional) — Поддерживается только ChannelDimension.FIRST. Добавлено для совместимости с медленными процессорами.
  • 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, optional) — Определяет, следует ли отключить группировку изображений по размеру для их индивидуальной обработки, а не пачками. Если значение равно None, оно будет установлено в True, если изображения находятся на CPU, и в False в противном случае. Этот выбор основан на эмпирических наблюдениях, описанных здесь: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, optional) — Количество токенов изображения, используемых для каждого изображения во входных данных. Добавлено для обратной совместимости, но в будущих моделях это значение следует задавать как атрибут процессора.
  • return_image_mask (bool, kwargs, необязательный, по умолчанию False) — Возвращать ли маску изображения. Может быть переопределён параметром return_image_mask в preprocess.
  • input_size_patches (int, kwargs, optional, по умолчанию 14) — Количество патчей по высоте и ширине изображения. 14x14 = 196 патчей всего. Может быть переопределено параметром input_size_patches в preprocess.
  • total_mask_patches (int, kwargs, optional, по умолчанию 75) — Общее количество патчей, которые должны быть замаскированы. Может быть переопределено параметром total_mask_patches в preprocess.
  • mask_group_min_patches (int, kwargs, необязательный, по умолчанию 16) — Минимальное количество патчей, которые должны быть замаскированы. Может быть переопределено параметром mask_group_min_patches в preprocess.
  • mask_group_max_patches (int, kwargs, optional) — Максимальное количество патчей, которые должны быть замаскированы. Может быть переопределено параметром mask_group_max_patches в preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, необязательный, по умолчанию 0.3) — Минимальное соотношение сторон окна маски. Может быть переопределено параметром mask_group_min_aspect_ratio в preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, optional) — Максимальное соотношение сторон окна маски. Может быть переопределено параметром mask_group_max_aspect_ratio в preprocess.
  • return_codebook_pixels (bool, kwargs, optional, по умолчанию False) — Возвращать ли пиксельные значения из книги кодов.
  • codebook_do_resize (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли изменить размер входных данных для codebook до определённого значения. Может быть переопределён параметром codebook_do_resize в preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], необязательный, по умолчанию {"height" -- 224, "width": 224}): Изменяет размер входных данных для codebook до указанного размера. Может быть переопределён параметром codebook_size в preprocess.
  • codebook_resample (PILImageResampling, kwargs, optional, по умолчанию PILImageResampling.LANCZOS) — Фильтр ресемплинга, используемый при изменении размера изображения codebook. В версиях torchvision < 0.27 LANCZOS не поддерживается для тензоров torch, поэтому в качестве ближайшей альтернативы используется BICUBIC. Может быть переопределён параметром codebook_resample в preprocess.
  • codebook_do_center_crop (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли выполнять центрированное обрезание входных данных для codebook. Если размер входа меньше codebook_crop_size по любому из краёв, изображение дополняется нулями, а затем обрезается по центру. Может быть переопределено параметром codebook_do_center_crop в preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], необязательный, по умолчанию {"height" -- 224, "width": 224}): Требуемый размер выходных данных для входа в codebook при применении центрированного кадрирования. Может быть переопределён параметром codebook_crop_size в preprocess.
  • codebook_do_rescale (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли масштабировать входные данные для codebook с использованием заданного коэффициента codebook_rescale_factor. Может быть переопределено параметром codebook_do_rescale в preprocess.
  • codebook_rescale_factor (int, kwargs or float, optional, по умолчанию 1/255) — Определяет коэффициент масштабирования, используемый при перемасштабировании изображения codebook. Может быть переопределён параметром codebook_rescale_factor в preprocess.
  • codebook_do_map_pixels (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли отображать значения пикселей входных данных codebook по формуле (1 - 2e)x + e. Может быть переопределено параметром codebook_do_map_pixels в preprocess.
  • codebook_do_normalize (bool, kwargs, optional, по умолчанию True) — Определяет, нормализовать ли входные данные для codebook с помощью codebook_image_mean и codebook_image_std. Может быть переопределено параметром codebook_do_normalize в preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], необязательный, по умолчанию [0, 0, 0]) — Последовательность средних значений для каждого канала, используемая при нормализации изображений для codebook. Может быть переопределена параметром codebook_image_mean в preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], необязательный, по умолчанию [0.5, 0.5, 0.5]) — Последовательность стандартных отклонений для каждого канала, используемая при нормализации изображений для codebook. Может быть переопределена параметром codebook_image_std в preprocess.

Возвращает

~image_processing_base.BatchFeature

  • data (dict) — Словарь списков/массивов/тензоров, возвращаемый методом call (‘pixel_values’ и т. д.).
  • tensor_type (Union[None, str, TensorType], необязательный) — Здесь можно указать tensor_type, чтобы при инициализации преобразовать списки целых чисел в тензоры PyTorch/Numpy.

FlavaImageProcessorPil

класс transformers.FlavaImageProcessorPil

< >

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

Параметры

  • do_convert_rgb (bool, kwargs, optional) — Следует ли преобразовать изображение в RGB.
  • do_resize (bool, kwargs, optional, по умолчанию True) — Указывает, нужно ли изменять размер изображения.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, по умолчанию {'height' -- 224, 'width': 224}): Описывает максимальные размеры входных данных для модели.
  • default_to_square (bool, kwargs, optional, по умолчанию 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, optional, по умолчанию True) — Указывает, следует ли выполнять рескейлинг изображения.
  • rescale_factor (float, kwargs, optional, по умолчанию 0.00392156862745098) — Коэффициент масштабирования, применяемый к изображению, если do_rescale установлен в True.
  • do_normalize (bool, kwargs, optional, по умолчанию True) — Указывает, следует ли нормализовать изображение.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию [0.48145466, 0.4578275, 0.40821073]) — Среднее значение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию [0.26862954, 0.26130258, 0.27577711]) — Стандартное отклонение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • do_pad (bool, kwargs, 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, optional) — Поддерживается только ChannelDimension.FIRST. Добавлено для совместимости с медленными процессорами.
  • 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, optional) — Определяет, следует ли отключить группировку изображений по размеру для их индивидуальной обработки, а не пачками. Если значение равно None, оно будет установлено в True, если изображения находятся на CPU, и в False в противном случае. Этот выбор основан на эмпирических наблюдениях, описанных здесь: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, optional) — Количество токенов изображения, используемых для каждого изображения во входных данных. Добавлено для обратной совместимости, но в будущих моделях это значение следует задавать как атрибут процессора.
  • return_image_mask (bool, kwargs, необязательный, по умолчанию False) — Возвращать ли маску изображения. Может быть переопределён параметром return_image_mask в preprocess.
  • input_size_patches (int, kwargs, optional, по умолчанию 14) — Количество патчей по высоте и ширине изображения. 14x14 = 196 патчей всего. Может быть переопределено параметром input_size_patches в preprocess.
  • total_mask_patches (int, kwargs, optional, по умолчанию 75) — Общее количество патчей, которые должны быть замаскированы. Может быть переопределено параметром total_mask_patches в preprocess.
  • mask_group_min_patches (int, kwargs, необязательный, по умолчанию 16) — Минимальное количество патчей, которые должны быть замаскированы. Может быть переопределено параметром mask_group_min_patches в preprocess.
  • mask_group_max_patches (int, kwargs, optional) — Максимальное количество патчей, которые должны быть замаскированы. Может быть переопределено параметром mask_group_max_patches в preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, необязательный, по умолчанию 0.3) — Минимальное соотношение сторон окна маски. Может быть переопределено параметром mask_group_min_aspect_ratio в preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, optional) — Максимальное соотношение сторон окна маски. Может быть переопределено параметром mask_group_max_aspect_ratio в preprocess.
  • return_codebook_pixels (bool, kwargs, optional, по умолчанию False) — Возвращать ли пиксельные значения из книги кодов.
  • codebook_do_resize (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли изменить размер входных данных для codebook до определённого значения. Может быть переопределён параметром codebook_do_resize в preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], необязательный, по умолчанию {"height" -- 224, "width": 224}): Изменяет размер входных данных для codebook до указанного размера. Может быть переопределён параметром codebook_size в preprocess.
  • codebook_resample (PILImageResampling, kwargs, optional, по умолчанию PILImageResampling.LANCZOS) — Фильтр ресемплинга, используемый при изменении размера изображения codebook. В версиях torchvision < 0.27 LANCZOS не поддерживается для тензоров torch, поэтому в качестве ближайшей альтернативы используется BICUBIC. Может быть переопределён параметром codebook_resample в preprocess.
  • codebook_do_center_crop (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли выполнять центрированное обрезание входных данных для codebook. Если размер входа меньше codebook_crop_size по любому из краёв, изображение дополняется нулями, а затем обрезается по центру. Может быть переопределено параметром codebook_do_center_crop в preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], необязательный, по умолчанию {"height" -- 224, "width": 224}): Требуемый размер выходных данных для входа в codebook при применении центрированного кадрирования. Может быть переопределён параметром codebook_crop_size в preprocess.
  • codebook_do_rescale (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли масштабировать входные данные для codebook с использованием заданного коэффициента codebook_rescale_factor. Может быть переопределено параметром codebook_do_rescale в preprocess.
  • codebook_rescale_factor (int, kwargs or float, optional, по умолчанию 1/255) — Определяет коэффициент масштабирования, используемый при перемасштабировании изображения codebook. Может быть переопределён параметром codebook_rescale_factor в preprocess.
  • codebook_do_map_pixels (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли отображать значения пикселей входных данных codebook по формуле (1 - 2e)x + e. Может быть переопределено параметром codebook_do_map_pixels в preprocess.
  • codebook_do_normalize (bool, kwargs, optional, по умолчанию True) — Определяет, нормализовать ли входные данные для codebook с помощью codebook_image_mean и codebook_image_std. Может быть переопределено параметром codebook_do_normalize в preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], необязательный, по умолчанию [0, 0, 0]) — Последовательность средних значений для каждого канала, используемая при нормализации изображений для codebook. Может быть переопределена параметром codebook_image_mean в preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], необязательный, по умолчанию [0.5, 0.5, 0.5]) — Последовательность стандартных отклонений для каждого канала, используемая при нормализации изображений для codebook. Может быть переопределена параметром codebook_image_std в preprocess.

Создаёт процессор изображений 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, optional) — Следует ли преобразовать изображение в RGB.
  • do_resize (bool, kwargs, optional) — Указывает, нужно ли изменить размер изображения.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Описывает максимальные размеры входных данных для модели.
  • default_to_square (bool, kwargs, optional) — Определяет, следует ли по умолчанию использовать квадратное изображение при изменении размера, если size является целым числом.
  • 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, optional) — Коэффициент масштабирования, применяемый к изображению, если do_rescale установлен в True.
  • do_normalize (bool, kwargs, optional) — Нужно ли нормализовать изображение.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, optional) — Среднее значение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional) — Стандартное отклонение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • do_pad (bool, kwargs, 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, optional) — Поддерживается только ChannelDimension.FIRST. Добавлено для совместимости с медленными процессорами.
  • 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, optional) — Определяет, следует ли отключить группировку изображений по размеру для их индивидуальной обработки, а не пачками. Если значение равно None, оно будет установлено в True, если изображения находятся на CPU, и в False в противном случае. Этот выбор основан на эмпирических наблюдениях, описанных здесь: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, optional) — Количество токенов изображения, используемых для каждого изображения во входных данных. Добавлено для обратной совместимости, но в будущих моделях это значение следует задавать как атрибут процессора.
  • return_image_mask (bool, kwargs, необязательный, по умолчанию False) — Возвращать ли маску изображения. Может быть переопределён параметром return_image_mask в preprocess.
  • input_size_patches (int, kwargs, optional, по умолчанию 14) — Количество патчей по высоте и ширине изображения. 14x14 = 196 патчей всего. Может быть переопределено параметром input_size_patches в preprocess.
  • total_mask_patches (int, kwargs, optional, по умолчанию 75) — Общее количество патчей, которые должны быть замаскированы. Может быть переопределено параметром total_mask_patches в preprocess.
  • mask_group_min_patches (int, kwargs, необязательный, по умолчанию 16) — Минимальное количество патчей, которые должны быть замаскированы. Может быть переопределено параметром mask_group_min_patches в preprocess.
  • mask_group_max_patches (int, kwargs, optional) — Максимальное количество патчей, которые должны быть замаскированы. Может быть переопределено параметром mask_group_max_patches в preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, необязательный, по умолчанию 0.3) — Минимальное соотношение сторон окна маски. Может быть переопределено параметром mask_group_min_aspect_ratio в preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, optional) — Максимальное соотношение сторон окна маски. Может быть переопределено параметром mask_group_max_aspect_ratio в preprocess.
  • return_codebook_pixels (bool, kwargs, optional, по умолчанию False) — Возвращать ли пиксельные значения из книги кодов.
  • codebook_do_resize (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли изменить размер входных данных для codebook до определённого значения. Может быть переопределён параметром codebook_do_resize в preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], необязательный, по умолчанию {"height" -- 224, "width": 224}): Изменяет размер входных данных для codebook до указанного размера. Может быть переопределён параметром codebook_size в preprocess.
  • codebook_resample (PILImageResampling, kwargs, optional, по умолчанию PILImageResampling.LANCZOS) — Фильтр ресемплинга, используемый при изменении размера изображения codebook. В версиях torchvision < 0.27 LANCZOS не поддерживается для тензоров torch, поэтому в качестве ближайшей альтернативы используется BICUBIC. Может быть переопределён параметром codebook_resample в preprocess.
  • codebook_do_center_crop (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли выполнять центрированное обрезание входных данных для codebook. Если размер входа меньше codebook_crop_size по любому из краёв, изображение дополняется нулями, а затем обрезается по центру. Может быть переопределено параметром codebook_do_center_crop в preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], необязательный, по умолчанию {"height" -- 224, "width": 224}): Требуемый размер выходных данных для входа в codebook при применении центрированного кадрирования. Может быть переопределён параметром codebook_crop_size в preprocess.
  • codebook_do_rescale (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли масштабировать входные данные для codebook с использованием заданного коэффициента codebook_rescale_factor. Может быть переопределено параметром codebook_do_rescale в preprocess.
  • codebook_rescale_factor (int, kwargs or float, optional, по умолчанию 1/255) — Определяет коэффициент масштабирования, используемый при перемасштабировании изображения codebook. Может быть переопределён параметром codebook_rescale_factor в preprocess.
  • codebook_do_map_pixels (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли отображать значения пикселей входных данных codebook по формуле (1 - 2e)x + e. Может быть переопределено параметром codebook_do_map_pixels в preprocess.
  • codebook_do_normalize (bool, kwargs, optional, по умолчанию True) — Определяет, нормализовать ли входные данные для codebook с помощью codebook_image_mean и codebook_image_std. Может быть переопределено параметром codebook_do_normalize в preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], необязательный, по умолчанию [0, 0, 0]) — Последовательность средних значений для каждого канала, используемая при нормализации изображений для codebook. Может быть переопределена параметром codebook_image_mean в preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], необязательный, по умолчанию [0.5, 0.5, 0.5]) — Последовательность стандартных отклонений для каждого канала, используемая при нормализации изображений для codebook. Может быть переопределена параметром codebook_image_std в preprocess.

Возвращает

~image_processing_base.BatchFeature

  • data (dict) — Словарь списков/массивов/тензоров, возвращаемый методом call (‘pixel_values’ и т. д.).
  • tensor_type (Union[None, str, TensorType], необязательный) — Здесь можно указать tensor_type, чтобы при инициализации преобразовать списки целых чисел в тензоры PyTorch/Numpy.

FlavaForPreTraining

класс transformers.FlavaForPreTraining

< >

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

Параметры

  • config (FlavaConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
  • image_codebook (torch.nn.Module, optional) — Если передано, image codebook будет установлен в это значение. В противном случае он будет инициализирован с использованием image_codebook_config, определённого в config в качестве первого параметра.

Модель FLAVA для предварительного обучения, которая выводит потери, эмбеддинги, логиты и выходные данные трансформера.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_ids_masked: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = Nonecodebook_pixel_values: typing.Optional[torch.Tensor] = 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.Tensor)

Параметры

  • input_ids (torch.LongTensor формы (batch_size, text_seq_len)) — Индексы токенов входной последовательности в словаре. Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call(). Что такое входные ID?
  • input_ids_masked (torch.LongTensor формы (batch_size, text_seq_len)) — Индексы токенов входной последовательности в словаре. Это замаскированная версия исходной задачи, используемая для MLM. Индексы можно получить с помощью AutoTokenizer вместе с DataCollatorForMaskedLanguageModeling. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call(). Что такое входные ID?
  • pixel_values (torch.Tensor формы (batch_size, num_channels, image_size, image_size), необязательный) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью FlavaImageProcessor. Подробности см. в FlavaImageProcessor.call() (FlavaProcessor использует FlavaImageProcessor для обработки изображений).
  • codebook_pixel_values (torch.Tensor формы (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 формы (batch_size, image_num_patches)) — Логические позиции маски. Показывает, какие патчи замаскированы (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 для токенов, которые не маскируются, 0 для токенов, которые маскируются. Что такое маски внимания? [0, 1]:
  • skip_unmasked_multimodal_encoder (*bool*, необязательный) — Пропускать вычисления для мультимодального энкодера для немаскированных входных данных. На данный момент для предварительного обучения FLAVA не требуются немаскированные мультимодальные эмбеддинги или выходные данные.
  • mlm_labels (torch.LongTensor формы (batch_size, text_seq_len), необязательный) — Метки для вычисления функции потерь языковой и мультимодальной маскированной моделирования слева направо (предсказание следующего слова). Индексы должны находиться в диапазоне [-100, 0, ..., text_config.vocab_size - 1] (см. docstring input_ids). Токены с индексами, установленными в -100, игнорируются (маскируются); функция потерь вычисляется только для токенов с метками в диапазоне [0, ..., text_config.vocab_size - 1].
  • mim_labels (torch.LongTensor формы (batch_size, image_num_patches), необязательный) — Метки для вычисления потерь маскированного моделирования изображения и мультимодального моделирования. Индексы должны находиться в диапазоне [-100, 0, ..., image_config.vocab_size - 1]. Токены с индексом -100 игнорируются (маскируются), потери вычисляются только для токенов с метками в диапазоне [0, ..., image_config.vocab_size - 1]. Если не переданы, они генерируются автоматически с использованием кодовой книги изображения, назначенной модели. По умолчанию используется FlavaImageCodebook. См. FlavaImageCodebook, чтобы узнать, как генерировать mim_labels.
  • itm_labels (torch.LongTensor формы (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.Tensor)

FlavaForPreTrainingOutput или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (FlavaConfig) и входных данных.

Метод forward класса FlavaForPreTraining переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • loss (torch.Tensor, необязательный, возвращается, если return_loss равно True) — Суммарная функция потерь, рассчитанная для этой модели.
  • loss_info (~models.flava.modeling_flava.FlavaLosses, optional) — Подробная информация о потерях предобучения FLAVA. Описание ключей см. в документации класса FlavaLosses.
  • image_embeddings (torch.Tensor формы (batch_size, output_dim), необязательный, возвращается при наличии pixel_values) — Встраивания изображений, которые по сути являются агрегированным выходом FlavaImageModel.
  • image_output (BaseModelOutputWithPooling, необязательный, возвращается, если присутствуют pixel_values) — Выход модели FlavaImageModel.
  • text_embeddings (torch.Tensor формы (batch_size, output_dim), необязательный, возвращается при наличии input_ids) — Встроенные представления текста, которые по сути являются агрегированным выходом FlavaTextModel.
  • text_output (BaseModelOutputWithPooling, необязательный, возвращается, если присутствуют input_ids) — Выход модели FlavaTextModel.
  • multimodal_embeddings (torch.Tensor формы (batch_size, output_dim), необязательный, возвращается, если присутствуют 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.Tensor формы (batch_size, output_dim), необязательный, возвращается при наличии pixel_values) — Вложения изображений, которые по сути являются агрегированным выходом FlavaImageModel. Использует bool_masked_pos для создания замаскированных изображений.
  • image_masked_output (BaseModelOutputWithPooling, необязательный, возвращается, если присутствуют pixel_values) — Выход модели FlavaImageModel. Использует bool_masked_pos для создания замаскированных изображений.
  • text_masked_embeddings (torch.Tensor формы (batch_size, output_dim), необязательный, возвращается при наличии input_ids_masked) — текстовые эмбеддинги, которые по сути являются агрегированным выходом FlavaTextModel.
  • text_masked_output (BaseModelOutputWithPooling, необязательный, возвращается, если присутствуют input_ids_masked) — Выход модели FlavaTextModel.
  • multimodal_masked_embeddings (torch.Tensor формы (batch_size, output_dim), необязательный, возвращается, если присутствуют input_ids и pixel_values) — мультимодальные эмбеддинги, которые по сути являются агрегированным выходом FlavaTextModel.
  • multimodal_masked_output (BaseModelOutputWithPooling, необязательный, возвращается, если присутствуют input_ids_masked и pixel_values) — Выход модели FlavaMultimodalModel.
  • mim_logits (torch.Tensor формы (batch_size, num_image_patches, image_vocab_size) или формы (total_masked_patches, image_vocab_size) , необязательный, возвращается, если присутствуют pixel_values и отсутствуют input_ids_masked) — логиты для одноимодного потерь MIM. Использует bool_masked_pos для получения замаскированных патчей. Сплющенный вывод возвращается, если bool_masked_pos маскирует часть патчей.
  • mlm_logits (torch.Tensor формы (batch_size, text_seq_length, text_vocab_size) или формы (total_masked_seq_length, text_vocab_size), необязательный, возвращается, если присутствуют input_ids_masked и отсутствуют pixel_values) — логиты для одноимодной потери MLM. Сплошной вывод возвращается, если в input_ids_masked часть токенов замаскирована.
  • itm_logits (torch.Tensor формы (batch_size, 2), необязательный, возвращается, если присутствуют input_ids_masked и pixel_values) — логиты для потерь ITM. Обратите внимание, что потери ITM вычисляются на замаскированных парах в FLAVA.
  • contrastive_logits_per_image (torch.Tensor формы (image_batch_size, text_batch_size)) — значения масштабированного скалярного произведения между image_embeddings и text_embeddings, пропущенные через слои image_projection и text_projection модели FLAVA соответственно. Это представляет собой оценки сходства изображения и текста. Вычисляется для изображений и текстов без маскирования.
  • contrastive_logits_per_text (torch.Tensor формы (text_batch_size, image_batch_size)) — значения масштабированного скалярного произведения между text_embeddings и image_embeddings, прошедшие через слои text_projection и image_projection модели FLAVA соответственно. Вычисляется для изображений и текстов без маскирования.
  • mmm_image_logits (torch.Tensor формы (batch_size, num_image_patches, image_vocab_size) или формы (total_masked_patches, image_vocab_size), необязательный, возвращается, если присутствуют pixel_values и input_ids_masked) — логиты для мультимодальной функции потерь MMM для изображений. Использует bool_masked_pos для получения замаскированных патчей. Сплошной (flattened) вывод возвращается, если в bool_masked_pos часть патчей замаскирована.
  • mmm_text_logits (torch.Tensor формы (batch_size, text_seq_length, text_vocab_size) или формы (total_masked_seq_length, text_vocab_size), необязательный, возвращается, если присутствуют pixel_values и input_ids_masked) — логиты для мультимодальной потери MMM-текста. Сплошной вывод возвращается, если в 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

класс transformers.FlavaModel

< >

( config: FlavaConfig )

Параметры

  • config (FlavaConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().

Модель Flava без дополнительных слоёв, выводящая необработанные скрытые состояния.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.Tensor] = 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.Tensor)

Параметры

  • input_ids (torch.LongTensor формы (batch_size, image_num_patches + text_seq_len)) — Индексы токенов входной последовательности в словаре. Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call(). Что такое входные ID?
  • pixel_values (torch.Tensor формы (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 формы (batch_size, image_num_patches)) — Логические позиции маски. Показывает, какие патчи замаскированы (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 для значений пикселей, которые являются реальными (т. е. не замаскированы),
    • 0 для значений пикселей, которые являются заполнением (т. е. замаскированы).
  • skip_multimodal_encoder (*bool*, необязательный) — Пропуск любых вычислений для мультимодального энкодера. Полезно, если мультимодальное кодирование не будет использоваться.
  • output_attentions (bool, необязательный) — Указывает, следует ли возвращать тензоры внимания всех слоев внимания. Подробности см. в описании attentions в разделе возвращаемых тензоров.
  • output_hidden_states (bool, необязательный, по умолчанию True) — Указывает, следует ли возвращать скрытые состояния всех слоев. Подробности см. в описании hidden_states в разделе возвращаемых тензоров.
  • return_dict (bool, необязательный) — Указывает, следует ли возвращать ModelOutput вместо обычного кортежа.

Возвращает

FlavaModelOutput или tuple(torch.Tensor)

FlavaModelOutput или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (FlavaConfig) и входных данных.

Метод forward модели FlavaModel переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • image_embeddings (torch.Tensor формы (batch_size, output_dim), необязательный, возвращается при наличии pixel_values) — Встраивания изображений, которые по сути являются агрегированным выходом FlavaImageModel.
  • image_output (BaseModelOutputWithPooling, необязательный, возвращается, если присутствуют pixel_values) — Выход модели FlavaImageModel.
  • text_embeddings (torch.Tensor формы (batch_size, output_dim), необязательный, возвращается при наличии input_ids) — Встроенные представления текста, которые по сути являются агрегированным выходом FlavaTextModel.
  • text_output (BaseModelOutputWithPooling, необязательный, возвращается, если присутствуют input_ids) — Выход модели FlavaTextModel.
  • multimodal_embeddings (torch.Tensor формы (batch_size, output_dim), необязательный, возвращается, если присутствуют 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.Tensor)

Параметры

  • input_ids (torch.LongTensor формы (batch_size, text_seq_length)) — Индексы токенов входной последовательности в словаре. Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call(). Что такое входные идентификаторы?
  • attention_mask (torch.Tensor формы (batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона [0, 1]:
    • 1 для токенов, которые не замаскированы,
    • 0 для токенов, которые замаскированы.

    Что такое маски внимания?

  • token_type_ids (torch.LongTensor формы (batch_size, text_seq_length), , необязательный) — Индексы сегментных токенов для указания первой и второй частей входных данных. Индексы выбираются из [0, 1]:
  • position_ids (torch.Tensor формы (batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона [0, config.n_positions - 1].

    Что такое идентификаторы позиций?

Возвращает

BaseModelOutputWithPooling или tuple(torch.Tensor)

Объект BaseModelOutputWithPooling или кортеж torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (FlavaConfig) и входных данных.

  • last_hidden_state (torch.Tensor формы (batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.

  • pooler_output (torch.Tensor формы (batch_size, hidden_size)) — Скрытое состояние последнего слоя для первого токена последовательности (токен классификации) после дополнительной обработки слоями, используемыми для вспомогательной задачи предварительного обучения. Например, для моделей семейства BERT это возвращает токен классификации после обработки линейным слоем и функцией активации tanh. Веса линейного слоя обучаются по задаче предсказания следующего предложения (классификации) во время предварительного обучения.

  • hidden_states (tuple(torch.Tensor), optional, возвращается, если передано output_hidden_states=True или если config.output_hidden_states=True) — кортеж из torch.Tensor (один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.

  • attentions (tuple(torch.Tensor), необязательный, возвращается при передаче output_attentions=True или при config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (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.Tensor)

Параметры

  • pixel_values (torch.Tensor формы (batch_size, num_channels, image_size, image_size)) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью FlavaImageProcessor. Подробности см. в FlavaImageProcessor.call() (FlavaProcessor использует FlavaImageProcessor для обработки изображений).
  • bool_masked_pos (torch.BoolTensor формы (batch_size, image_num_patches)) — Логические позиции маски. Показывает, какие патчи замаскированы (1), а какие нет (0).
  • interpolate_pos_encoding (bool, необязательный) — Указывает, следует ли интерполировать предобученные позиционные кодировки.
  • attention_mask (torch.Tensor формы (batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона [0, 1]:
    • 1 для токенов, которые не замаскированы,
    • 0 для токенов, которые замаскированы.

    Что такое маски внимания?

Возвращает

BaseModelOutputWithPooling или tuple(torch.Tensor)

Объект BaseModelOutputWithPooling или кортеж torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (FlavaConfig) и входных данных.

  • last_hidden_state (torch.Tensor формы (batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.

  • pooler_output (torch.Tensor формы (batch_size, hidden_size)) — Скрытое состояние последнего слоя для первого токена последовательности (токен классификации) после дополнительной обработки слоями, используемыми для вспомогательной задачи предварительного обучения. Например, для моделей семейства BERT это возвращает токен классификации после обработки линейным слоем и функцией активации tanh. Веса линейного слоя обучаются по задаче предсказания следующего предложения (классификации) во время предварительного обучения.

  • hidden_states (tuple(torch.Tensor), optional, возвращается, если передано output_hidden_states=True или если config.output_hidden_states=True) — кортеж из torch.Tensor (один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.

  • attentions (tuple(torch.Tensor), необязательный, возвращается при передаче output_attentions=True или при config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (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

класс transformers.FlavaImageCodebook

< >

( config: FlavaImageCodebookConfig**kwargs: Any )

Параметры

  • config (FlavaImageCodebookConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().

Модель кодовой книги изображений FLAVA вдохновлена исходным кодировщиком DALL-E. Выводит необработанные скрытые состояния и может использоваться для генерации токенов изображения на основе словаря DALL-E. Применяется для генерации меток для MIM. Используйте get_codebook_indices, чтобы получить токены изображения для данного изображения.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

forward

< >

( pixel_values: Tensor**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) — Добавлять ли слой пулинга

Модель Flava Text, выводящая необработанные скрытые состояния без какого-либо специализированного слоя на выходе.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации 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.Tensor)

Параметры

  • input_ids (torch.LongTensor формы (batch_size, text_seq_length)) — Индексы токенов входной последовательности в словаре. Индексы можно получить с помощью AutoTokenizer. Подробности см. в PreTrainedTokenizer.encode() и PreTrainedTokenizer.call(). Что такое входные идентификаторы?
  • attention_mask (torch.Tensor формы (batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона [0, 1]:
    • 1 для токенов, которые не замаскированы,
    • 0 для токенов, которые замаскированы.

    Что такое маски внимания?

  • token_type_ids (torch.LongTensor формы (batch_size, text_seq_length), , необязательный) — Индексы сегментных токенов для указания первой и второй частей входных данных. Индексы выбираются из [0, 1]:
  • position_ids (torch.Tensor формы (batch_size, sequence_length), , необязательный) — Индексы позиций токенов каждого входного последовательности в позиционных эмбеддингах. Выбираются из диапазона [0, config.n_positions - 1].

    Что такое идентификаторы позиций?

  • output_attentions (bool, необязательный) — Указывает, следует ли возвращать тензоры внимания всех слоев внимания. Подробности см. в описании attentions в разделе возвращаемых тензоров.
  • output_hidden_states (bool, необязательный) — Указывает, следует ли возвращать скрытые состояния всех слоев. Подробности см. в описании hidden_states среди возвращаемых тензоров.
  • return_dict (bool, необязательный) — Указывает, следует ли возвращать ModelOutput вместо обычного кортежа.

Возвращает

BaseModelOutputWithPooling или tuple(torch.Tensor)

Объект BaseModelOutputWithPooling или кортеж torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (FlavaConfig) и входных данных.

Метод forward модели FlavaTextModel переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • last_hidden_state (torch.Tensor формы (batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.

  • pooler_output (torch.Tensor формы (batch_size, hidden_size)) — Скрытое состояние последнего слоя для первого токена последовательности (токен классификации) после дополнительной обработки слоями, используемыми для вспомогательной задачи предварительного обучения. Например, для моделей семейства BERT это возвращает токен классификации после обработки линейным слоем и функцией активации tanh. Веса линейного слоя обучаются по задаче предсказания следующего предложения (классификации) во время предварительного обучения.

  • hidden_states (tuple(torch.Tensor), optional, возвращается, если передано output_hidden_states=True или если config.output_hidden_states=True) — кортеж из torch.Tensor (один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.

  • attentions (tuple(torch.Tensor), необязательный, возвращается при передаче output_attentions=True или при config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (batch_size, num_heads, sequence_length, sequence_length).

    Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

FlavaImageModel

класс transformers.FlavaImageModel

< >

( config: FlavaImageConfigadd_pooling_layer: bool = True )

Параметры

  • config (FlavaImageConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.
  • add_pooling_layer (bool, необязательный, по умолчанию True) — Добавлять ли слой пулинга

Модель Flava без дополнительных слоёв, выводящая необработанные скрытые состояния.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации 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.Tensor)

Параметры

  • pixel_values (torch.Tensor формы (batch_size, num_channels, image_size, image_size), необязательный) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью FlavaImageProcessor. Подробности см. в FlavaImageProcessor.call() (FlavaProcessor использует FlavaImageProcessor для обработки изображений).
  • bool_masked_pos (torch.BoolTensor формы (batch_size, image_num_patches)) — Логические позиции маски. Показывает, какие патчи замаскированы (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 среди возвращаемых тензоров.
  • return_dict (bool, необязательный) — Указывает, следует ли возвращать ModelOutput вместо обычного кортежа.

Возвращает

BaseModelOutputWithPooling или tuple(torch.Tensor)

Объект BaseModelOutputWithPooling или кортеж torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (FlavaConfig) и входных данных.

Метод forward модели FlavaImageModel переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • last_hidden_state (torch.Tensor формы (batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.

  • pooler_output (torch.Tensor формы (batch_size, hidden_size)) — Скрытое состояние последнего слоя для первого токена последовательности (токен классификации) после дополнительной обработки слоями, используемыми для вспомогательной задачи предварительного обучения. Например, для моделей семейства BERT это возвращает токен классификации после обработки линейным слоем и функцией активации tanh. Веса линейного слоя обучаются по задаче предсказания следующего предложения (классификации) во время предварительного обучения.

  • hidden_states (tuple(torch.Tensor), optional, возвращается, если передано output_hidden_states=True или если config.output_hidden_states=True) — кортеж из torch.Tensor (один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.

  • attentions (tuple(torch.Tensor), необязательный, возвращается при передаче output_attentions=True или при config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (batch_size, num_heads, sequence_length, sequence_length).

    Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

FlavaMultimodalModel

класс transformers.FlavaMultimodalModel

< >

( config: FlavaMultimodalConfigadd_pooling_layer = True )

Параметры

  • config (FlavaMultimodalConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
  • add_pooling_layer (bool, необязательный, по умолчанию True) — Добавлять ли слой пулинга

Модель Flava без дополнительных слоёв, выводящая необработанные скрытые состояния.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации 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.Tensor)

Параметры

  • hidden_states (torch.Tensor формы (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 среди возвращаемых тензоров.
  • return_dict (bool, необязательный) — Указывает, следует ли возвращать ModelOutput вместо обычного кортежа.

Возвращает

BaseModelOutputWithPooling или tuple(torch.Tensor)

Объект BaseModelOutputWithPooling или кортеж torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (FlavaConfig) и входных данных.

Метод forward модели FlavaMultimodalModel переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • last_hidden_state (torch.Tensor формы (batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.

  • pooler_output (torch.Tensor формы (batch_size, hidden_size)) — Скрытое состояние последнего слоя для первого токена последовательности (токен классификации) после дополнительной обработки слоями, используемыми для вспомогательной задачи предварительного обучения. Например, для моделей семейства BERT это возвращает токен классификации после обработки линейным слоем и функцией активации tanh. Веса линейного слоя обучаются по задаче предсказания следующего предложения (классификации) во время предварительного обучения.

  • hidden_states (tuple(torch.Tensor), optional, возвращается, если передано output_hidden_states=True или если config.output_hidden_states=True) — кортеж из torch.Tensor (один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.

  • attentions (tuple(torch.Tensor), необязательный, возвращается при передаче output_attentions=True или при config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (batch_size, num_heads, sequence_length, sequence_length).

    Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

Update on GitHub