Transformers documentation
FLAVA
Эта модель была опубликована в 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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneimage_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonemultimodal_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Noneimage_codebook_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_size: int = 768layer_norm_eps: float = 1e-12projection_dim: int = 768init_codebook: bool = Truelogit_scale_init_value: float = 2.6592initializer_range: float = 0.02ce_ignore_index: int = -100mim_weight: float = 1.0mlm_weight: float = 1.0global_contrastive_weight: float = 1.0itm_weight: float = 1.0mmm_image_weight: float = 1.0mmm_text_weight: float = 1.0global_backprop_contrastive: bool = Trueskip_unmasked_multimodal_encoder: bool = Truereturn_loss: bool = Truetie_word_embeddings: bool = Trueinitializer_factor: float = 1.0 )
Параметры
- image_config (
dict, необязательный) — Словарь параметров конфигурации, используемых для инициализации FlavaImageConfig. - text_config (
Union[dict[str, Any], ~configuration_utils.PreTrainedConfig], необязательный) — Объект конфигурации или словарь конфигурации текстового бэкбона. - multimodal_config (
dict, необязательный) — Словарь параметров конфигурации, используемых для инициализации FlavaMultimodalConfig. - image_codebook_config (
dict, необязательный) — Словарь с параметрами конфигурации, используемыми для инициализацииFlavaCodebookConfig. - hidden_size (
int, необязательный, по умолчанию768) — Размерность скрытых представлений. - layer_norm_eps (
float, необязательный, по умолчанию1e-12) — Значение epsilon, используемое слоями нормализации. - projection_dim (
int, необязательный, по умолчанию768) — Размерность проекционных слоёв для текста и изображений. - init_codebook (
bool, необязательный, по умолчаниюTrue) — Инициализировать ли кодовую книгу - logit_scale_init_value (
float, необязательный, по умолчанию 2.6592) — Начальное значение параметра logit_scale. По умолчанию используется значение из исходной реализации FLAVA/CLIP. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов. - ce_ignore_index (
int, необязательный, по умолчанию -100) — Индекс кросс-энтропии, который следует игнорировать. - mim_weight (
float, необязательный, по умолчанию 1.0) — Вес, назначаемый для одномодальной функции потерь MIM (Masked Image Modeling) - mlm_weight (
float, необязательный, по умолчанию 1.0) — Вес, назначаемый одноимодной потере MLM (Masked Language Modeling) - global_contrastive_weight (
float, необязательный, по умолчанию 1.0) — Вес, назначаемый глобальной потере контрастивного кросс-согласования. - itm_weight (
float, необязательный, по умолчанию 1.0) — Вес, назначаемый мультимодальной функции потерь для соответствия изображения и текста. - mmm_image_weight (
float, необязательный, по умолчанию 1.0) — Вес, назначаемый изображению в потере MMM. - mmm_text_weight (
float, необязательный, по умолчанию 1.0) — Вес, назначаемый текстовой части функции потерь MMM. - global_backprop_contrastive (
bool, необязательный, по умолчаниюTrue) — Использовать ли глобальную обратную передачу через всех рабочих процессов в контрастивной функции потерь. - skip_unmasked_multimodal_encoder (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли пропускать выполнение немаскированного мультимодального энкодера, выходные данные которого не используются в потерях FLAVA. - return_loss (
bool, необязательный, по умолчаниюTrue) — Возвращать ли значение функции потерь - tie_word_embeddings (
bool, необязательный, по умолчаниюTrue) — Определяет, следует ли связывать веса эмбеддингов согласно маппингуtied_weights_keysмодели. - initializer_factor (
float, необязательный, по умолчанию1.0) — Коэффициент для инициализации всех матриц весов (должен оставаться равным 1, используется внутренне для тестирования инициализации).
Это класс конфигурации для хранения настроек модели FlavaModel. Он используется для создания модели Flava в соответствии с указанными аргументами, определяющими архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации facebook/flava-full
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Пример:
>>> from transformers import FlavaConfig, FlavaModel, FlavaForPreTraining
>>> # Initializing a FlavaConfig with style configuration
>>> configuration = FlavaConfig()
>>> # Initializing a FlavaModel and FlavaForPreTraining model (with random weights) from the style configuration
>>> model = FlavaModel(configuration)
>>> model_pre = FlavaForPreTraining(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
>>> configuration_pre = model_pre.configFlavaTextConfig
класс transformers.FlavaTextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 30522type_vocab_size: int = 2max_position_embeddings: int = 512hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12pad_token_id: int | None = 0qkv_bias: bool = True )
Параметры
- vocab_size (
int, необязательный, по умолчанию30522) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены вinput_ids. - type_vocab_size (
int, необязательный, по умолчанию2) — Размер словаря дляtoken_type_ids. - max_position_embeddings (
int, необязательный, по умолчанию512) — Максимальная длина последовательности, с которой может использоваться эта модель. - hidden_size (
int, необязательный, по умолчанию768) — Размерность скрытых представлений. - num_hidden_layers (
int, необязательный, по умолчанию12) — Количество скрытых слоев в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию12) — Количество головок внимания в каждом слое внимания декодера Transformer. - intermediate_size (
int, необязательный, по умолчанию3072) — Размерность представлений MLP. - hidden_act (
str, необязательный, по умолчаниюgelu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - hidden_dropout_prob (
Union[float, int], необязательный, по умолчанию0.0) — Вероятность 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.configFlavaImageConfig
класс transformers.FlavaImageConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12image_size: int | list[int] | tuple[int, int] = 224patch_size: int | list[int] | tuple[int, int] = 16num_channels: int = 3qkv_bias: bool = Truemask_token: bool = Truevocab_size: int = 8192 )
Параметры
- hidden_size (
int, необязательный, по умолчанию768) — Размерность скрытых представлений. - num_hidden_layers (
int, необязательный, по умолчанию12) — Количество скрытых слоев в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию12) — Количество головок внимания в каждом слое внимания декодера Transformer. - intermediate_size (
int, необязательный, по умолчанию3072) — Размерность представлений MLP. - hidden_act (
str, необязательный, по умолчаниюgelu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - hidden_dropout_prob (
Union[float, int], необязательный, по умолчанию0.0) — Вероятность 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.configFlavaMultimodalConfig
класс transformers.FlavaMultimodalConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 6num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12qkv_bias: bool = Trueuse_cls_token: bool = True )
Параметры
- hidden_size (
int, необязательный, по умолчанию768) — Размерность скрытых представлений. - num_hidden_layers (
int, необязательный, по умолчанию6) — Количество скрытых слоев в декодере Transformer. - num_attention_heads (
int, необязательный, по умолчанию12) — Количество головок внимания в каждом слое внимания декодера Transformer. - intermediate_size (
int, необязательный, по умолчанию3072) — Размерность представлений MLP. - hidden_act (
str, необязательный, по умолчаниюgelu) — Нелинейная функция активации (функция или строка) в декодере. Например,"gelu","relu","silu"и т. д. - hidden_dropout_prob (
Union[float, int], необязательный, по умолчанию0.0) — Вероятность 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.configFlavaImageCodebookConfig
класс transformers.FlavaImageCodebookConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonenum_groups: int = 4input_channels: int = 3num_blocks_per_group: int = 2hidden_size: int = 256vocab_size: int = 8192freeze: bool = Trueinitializer_range: float = 0.02 )
Параметры
- num_groups (
int, необязательный, по умолчанию 4) — Количество создаваемых групп. На данный момент этот параметр не влияет на модель и используется для некоторых внутренних вычислений и оценок. - input_channels (
int, необязательный, по умолчанию3) — Количество входных каналов. - num_blocks_per_group (
int, необязательный, по умолчанию 2) — Количество блоков на основе свёрток в каждой группе. - hidden_size (
int, необязательный, по умолчанию256) — Размерность скрытых представлений. - vocab_size (
int, необязательный, по умолчанию8192) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены вinput_ids. - freeze (
bool, по умолчаниюTrue) — Определяет, следует ли заморозить веса модели. - initializer_range (
float, необязательный, по умолчанию0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
Это класс конфигурации для хранения настроек модели FlavaModel. Он используется для создания модели Flava в соответствии с указанными аргументами, определяющими архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации facebook/flava-full
Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.
Пример:
>>> from transformers import FlavaImageCodebookConfig, FlavaImageCodebook
>>> # Initializing a FlavaImageCodebook with style configuration
>>> configuration = FlavaImageCodebookConfig()
>>> # Initializing a FlavaImageCodebook model (with random weights) from the style configuration
>>> model = FlavaImageCodebook(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configFlavaProcessor
класс transformers.FlavaProcessor
< source >( image_processor = Nonetokenizer = None**kwargs )
Создаёт FlavaProcessor, который объединяет процессор изображений и токенизатор в единый процессор.
FlavaProcessor предоставляет все возможности FlavaImageProcessor и BertTokenizer. Подробнее см. в документации ~FlavaImageProcessor и ~BertTokenizer.
__call__
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'> )
Параметры
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], необязательный) — Изображение для предобработки. Ожидается одно изображение или батч изображений со значениями пикселей в диапазоне от 0 до 255. Если передаются изображения со значениями пикселей в диапазоне от 0 до 1, установитеdo_rescale=False. - text (
Union[str, list[str], list[list[str]]], необязательный) — Последовательность или батч последовательностей для кодирования. Каждая последовательность может быть строкой или списком строк (предварительно токенизированная строка). Если вы передаёте предварительно токенизированный вход, установитеis_split_into_words=True, чтобы избежать неоднозначности с батчированными входами. - videos (
Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]], необязательный) — Видео для предобработки. Ожидается одно видео или батч видео со значениями пикселей в диапазоне от 0 до 255. Если передаются видео со значениями пикселей в диапазоне от 0 до 1, установитеdo_rescale=False. - audio (
Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], необязательный) — Аудио или пакет аудио, подлежащий подготовке. Каждое аудио может быть массивом NumPy или тензором PyTorch. В случае массива NumPy/тензора PyTorch каждое аудио должно иметь форму (C, T), где C — количество каналов, а T — длина выборки аудио. - return_tensors (
strили TensorType, необязательный) — Если задано, возвращает тензоры конкретного фреймворка. Допустимые значения:'pt': возвращает объектыtorch.TensorPyTorch.'np': возвращает объекты NumPynp.ndarray.
- **kwargs (ProcessingKwargs, optional) — Дополнительные параметры обработки для каждой модальности (текст, изображения, видео, аудио). Специфичные для модели параметры перечислены выше; полный список поддерживаемых аргументов см. в классе TypedDict.
FlavaImageProcessor
класс transformers.FlavaImageProcessor
< source >( **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 orfloat, 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
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
Параметры
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Изображение для предобработки. Ожидается одно изображение или батч изображений со значениями пикселей в диапазоне от 0 до 255. Если передаются изображения со значениями пикселей в диапазоне от 0 до 1, установитеdo_rescale=False. - do_convert_rgb (
bool, kwargs, 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 orfloat, 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
< source >( **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 orfloat, 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
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
Параметры
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Изображение для предобработки. Ожидается одно изображение или батч изображений со значениями пикселей в диапазоне от 0 до 255. Если передаются изображения со значениями пикселей в диапазоне от 0 до 1, установитеdo_rescale=False. - do_convert_rgb (
bool, kwargs, 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 orfloat, 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
< source >( 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
< source >( 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]:- 0 соответствует токену sentence A,
- 1 соответствует токену sentence B. Что такое идентификаторы типов токенов?
- 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]:- 1 для токенов, которые не замаскированы,
- 0 для токенов, которые замаскированы. Что такое маски внимания?
- skip_unmasked_multimodal_encoder (
*bool*, необязательный) — Пропускать вычисления для мультимодального энкодера для немаскированных входных данных. На данный момент для предварительного обучения FLAVA не требуются немаскированные мультимодальные эмбеддинги или выходные данные. - mlm_labels (
torch.LongTensorформы(batch_size, text_seq_len), необязательный) — Метки для вычисления функции потерь языковой и мультимодальной маскированной моделирования слева направо (предсказание следующего слова). Индексы должны находиться в диапазоне[-100, 0, ..., text_config.vocab_size - 1](см. docstringinput_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
< source >( config: FlavaConfig )
Параметры
- config (FlavaConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Flava без дополнительных слоёв, выводящая необработанные скрытые состояния.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( 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]:- 0 соответствует токену sentence A,
- 1 соответствует токену sentence B. Что такое идентификаторы типов токенов?
- 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
< source >( input_ids: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.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]:- 0 соответствует токену sentence A,
- 1 соответствует токену sentence B. Что такое идентификаторы типов токенов?
- 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
< source >( pixel_values: Tensorbool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.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
< source >( config: FlavaImageCodebookConfig**kwargs: Any )
Параметры
- config (FlavaImageCodebookConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель кодовой книги изображений FLAVA вдохновлена исходным кодировщиком DALL-E. Выводит необработанные скрытые состояния и может использоваться для генерации токенов изображения на основе словаря DALL-E. Применяется для генерации меток для MIM. Используйте get_codebook_indices, чтобы получить токены изображения для данного изображения.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
FlavaTextModel
класс transformers.FlavaTextModel
< source >( 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
< source >( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.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]:- 0 соответствует токену sentence A,
- 1 соответствует токену sentence B. Что такое идентификаторы типов токенов?
- 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
< source >( config: FlavaImageConfigadd_pooling_layer: bool = True )
Параметры
- config (FlavaImageConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.
- add_pooling_layer (
bool, необязательный, по умолчаниюTrue) — Добавлять ли слой пулинга
Модель Flava без дополнительных слоёв, выводящая необработанные скрытые состояния.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( pixel_values: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.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
< source >( config: FlavaMultimodalConfigadd_pooling_layer = True )
Параметры
- config (FlavaMultimodalConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
- add_pooling_layer (
bool, необязательный, по умолчаниюTrue) — Добавлять ли слой пулинга
Модель Flava без дополнительных слоёв, выводящая необработанные скрытые состояния.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( hidden_states: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.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 в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.