Transformers documentation

FLAVA

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

and get access to the augmented documentation experience

to get started

Mô hình này được công bố trên HF papers vào ngày 2021-12-08 và được đóng góp cho Hugging Face Transformers vào ngày 2022-05-11.

FLAVA

Tổng quan

Mô hình FLAVA được đề xuất trong FLAVA: A Foundational Language And Vision Alignment Model bởi Amanpreet Singh, Ronghang Hu, Vedanuj Goswami, Guillaume Couairon, Wojciech Galuba, Marcus Rohrbach và Douwe Kiela, và đã được chấp nhận tại CVPR 2022.

Bài báo nhằm mục tiêu tạo ra một mô hình nền tảng thống nhất duy nhất có thể hoạt động xuyên suốt các tác vụ thị giác, ngôn ngữ cũng như các tác vụ đa phương thức kết hợp thị giác và ngôn ngữ.

Tóm tắt từ bài báo như sau:

Các mô hình thị giác và thị giác-ngôn ngữ tiên tiến nhất dựa vào tiền huấn luyện quy mô lớn về thị giác-ngôn ngữ để đạt hiệu suất tốt trên nhiều tác vụ hạ nguồn khác nhau. Nhìn chung, các mô hình như vậy thường là liên phương thức (đối lập) hoặc đa phương thức (hợp nhất sớm) chứ không phải cả hai; và chúng thường chỉ nhắm đến các phương thức hoặc tác vụ cụ thể. Một hướng tiếp cận đầy hứa hẹn là sử dụng một mô hình phổ quát toàn diện duy nhất, như một “nền tảng”, nhắm đến tất cả các phương thức cùng lúc — một mô hình nền tảng thực sự về thị giác và ngôn ngữ phải giỏi các tác vụ thị giác, tác vụ ngôn ngữ, và các tác vụ thị giác-ngôn ngữ liên phương thức và đa phương thức. Chúng tôi giới thiệu FLAVA như một mô hình như vậy và chứng minh hiệu suất ấn tượng trên một loạt 35 tác vụ bao phủ các phương thức mục tiêu này.

Mô hình này được đóng góp bởi aps. Mã gốc có thể được tìm thấy tại đây.

FlavaConfig

lớp transformers.FlavaConfig

< >

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

Tham số

  • image_config (dict, tùy chọn) — Từ điển các tùy chọn cấu hình được sử dụng để khởi tạo FlavaImageConfig.
  • text_config (Union[dict[str, Any], ~configuration_utils.PreTrainedConfig], tùy chọn) — Đối tượng cấu hình hoặc từ điển của bộ khung văn bản.
  • multimodal_config (dict, tùy chọn) — Từ điển các tùy chọn cấu hình được sử dụng để khởi tạo FlavaMultimodalConfig.
  • image_codebook_config (dict, tùy chọn) — Từ điển các tùy chọn cấu hình được sử dụng để khởi tạo FlavaCodebookConfig.
  • hidden_size (int, tùy chọn, mặc định là 768) — Kích thước của các biểu diễn ẩn.
  • layer_norm_eps (float, tùy chọn, mặc định là 1e-12) — Giá trị epsilon được sử dụng bởi các lớp chuẩn hóa lớp (layer normalization).
  • projection_dim (int, tùy chọn, mặc định là 768) — Số chiều của các lớp chiếu văn bản và thị giác.
  • init_codebook (bool, tùy chọn, mặc định là True) — Có khởi tạo codebook hay không
  • logit_scale_init_value (float, tuỳ chọn, mặc định là 2.6592) — Giá trị ban đầu của tham số logit_scale. Giá trị mặc định được sử dụng theo cài đặt gốc của FLAVA/CLIP.
  • initializer_range (float, tùy chọn, mặc định là 0.02) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số.
  • ce_ignore_index (int, tuỳ chọn, mặc định là -100) — Chỉ số entropy chéo cần bỏ qua.
  • mim_weight (float, tùy chọn, mặc định là 1.0) — Trọng số được gán cho tổn thất đơn phương thức MIM (Masked Image Modeling)
  • mlm_weight (float, tùy chọn, mặc định là 1.0) — Trọng số được gán cho tổn thất đơn phương thức MLM (Masked Language Modeling)
  • global_contrastive_weight (float, tùy chọn, mặc định là 1.0) — Trọng số được gán cho tổn thất căn chỉnh chéo tương phản toàn cục.
  • itm_weight (float, tùy chọn, mặc định là 1.0) — Trọng số được gán cho tổn thất đa phương thức khớp văn bản-hình ảnh.
  • mmm_image_weight (float, tùy chọn, mặc định là 1.0) — Trọng số được gán cho phần ảnh của tổn thất MMM.
  • mmm_text_weight (float, tùy chọn, mặc định là 1.0) — Trọng số được gán cho phần văn bản của loss MMM.
  • global_backprop_contrastive (bool, tùy chọn, mặc định là True) — Có sử dụng backpropagation toàn cục qua tất cả các worker trong contrastive loss hay không.
  • skip_unmasked_multimodal_encoder (bool, tùy chọn, mặc định là True) — Có nên bỏ qua việc chạy bộ mã hóa đa phương thức không bị che (unmasked) mà các đầu ra của nó không được sử dụng bởi các tổn thất (losses) của FLAVA hay không.
  • return_loss (bool, tùy chọn, mặc định là True) — Có trả về loss hay không
  • tie_word_embeddings (bool, tùy chọn, mặc định là True) — Có nên gắn kết các trọng số nhúng theo ánh xạ tied_weights_keys của mô hình hay không.
  • initializer_factor (float, tùy chọn, mặc định là 1.0) — Hệ số để khởi tạo tất cả các ma trận trọng số (nên giữ ở mức 1, được sử dụng bên trong cho việc kiểm tra khởi tạo).

Đây là lớp cấu hình để lưu trữ cấu hình của một FlavaModel. Nó được sử dụng để khởi tạo một mô hình Flava theo các đối số được chỉ định, xác định kiến trúc của mô hình. Khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như cấu hình của facebook/flava-full

Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.

Ví dụ:

>>> from transformers import FlavaConfig, FlavaModel, FlavaForPreTraining

>>> # Initializing a FlavaConfig with style configuration
>>> configuration = FlavaConfig()

>>> # Initializing a FlavaModel and FlavaForPreTraining model (with random weights) from the style configuration
>>> model = FlavaModel(configuration)
>>> model_pre = FlavaForPreTraining(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
>>> configuration_pre = model_pre.config

FlavaTextConfig

lớp transformers.FlavaTextConfig

< >

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

Tham số

  • vocab_size (int, tuỳ chọn, mặc định là 30522) — Kích thước từ vựng của mô hình. Xác định số lượng token khác nhau có thể được biểu diễn bởi input_ids.
  • type_vocab_size (int, tùy chọn, mặc định là 2) — Kích thước từ vựng của token_type_ids.
  • max_position_embeddings (int, tùy chọn, mặc định là 512) — Chiều dài tối đa của chuỗi mà mô hình này có thể được sử dụng.
  • hidden_size (int, tùy chọn, mặc định là 768) — Kích thước của các biểu diễn ẩn.
  • num_hidden_layers (int, tùy chọn, mặc định là 12) — Số lượng lớp ẩn trong bộ giải mã Transformer.
  • num_attention_heads (int, tùy chọn, mặc định là 12) — Số lượng đầu attention cho mỗi lớp attention trong bộ giải mã Transformer.
  • intermediate_size (int, tùy chọn, mặc định là 3072) — Kích thước của các biểu diễn MLP.
  • hidden_act (str, tùy chọn, mặc định là gelu) — Hàm kích hoạt phi tuyến (hàm hoặc chuỗi) trong bộ giải mã. Ví dụ, "gelu", "relu", "silu", v.v.
  • hidden_dropout_prob (Union[float, int], tùy chọn, mặc định là 0.0) — Xác suất dropout cho tất cả các lớp fully connected trong embeddings, encoder và pooler.
  • attention_probs_dropout_prob (Union[float, int], tùy chọn, mặc định là 0.0) — Tỷ lệ dropout cho các xác suất chú ý.
  • initializer_range (float, tùy chọn, mặc định là 0.02) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số.
  • layer_norm_eps (float, tùy chọn, mặc định là 1e-12) — Giá trị epsilon được sử dụng bởi các lớp chuẩn hóa lớp (layer normalization).
  • pad_token_id (int, tùy chọn, mặc định là 0) — Token id được sử dụng để đệm (padding) trong từ vựng.
  • qkv_bias (bool, tùy chọn, mặc định là True) — Có thêm bias cho queries, keys và values hay không.

Đây là lớp cấu hình để lưu trữ cấu hình của một FlavaModel. Nó được sử dụng để khởi tạo một mô hình Flava theo các đối số được chỉ định, xác định kiến trúc của mô hình. Khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như cấu hình của facebook/flava-full

Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.

Ví dụ:

>>> from transformers import FlavaTextConfig, FlavaTextModel

>>> # Initializing a FlavaTextModel with  style configuration
>>> configuration = FlavaTextConfig()

>>> # Initializing a FlavaTextModel model (with random weights) from the style configuration
>>> model = FlavaTextModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

FlavaImageConfig

lớp transformers.FlavaImageConfig

< >

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

Tham số

  • hidden_size (int, tùy chọn, mặc định là 768) — Kích thước của các biểu diễn ẩn.
  • num_hidden_layers (int, tùy chọn, mặc định là 12) — Số lượng lớp ẩn trong bộ giải mã Transformer.
  • num_attention_heads (int, tùy chọn, mặc định là 12) — Số lượng đầu attention cho mỗi lớp attention trong bộ giải mã Transformer.
  • intermediate_size (int, tùy chọn, mặc định là 3072) — Kích thước của các biểu diễn MLP.
  • hidden_act (str, tùy chọn, mặc định là gelu) — Hàm kích hoạt phi tuyến (hàm hoặc chuỗi) trong bộ giải mã. Ví dụ, "gelu", "relu", "silu", v.v.
  • hidden_dropout_prob (Union[float, int], tùy chọn, mặc định là 0.0) — Xác suất dropout cho tất cả các lớp fully connected trong embeddings, encoder và pooler.
  • attention_probs_dropout_prob (Union[float, int], tùy chọn, mặc định là 0.0) — Tỷ lệ dropout cho các xác suất chú ý.
  • initializer_range (float, tùy chọn, mặc định là 0.02) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số.
  • layer_norm_eps (float, tùy chọn, mặc định là 1e-12) — Giá trị epsilon được sử dụng bởi các lớp chuẩn hóa lớp (layer normalization).
  • image_size (Union[int, list[int], tuple[int, int]], tùy chọn, mặc định là 224) — Kích thước (độ phân giải) của mỗi hình ảnh.
  • patch_size (Union[int, list[int], tuple[int, int]], tùy chọn, mặc định là 16) — Kích thước (độ phân giải) của mỗi patch.
  • num_channels (int, tùy chọn, mặc định là 3) — Số lượng kênh đầu vào.
  • qkv_bias (bool, tùy chọn, mặc định là True) — Có thêm bias cho queries, keys và values hay không.
  • mask_token (bool, tùy chọn, mặc định là True) — Có sử dụng mask token hay không. Được dùng trong loss MIM (Masked Image Modeling) cho FLAVA.
  • vocab_size (int, tùy chọn, mặc định là 8192) — Kích thước từ vựng của mô hình. Xác định số lượng token khác nhau có thể được biểu diễn bởi input_ids.

Đây là lớp cấu hình để lưu trữ cấu hình của một FlavaModel. Nó được sử dụng để khởi tạo một mô hình Flava theo các đối số được chỉ định, xác định kiến trúc của mô hình. Khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như cấu hình của facebook/flava-full

Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.

Ví dụ:

>>> from transformers import FlavaImageConfig, FlavaImageModel

>>> # Initializing a FlavaImageModel with  style configuration
>>> configuration = FlavaImageConfig()

>>> # Initializing a FlavaImageModel model (with random weights) from the style configuration
>>> model = FlavaImageModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

FlavaMultimodalConfig

lớp transformers.FlavaMultimodalConfig

< >

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

Tham số

  • hidden_size (int, tùy chọn, mặc định là 768) — Kích thước của các biểu diễn ẩn.
  • num_hidden_layers (int, tùy chọn, mặc định là 6) — Số lượng lớp ẩn trong bộ giải mã Transformer.
  • num_attention_heads (int, tùy chọn, mặc định là 12) — Số lượng đầu attention cho mỗi lớp attention trong bộ giải mã Transformer.
  • intermediate_size (int, tùy chọn, mặc định là 3072) — Kích thước của các biểu diễn MLP.
  • hidden_act (str, tùy chọn, mặc định là gelu) — Hàm kích hoạt phi tuyến (hàm hoặc chuỗi) trong bộ giải mã. Ví dụ, "gelu", "relu", "silu", v.v.
  • hidden_dropout_prob (Union[float, int], tùy chọn, mặc định là 0.0) — Xác suất dropout cho tất cả các lớp fully connected trong embeddings, encoder và pooler.
  • attention_probs_dropout_prob (Union[float, int], tùy chọn, mặc định là 0.0) — Tỷ lệ dropout cho các xác suất chú ý.
  • initializer_range (float, tùy chọn, mặc định là 0.02) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số.
  • layer_norm_eps (float, tùy chọn, mặc định là 1e-12) — Giá trị epsilon được sử dụng bởi các lớp chuẩn hóa lớp (layer normalization).
  • qkv_bias (bool, tùy chọn, mặc định là True) — Có thêm bias cho queries, keys và values hay không.
  • use_cls_token (bool, tùy chọn, mặc định là True) — Có sử dụng một token CLS bổ sung cho các cài đặt đa phương thức hay không. Thường được yêu cầu bởi mô hình FLAVA.

Đây là lớp cấu hình để lưu trữ cấu hình của một FlavaModel. Nó được sử dụng để khởi tạo một mô hình Flava theo các đối số được chỉ định, xác định kiến trúc của mô hình. Khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như cấu hình của facebook/flava-full

Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.

Ví dụ:

>>> from transformers import FlavaMultimodalConfig, FlavaMultimodalModel

>>> # Initializing a FlavaMultimodalModel with  style configuration
>>> configuration = FlavaMultimodalConfig()

>>> # Initializing a FlavaMultimodalModel model (with random weights) from the style configuration
>>> model = FlavaMultimodalModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

FlavaImageCodebookConfig

lớp transformers.FlavaImageCodebookConfig

< >

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

Tham số

  • num_groups (int, tùy chọn, mặc định là 4) — Số lượng nhóm sẽ được tạo. Tham số này hiện tại không ảnh hưởng đến mô hình và được sử dụng cho một số tính toán và ước tính nội bộ.
  • input_channels (int, tùy chọn, mặc định là 3) — Số lượng kênh đầu vào.
  • num_blocks_per_group (int, tùy chọn, mặc định là 2) — Số lượng khối dựa trên conv trong mỗi nhóm.
  • hidden_size (int, tùy chọn, mặc định là 256) — Kích thước của các biểu diễn ẩn.
  • vocab_size (int, tùy chọn, mặc định là 8192) — Kích thước từ vựng của mô hình. Xác định số lượng token khác nhau có thể được biểu diễn bởi input_ids.
  • freeze (bool, mặc định là True) — Có nên đóng băng trọng số của mô hình hay không.
  • initializer_range (float, tùy chọn, mặc định là 0.02) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số.

Đây là lớp cấu hình để lưu trữ cấu hình của một FlavaModel. Nó được sử dụng để khởi tạo một mô hình Flava theo các đối số được chỉ định, xác định kiến trúc của mô hình. Khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như cấu hình của facebook/flava-full

Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.

Ví dụ:

>>> from transformers import FlavaImageCodebookConfig, FlavaImageCodebook

>>> # Initializing a FlavaImageCodebook with style configuration
>>> configuration = FlavaImageCodebookConfig()

>>> # Initializing a FlavaImageCodebook model (with random weights) from the style configuration
>>> model = FlavaImageCodebook(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config

FlavaProcessor

lớp transformers.FlavaProcessor

< >

( image_processor = Nonetokenizer = None**kwargs )

Tham số

  • image_processor (FlavaImageProcessor) — Bộ xử lý ảnh là một đầu vào bắt buộc.
  • tokenizer (BertTokenizer) — Tokenizer là một đầu vào bắt buộc.

Tạo một FlavaProcessor đóng gói một bộ xử lý ảnh và một tokenizer thành một bộ xử lý duy nhất.

FlavaProcessor cung cấp đầy đủ các chức năng của FlavaImageProcessor và BertTokenizer. Xem ~FlavaImageProcessor và ~BertTokenizer để biết thêm thông tin.

__call__

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'> )

Tham số

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], tuỳ chọn) — Hình ảnh cần tiền xử lý. Kỳ vọng một hình ảnh đơn lẻ hoặc một lô hình ảnh có giá trị pixel từ 0 đến 255. Nếu truyền vào các hình ảnh có giá trị pixel từ 0 đến 1, hãy đặt do_rescale=False.
  • text (Union[str, list[str], list[list[str]]], tùy chọn) — Chuỗi hoặc lô các chuỗi cần được mã hóa. Mỗi chuỗi có thể là một chuỗi ký tự hoặc một danh sách các chuỗi ký tự (chuỗi đã được tách token trước). Nếu bạn truyền vào dữ liệu đầu vào đã được tách token trước, hãy đặt is_split_into_words=True để tránh nhầm lẫn với các đầu vào dạng lô.
  • 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]]], tuỳ chọn) — Video cần tiền xử lý. Kỳ vọng một video đơn hoặc một lô video có giá trị pixel từ 0 đến 255. Nếu truyền vào video có giá trị pixel từ 0 đến 1, hãy đặt do_rescale=False.
  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]], optional) — Âm thanh hoặc lô âm thanh cần được chuẩn bị. Mỗi âm thanh có thể là một mảng NumPy hoặc tensor PyTorch. Trong trường hợp là mảng NumPy/tensor PyTorch, mỗi âm thanh nên có hình dạng (C, T), trong đó C là số kênh và T là độ dài mẫu của âm thanh.
  • return_tensors (str hoặc TensorType, tùy chọn) — Nếu được đặt, sẽ trả về tensor của một framework cụ thể. Các giá trị chấp nhận được là:
    • 'pt': Trả về các đối tượng torch.Tensor của PyTorch.
    • 'np': Trả về các đối tượng np.ndarray của NumPy.
  • **kwargs (ProcessingKwargs, optional) — Các tùy chọn xử lý bổ sung cho từng modality (text, images, videos, audio). Các tham số cụ thể của model được liệt kê ở trên; xem lớp TypedDict để biết danh sách đầy đủ các đối số được hỗ trợ.

FlavaImageProcessor

lớp transformers.FlavaImageProcessor

< >

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

Tham số

  • do_convert_rgb (bool, kwargs, optional) — Có nên chuyển đổi ảnh sang RGB hay không.
  • do_resize (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên thay đổi kích thước ảnh hay không.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, mặc định là {'height' -- 224, 'width': 224}): Mô tả kích thước đầu vào tối đa cho mô hình.
  • default_to_square (bool, kwargs, tùy chọn, mặc định là True) — Có nên mặc định dùng ảnh vuông khi thay đổi kích thước không, nếu size là một số nguyên.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, mặc định là {'height' -- 224, 'width': 224}): Kích thước của ảnh đầu ra sau khi áp dụng center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, mặc định là 3) — Bộ lọc lấy mẫu lại (resampling filter) được sử dụng khi thay đổi kích thước ảnh. Giá trị này có thể là một trong các hằng số liệt kê (enum) của PILImageResampling. Chỉ có hiệu lực khi do_resize được đặt thành True.
  • do_rescale (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên điều chỉnh lại tỷ lệ ảnh hay không.
  • rescale_factor (float, kwargs, optional, mặc định là 0.00392156862745098) — Hệ số rescale để rescale ảnh nếu do_rescale được đặt thành True.
  • do_normalize (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên chuẩn hóa hình ảnh hay không.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, optional, mặc định là [0.48145466, 0.4578275, 0.40821073]) — Giá trị trung bình của ảnh để sử dụng cho việc chuẩn hóa. Chỉ có hiệu lực nếu do_normalize được đặt thành True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional, mặc định là [0.26862954, 0.26130258, 0.27577711]) — Độ lệch chuẩn của ảnh để sử dụng cho việc chuẩn hóa. Chỉ có hiệu lực nếu do_normalize được đặt thành True.
  • do_pad (bool, kwargs, optional) — Có nên chèn padding cho ảnh hay không. Padding được thực hiện đến kích thước lớn nhất trong batch hoặc đến một kích thước vuông cố định cho mỗi ảnh. Chiến lược padding cụ thể phụ thuộc vào model.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Kích thước ở dạng {"height": int, "width" int} để đệm cho các hình ảnh. Phải lớn hơn kích thước bất kỳ hình ảnh nào được cung cấp để tiền xử lý. Nếu không cung cấp pad_size, các hình ảnh sẽ được đệm đến chiều cao và chiều rộng lớn nhất trong lô. Chỉ được áp dụng khi do_pad=True.
  • do_center_crop (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên cắt ảnh ở vị trí trung tâm hay không.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, optional) — Chỉ hỗ trợ ChannelDimension.FIRST. Được thêm vào để tương thích với các bộ xử lý chậm.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, tùy chọn) — Định dạng chiều kênh cho ảnh đầu vào. Nếu không được đặt, định dạng chiều kênh sẽ được suy ra từ ảnh đầu vào. Có thể là một trong các giá trị:
    • "channels_first" hoặc ChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width).
    • "channels_last" hoặc ChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels).
    • "none" hoặc ChannelDimension.NONE: ảnh ở định dạng (chiều cao, chiều rộng).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Thiết bị để xử lý các video. Nếu không được đặt, thiết bị sẽ được suy ra từ các video đầu vào.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Trả về các tensor được xếp chồng nếu được đặt thành 'pt', ngược lại trả về một danh sách các tensor.
  • disable_grouping (bool, kwargs, tuỳ chọn) — Có nên vô hiệu hóa việc nhóm các hình ảnh theo kích thước để xử lý chúng riêng lẻ thay vì theo lô hay không. Nếu là None, giá trị sẽ được đặt thành True nếu các hình ảnh nằm trên CPU, và False trong các trường hợp khác. Lựa chọn này dựa trên các quan sát thực nghiệm, như được mô tả chi tiết tại đây: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, optional) — Số lượng token hình ảnh sẽ được sử dụng cho mỗi hình ảnh trong đầu vào. Được thêm vào để đảm bảo tương thích ngược, nhưng trong các mô hình tương lai, giá trị này nên được đặt như một thuộc tính của bộ xử lý.
  • return_image_mask (bool, kwargs, tùy chọn, mặc định là False) — Có nên trả về image mask hay không. Có thể bị ghi đè bởi tham số return_image_mask trong preprocess.
  • input_size_patches (int, kwargs, tuỳ chọn, mặc định là 14) — Số lượng patches trong ảnh theo chiều cao và chiều rộng. 14x14 = tổng cộng 196 patches. Có thể ghi đè bằng tham số input_size_patches trong preprocess.
  • total_mask_patches (int, kwargs, tùy chọn, mặc định là 75) — Tổng số patch cần được che. Có thể bị ghi đè bởi tham số total_mask_patches trong preprocess.
  • mask_group_min_patches (int, kwargs, tuỳ chọn, mặc định là 16) — Số lượng tối thiểu các patch cần được che. Có thể bị ghi đè bởi tham số mask_group_min_patches trong preprocess.
  • mask_group_max_patches (int, kwargs, optional) — Số lượng tối đa các patch cần được che. Có thể bị ghi đè bởi tham số mask_group_max_patches trong preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, tuỳ chọn, mặc định là 0.3) — Tỷ lệ khung hình tối thiểu của cửa sổ mask. Có thể được ghi đè bởi tham số mask_group_min_aspect_ratio trong preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, optional) — Tỷ lệ khung hình tối đa của cửa sổ mask. Có thể được ghi đè bởi tham số mask_group_max_aspect_ratio trong preprocess.
  • return_codebook_pixels (bool, kwargs, tùy chọn, mặc định là False) — Có trả về các giá trị pixel của codebook hay không.
  • codebook_do_resize (bool, kwargs, optional, mặc định là True) — Có nên resize đầu vào cho codebook lên một kích thước nhất định hay không. Có thể bị ghi đè bởi tham số codebook_do_resize trong preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], tùy chọn, mặc định là {"height" -- 224, "width": 224}): Đổi kích thước đầu vào cho codebook thành kích thước đã cho. Có thể bị ghi đè bởi tham số codebook_size trong preprocess.
  • codebook_resample (PILImageResampling, kwargs, optional, mặc định là PILImageResampling.LANCZOS) — Bộ lọc resampling được sử dụng khi thay đổi kích thước ảnh codebook. Với torchvision < 0.27, LANCZOS không được hỗ trợ cho torch Tensors và BICUBIC được sử dụng như phương án thay thế gần nhất. Có thể ghi đè bằng tham số codebook_resample trong preprocess.
  • codebook_do_center_crop (bool, kwargs, optional, mặc định là True) — Có nên cắt phần giữa của đầu vào cho codebook hay không. Nếu kích thước đầu vào nhỏ hơn codebook_crop_size dọc theo bất kỳ cạnh nào, hình ảnh sẽ được đệm bằng 0 rồi sau đó cắt phần giữa. Có thể ghi đè bằng tham số codebook_do_center_crop trong preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], tùy chọn, mặc định là {"height" -- 224, "width": 224}): Kích thước đầu ra mong muốn cho đầu vào codebook khi áp dụng center-cropping. Có thể được ghi đè bởi tham số codebook_crop_size trong preprocess.
  • codebook_do_rescale (bool, kwargs, optional, mặc định là True) — Có nên điều chỉnh lại tỷ lệ đầu vào cho codebook theo hệ số codebook_rescale_factor đã chỉ định hay không. Có thể bị ghi đè bởi tham số codebook_do_rescale trong preprocess.
  • codebook_rescale_factor (int, kwargs hoặc float, không bắt buộc, mặc định là 1/255) — Xác định hệ số tỷ lệ cần sử dụng nếu thực hiện việc thay đổi tỷ lệ (rescale) cho ảnh codebook. Có thể bị ghi đè bởi tham số codebook_rescale_factor trong preprocess.
  • codebook_do_map_pixels (bool, kwargs, optional, mặc định là True) — Có nên ánh xạ các giá trị pixel của đầu vào codebook sang (1 - 2e)x + e hay không. Có thể ghi đè bằng tham số codebook_do_map_pixels trong preprocess.
  • codebook_do_normalize (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên chuẩn hóa đầu vào cho codebook bằng codebook_image_mean và codebook_image_std hay không. Có thể bị ghi đè bởi tham số codebook_do_normalize trong preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], tùy chọn, mặc định là [0, 0, 0]) — Chuỗi giá trị trung bình cho mỗi kênh, được sử dụng khi chuẩn hóa ảnh cho codebook. Có thể bị ghi đè bởi tham số codebook_image_mean trong preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], tùy chọn, mặc định là [0.5, 0.5, 0.5]) — Chuỗi độ lệch chuẩn cho từng kênh, được sử dụng khi chuẩn hóa ảnh cho codebook. Có thể được ghi đè bởi tham số codebook_image_std trong preprocess.

Tạo bộ xử lý ảnh FlavaImageProcessor.

preprocess

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature

Tham số

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Ảnh cần tiền xử lý. Kỳ vọng một ảnh đơn hoặc một lô ảnh với giá trị pixel từ 0 đến 255. Nếu truyền vào các ảnh có giá trị pixel từ 0 đến 1, hãy đặt do_rescale=False.
  • do_convert_rgb (bool, kwargs, optional) — Có nên chuyển đổi ảnh sang RGB hay không.
  • do_resize (bool, kwargs, optional) — Có nên thay đổi kích thước ảnh hay không.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Mô tả các kích thước đầu vào tối đa của mô hình.
  • default_to_square (bool, kwargs, tuỳ chọn) — Có mặc định thành ảnh vuông khi thay đổi kích thước hay không, nếu size là một số nguyên.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Kích thước của ảnh đầu ra sau khi áp dụng center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Bộ lọc lấy mẫu lại (resampling filter) được sử dụng khi thay đổi kích thước ảnh. Giá trị này có thể là một trong các hằng số liệt kê (enum) của PILImageResampling. Chỉ có hiệu lực khi do_resize được đặt thành True.
  • do_rescale (bool, kwargs, optional) — Có nên điều chỉnh lại tỷ lệ ảnh hay không.
  • rescale_factor (float, kwargs, optional) — Hệ số rescale để rescale ảnh nếu do_rescale được đặt thành True.
  • do_normalize (bool, kwargs, optional) — Có nên chuẩn hóa ảnh hay không.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, optional) — Giá trị trung bình của ảnh để sử dụng cho việc chuẩn hóa. Chỉ có hiệu lực nếu do_normalize được đặt thành True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional) — Độ lệch chuẩn của ảnh để sử dụng cho việc chuẩn hóa. Chỉ có hiệu lực nếu do_normalize được đặt thành True.
  • do_pad (bool, kwargs, optional) — Có nên chèn padding cho ảnh hay không. Padding được thực hiện đến kích thước lớn nhất trong batch hoặc đến một kích thước vuông cố định cho mỗi ảnh. Chiến lược padding cụ thể phụ thuộc vào model.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Kích thước ở dạng {"height": int, "width" int} để đệm cho các hình ảnh. Phải lớn hơn kích thước bất kỳ hình ảnh nào được cung cấp để tiền xử lý. Nếu không cung cấp pad_size, các hình ảnh sẽ được đệm đến chiều cao và chiều rộng lớn nhất trong lô. Chỉ được áp dụng khi do_pad=True.
  • do_center_crop (bool, kwargs, optional) — Có nên cắt ảnh ở vị trí trung tâm hay không.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, optional) — Chỉ hỗ trợ ChannelDimension.FIRST. Được thêm vào để tương thích với các bộ xử lý chậm.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, tùy chọn) — Định dạng chiều kênh cho ảnh đầu vào. Nếu không được đặt, định dạng chiều kênh sẽ được suy ra từ ảnh đầu vào. Có thể là một trong các giá trị:
    • "channels_first" hoặc ChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width).
    • "channels_last" hoặc ChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels).
    • "none" hoặc ChannelDimension.NONE: ảnh ở định dạng (chiều cao, chiều rộng).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Thiết bị để xử lý các video. Nếu không được đặt, thiết bị sẽ được suy ra từ các video đầu vào.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Trả về các tensor được xếp chồng nếu được đặt thành 'pt', ngược lại trả về một danh sách các tensor.
  • disable_grouping (bool, kwargs, tuỳ chọn) — Có nên vô hiệu hóa việc nhóm các hình ảnh theo kích thước để xử lý chúng riêng lẻ thay vì theo lô hay không. Nếu là None, giá trị sẽ được đặt thành True nếu các hình ảnh nằm trên CPU, và False trong các trường hợp khác. Lựa chọn này dựa trên các quan sát thực nghiệm, như được mô tả chi tiết tại đây: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, optional) — Số lượng token hình ảnh sẽ được sử dụng cho mỗi hình ảnh trong đầu vào. Được thêm vào để đảm bảo tương thích ngược, nhưng trong các mô hình tương lai, giá trị này nên được đặt như một thuộc tính của bộ xử lý.
  • return_image_mask (bool, kwargs, tùy chọn, mặc định là False) — Có nên trả về image mask hay không. Có thể bị ghi đè bởi tham số return_image_mask trong preprocess.
  • input_size_patches (int, kwargs, tuỳ chọn, mặc định là 14) — Số lượng patches trong ảnh theo chiều cao và chiều rộng. 14x14 = tổng cộng 196 patches. Có thể ghi đè bằng tham số input_size_patches trong preprocess.
  • total_mask_patches (int, kwargs, tùy chọn, mặc định là 75) — Tổng số patch cần được che. Có thể bị ghi đè bởi tham số total_mask_patches trong preprocess.
  • mask_group_min_patches (int, kwargs, tuỳ chọn, mặc định là 16) — Số lượng tối thiểu các patch cần được che. Có thể bị ghi đè bởi tham số mask_group_min_patches trong preprocess.
  • mask_group_max_patches (int, kwargs, optional) — Số lượng tối đa các patch cần được che. Có thể bị ghi đè bởi tham số mask_group_max_patches trong preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, tuỳ chọn, mặc định là 0.3) — Tỷ lệ khung hình tối thiểu của cửa sổ mask. Có thể được ghi đè bởi tham số mask_group_min_aspect_ratio trong preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, optional) — Tỷ lệ khung hình tối đa của cửa sổ mask. Có thể được ghi đè bởi tham số mask_group_max_aspect_ratio trong preprocess.
  • return_codebook_pixels (bool, kwargs, tùy chọn, mặc định là False) — Có trả về các giá trị pixel của codebook hay không.
  • codebook_do_resize (bool, kwargs, optional, mặc định là True) — Có nên resize đầu vào cho codebook lên một kích thước nhất định hay không. Có thể bị ghi đè bởi tham số codebook_do_resize trong preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], tùy chọn, mặc định là {"height" -- 224, "width": 224}): Đổi kích thước đầu vào cho codebook thành kích thước đã cho. Có thể bị ghi đè bởi tham số codebook_size trong preprocess.
  • codebook_resample (PILImageResampling, kwargs, optional, mặc định là PILImageResampling.LANCZOS) — Bộ lọc resampling được sử dụng khi thay đổi kích thước ảnh codebook. Với torchvision < 0.27, LANCZOS không được hỗ trợ cho torch Tensors và BICUBIC được sử dụng như phương án thay thế gần nhất. Có thể ghi đè bằng tham số codebook_resample trong preprocess.
  • codebook_do_center_crop (bool, kwargs, optional, mặc định là True) — Có nên cắt phần giữa của đầu vào cho codebook hay không. Nếu kích thước đầu vào nhỏ hơn codebook_crop_size dọc theo bất kỳ cạnh nào, hình ảnh sẽ được đệm bằng 0 rồi sau đó cắt phần giữa. Có thể ghi đè bằng tham số codebook_do_center_crop trong preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], tùy chọn, mặc định là {"height" -- 224, "width": 224}): Kích thước đầu ra mong muốn cho đầu vào codebook khi áp dụng center-cropping. Có thể được ghi đè bởi tham số codebook_crop_size trong preprocess.
  • codebook_do_rescale (bool, kwargs, optional, mặc định là True) — Có nên điều chỉnh lại tỷ lệ đầu vào cho codebook theo hệ số codebook_rescale_factor đã chỉ định hay không. Có thể bị ghi đè bởi tham số codebook_do_rescale trong preprocess.
  • codebook_rescale_factor (int, kwargs hoặc float, không bắt buộc, mặc định là 1/255) — Xác định hệ số tỷ lệ cần sử dụng nếu thực hiện việc thay đổi tỷ lệ (rescale) cho ảnh codebook. Có thể bị ghi đè bởi tham số codebook_rescale_factor trong preprocess.
  • codebook_do_map_pixels (bool, kwargs, optional, mặc định là True) — Có nên ánh xạ các giá trị pixel của đầu vào codebook sang (1 - 2e)x + e hay không. Có thể ghi đè bằng tham số codebook_do_map_pixels trong preprocess.
  • codebook_do_normalize (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên chuẩn hóa đầu vào cho codebook bằng codebook_image_mean và codebook_image_std hay không. Có thể bị ghi đè bởi tham số codebook_do_normalize trong preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], tùy chọn, mặc định là [0, 0, 0]) — Chuỗi giá trị trung bình cho mỗi kênh, được sử dụng khi chuẩn hóa ảnh cho codebook. Có thể bị ghi đè bởi tham số codebook_image_mean trong preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], tùy chọn, mặc định là [0.5, 0.5, 0.5]) — Chuỗi độ lệch chuẩn cho từng kênh, được sử dụng khi chuẩn hóa ảnh cho codebook. Có thể được ghi đè bởi tham số codebook_image_std trong preprocess.

Trả về

~image_processing_base.BatchFeature

  • data (dict) — Từ điển chứa các danh sách/mảng/tensor được trả về bởi phương thức call (‘pixel_values’, v.v.).
  • tensor_type (Union[None, str, TensorType], tùy chọn) — Bạn có thể cung cấp một tensor_type tại đây để chuyển đổi các danh sách số nguyên trong Tensor PyTorch/Numpy khi khởi tạo.

FlavaImageProcessorPil

lớp transformers.FlavaImageProcessorPil

< >

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

Tham số

  • do_convert_rgb (bool, kwargs, optional) — Có nên chuyển đổi ảnh sang RGB hay không.
  • do_resize (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên thay đổi kích thước ảnh hay không.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, mặc định là {'height' -- 224, 'width': 224}): Mô tả kích thước đầu vào tối đa cho mô hình.
  • default_to_square (bool, kwargs, tùy chọn, mặc định là True) — Có nên mặc định dùng ảnh vuông khi thay đổi kích thước không, nếu size là một số nguyên.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, mặc định là {'height' -- 224, 'width': 224}): Kích thước của ảnh đầu ra sau khi áp dụng center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, mặc định là 3) — Bộ lọc lấy mẫu lại (resampling filter) được sử dụng khi thay đổi kích thước ảnh. Giá trị này có thể là một trong các hằng số liệt kê (enum) của PILImageResampling. Chỉ có hiệu lực khi do_resize được đặt thành True.
  • do_rescale (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên điều chỉnh lại tỷ lệ ảnh hay không.
  • rescale_factor (float, kwargs, optional, mặc định là 0.00392156862745098) — Hệ số rescale để rescale ảnh nếu do_rescale được đặt thành True.
  • do_normalize (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên chuẩn hóa hình ảnh hay không.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, optional, mặc định là [0.48145466, 0.4578275, 0.40821073]) — Giá trị trung bình của ảnh để sử dụng cho việc chuẩn hóa. Chỉ có hiệu lực nếu do_normalize được đặt thành True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional, mặc định là [0.26862954, 0.26130258, 0.27577711]) — Độ lệch chuẩn của ảnh để sử dụng cho việc chuẩn hóa. Chỉ có hiệu lực nếu do_normalize được đặt thành True.
  • do_pad (bool, kwargs, optional) — Có nên chèn padding cho ảnh hay không. Padding được thực hiện đến kích thước lớn nhất trong batch hoặc đến một kích thước vuông cố định cho mỗi ảnh. Chiến lược padding cụ thể phụ thuộc vào model.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Kích thước ở dạng {"height": int, "width" int} để đệm cho các hình ảnh. Phải lớn hơn kích thước bất kỳ hình ảnh nào được cung cấp để tiền xử lý. Nếu không cung cấp pad_size, các hình ảnh sẽ được đệm đến chiều cao và chiều rộng lớn nhất trong lô. Chỉ được áp dụng khi do_pad=True.
  • do_center_crop (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên cắt ảnh ở vị trí trung tâm hay không.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, optional) — Chỉ hỗ trợ ChannelDimension.FIRST. Được thêm vào để tương thích với các bộ xử lý chậm.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, tùy chọn) — Định dạng chiều kênh cho ảnh đầu vào. Nếu không được đặt, định dạng chiều kênh sẽ được suy ra từ ảnh đầu vào. Có thể là một trong các giá trị:
    • "channels_first" hoặc ChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width).
    • "channels_last" hoặc ChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels).
    • "none" hoặc ChannelDimension.NONE: ảnh ở định dạng (chiều cao, chiều rộng).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Thiết bị để xử lý các video. Nếu không được đặt, thiết bị sẽ được suy ra từ các video đầu vào.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Trả về các tensor được xếp chồng nếu được đặt thành 'pt', ngược lại trả về một danh sách các tensor.
  • disable_grouping (bool, kwargs, tuỳ chọn) — Có nên vô hiệu hóa việc nhóm các hình ảnh theo kích thước để xử lý chúng riêng lẻ thay vì theo lô hay không. Nếu là None, giá trị sẽ được đặt thành True nếu các hình ảnh nằm trên CPU, và False trong các trường hợp khác. Lựa chọn này dựa trên các quan sát thực nghiệm, như được mô tả chi tiết tại đây: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, optional) — Số lượng token hình ảnh sẽ được sử dụng cho mỗi hình ảnh trong đầu vào. Được thêm vào để đảm bảo tương thích ngược, nhưng trong các mô hình tương lai, giá trị này nên được đặt như một thuộc tính của bộ xử lý.
  • return_image_mask (bool, kwargs, tùy chọn, mặc định là False) — Có nên trả về image mask hay không. Có thể bị ghi đè bởi tham số return_image_mask trong preprocess.
  • input_size_patches (int, kwargs, tuỳ chọn, mặc định là 14) — Số lượng patches trong ảnh theo chiều cao và chiều rộng. 14x14 = tổng cộng 196 patches. Có thể ghi đè bằng tham số input_size_patches trong preprocess.
  • total_mask_patches (int, kwargs, tùy chọn, mặc định là 75) — Tổng số patch cần được che. Có thể bị ghi đè bởi tham số total_mask_patches trong preprocess.
  • mask_group_min_patches (int, kwargs, tuỳ chọn, mặc định là 16) — Số lượng tối thiểu các patch cần được che. Có thể bị ghi đè bởi tham số mask_group_min_patches trong preprocess.
  • mask_group_max_patches (int, kwargs, optional) — Số lượng tối đa các patch cần được che. Có thể bị ghi đè bởi tham số mask_group_max_patches trong preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, tuỳ chọn, mặc định là 0.3) — Tỷ lệ khung hình tối thiểu của cửa sổ mask. Có thể được ghi đè bởi tham số mask_group_min_aspect_ratio trong preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, optional) — Tỷ lệ khung hình tối đa của cửa sổ mask. Có thể được ghi đè bởi tham số mask_group_max_aspect_ratio trong preprocess.
  • return_codebook_pixels (bool, kwargs, tùy chọn, mặc định là False) — Có trả về các giá trị pixel của codebook hay không.
  • codebook_do_resize (bool, kwargs, optional, mặc định là True) — Có nên resize đầu vào cho codebook lên một kích thước nhất định hay không. Có thể bị ghi đè bởi tham số codebook_do_resize trong preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], tùy chọn, mặc định là {"height" -- 224, "width": 224}): Đổi kích thước đầu vào cho codebook thành kích thước đã cho. Có thể bị ghi đè bởi tham số codebook_size trong preprocess.
  • codebook_resample (PILImageResampling, kwargs, optional, mặc định là PILImageResampling.LANCZOS) — Bộ lọc resampling được sử dụng khi thay đổi kích thước ảnh codebook. Với torchvision < 0.27, LANCZOS không được hỗ trợ cho torch Tensors và BICUBIC được sử dụng như phương án thay thế gần nhất. Có thể ghi đè bằng tham số codebook_resample trong preprocess.
  • codebook_do_center_crop (bool, kwargs, optional, mặc định là True) — Có nên cắt phần giữa của đầu vào cho codebook hay không. Nếu kích thước đầu vào nhỏ hơn codebook_crop_size dọc theo bất kỳ cạnh nào, hình ảnh sẽ được đệm bằng 0 rồi sau đó cắt phần giữa. Có thể ghi đè bằng tham số codebook_do_center_crop trong preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], tùy chọn, mặc định là {"height" -- 224, "width": 224}): Kích thước đầu ra mong muốn cho đầu vào codebook khi áp dụng center-cropping. Có thể được ghi đè bởi tham số codebook_crop_size trong preprocess.
  • codebook_do_rescale (bool, kwargs, optional, mặc định là True) — Có nên điều chỉnh lại tỷ lệ đầu vào cho codebook theo hệ số codebook_rescale_factor đã chỉ định hay không. Có thể bị ghi đè bởi tham số codebook_do_rescale trong preprocess.
  • codebook_rescale_factor (int, kwargs hoặc float, không bắt buộc, mặc định là 1/255) — Xác định hệ số tỷ lệ cần sử dụng nếu thực hiện việc thay đổi tỷ lệ (rescale) cho ảnh codebook. Có thể bị ghi đè bởi tham số codebook_rescale_factor trong preprocess.
  • codebook_do_map_pixels (bool, kwargs, optional, mặc định là True) — Có nên ánh xạ các giá trị pixel của đầu vào codebook sang (1 - 2e)x + e hay không. Có thể ghi đè bằng tham số codebook_do_map_pixels trong preprocess.
  • codebook_do_normalize (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên chuẩn hóa đầu vào cho codebook bằng codebook_image_mean và codebook_image_std hay không. Có thể bị ghi đè bởi tham số codebook_do_normalize trong preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], tùy chọn, mặc định là [0, 0, 0]) — Chuỗi giá trị trung bình cho mỗi kênh, được sử dụng khi chuẩn hóa ảnh cho codebook. Có thể bị ghi đè bởi tham số codebook_image_mean trong preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], tùy chọn, mặc định là [0.5, 0.5, 0.5]) — Chuỗi độ lệch chuẩn cho từng kênh, được sử dụng khi chuẩn hóa ảnh cho codebook. Có thể được ghi đè bởi tham số codebook_image_std trong preprocess.

Tạo bộ xử lý ảnh FlavaImageProcessor.

preprocess

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature

Tham số

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Ảnh cần tiền xử lý. Kỳ vọng một ảnh đơn hoặc một lô ảnh với giá trị pixel từ 0 đến 255. Nếu truyền vào các ảnh có giá trị pixel từ 0 đến 1, hãy đặt do_rescale=False.
  • do_convert_rgb (bool, kwargs, optional) — Có nên chuyển đổi ảnh sang RGB hay không.
  • do_resize (bool, kwargs, optional) — Có nên thay đổi kích thước ảnh hay không.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Mô tả các kích thước đầu vào tối đa của mô hình.
  • default_to_square (bool, kwargs, tuỳ chọn) — Có mặc định thành ảnh vuông khi thay đổi kích thước hay không, nếu size là một số nguyên.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Kích thước của ảnh đầu ra sau khi áp dụng center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Bộ lọc lấy mẫu lại (resampling filter) được sử dụng khi thay đổi kích thước ảnh. Giá trị này có thể là một trong các hằng số liệt kê (enum) của PILImageResampling. Chỉ có hiệu lực khi do_resize được đặt thành True.
  • do_rescale (bool, kwargs, optional) — Có nên điều chỉnh lại tỷ lệ ảnh hay không.
  • rescale_factor (float, kwargs, optional) — Hệ số rescale để rescale ảnh nếu do_rescale được đặt thành True.
  • do_normalize (bool, kwargs, optional) — Có nên chuẩn hóa ảnh hay không.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, optional) — Giá trị trung bình của ảnh để sử dụng cho việc chuẩn hóa. Chỉ có hiệu lực nếu do_normalize được đặt thành True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional) — Độ lệch chuẩn của ảnh để sử dụng cho việc chuẩn hóa. Chỉ có hiệu lực nếu do_normalize được đặt thành True.
  • do_pad (bool, kwargs, optional) — Có nên chèn padding cho ảnh hay không. Padding được thực hiện đến kích thước lớn nhất trong batch hoặc đến một kích thước vuông cố định cho mỗi ảnh. Chiến lược padding cụ thể phụ thuộc vào model.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Kích thước ở dạng {"height": int, "width" int} để đệm cho các hình ảnh. Phải lớn hơn kích thước bất kỳ hình ảnh nào được cung cấp để tiền xử lý. Nếu không cung cấp pad_size, các hình ảnh sẽ được đệm đến chiều cao và chiều rộng lớn nhất trong lô. Chỉ được áp dụng khi do_pad=True.
  • do_center_crop (bool, kwargs, optional) — Có nên cắt ảnh ở vị trí trung tâm hay không.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, optional) — Chỉ hỗ trợ ChannelDimension.FIRST. Được thêm vào để tương thích với các bộ xử lý chậm.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, tùy chọn) — Định dạng chiều kênh cho ảnh đầu vào. Nếu không được đặt, định dạng chiều kênh sẽ được suy ra từ ảnh đầu vào. Có thể là một trong các giá trị:
    • "channels_first" hoặc ChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width).
    • "channels_last" hoặc ChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels).
    • "none" hoặc ChannelDimension.NONE: ảnh ở định dạng (chiều cao, chiều rộng).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Thiết bị để xử lý các video. Nếu không được đặt, thiết bị sẽ được suy ra từ các video đầu vào.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Trả về các tensor được xếp chồng nếu được đặt thành 'pt', ngược lại trả về một danh sách các tensor.
  • disable_grouping (bool, kwargs, tuỳ chọn) — Có nên vô hiệu hóa việc nhóm các hình ảnh theo kích thước để xử lý chúng riêng lẻ thay vì theo lô hay không. Nếu là None, giá trị sẽ được đặt thành True nếu các hình ảnh nằm trên CPU, và False trong các trường hợp khác. Lựa chọn này dựa trên các quan sát thực nghiệm, như được mô tả chi tiết tại đây: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, optional) — Số lượng token hình ảnh sẽ được sử dụng cho mỗi hình ảnh trong đầu vào. Được thêm vào để đảm bảo tương thích ngược, nhưng trong các mô hình tương lai, giá trị này nên được đặt như một thuộc tính của bộ xử lý.
  • return_image_mask (bool, kwargs, tùy chọn, mặc định là False) — Có nên trả về image mask hay không. Có thể bị ghi đè bởi tham số return_image_mask trong preprocess.
  • input_size_patches (int, kwargs, tuỳ chọn, mặc định là 14) — Số lượng patches trong ảnh theo chiều cao và chiều rộng. 14x14 = tổng cộng 196 patches. Có thể ghi đè bằng tham số input_size_patches trong preprocess.
  • total_mask_patches (int, kwargs, tùy chọn, mặc định là 75) — Tổng số patch cần được che. Có thể bị ghi đè bởi tham số total_mask_patches trong preprocess.
  • mask_group_min_patches (int, kwargs, tuỳ chọn, mặc định là 16) — Số lượng tối thiểu các patch cần được che. Có thể bị ghi đè bởi tham số mask_group_min_patches trong preprocess.
  • mask_group_max_patches (int, kwargs, optional) — Số lượng tối đa các patch cần được che. Có thể bị ghi đè bởi tham số mask_group_max_patches trong preprocess.
  • mask_group_min_aspect_ratio (float, kwargs, tuỳ chọn, mặc định là 0.3) — Tỷ lệ khung hình tối thiểu của cửa sổ mask. Có thể được ghi đè bởi tham số mask_group_min_aspect_ratio trong preprocess.
  • mask_group_max_aspect_ratio (float, kwargs, optional) — Tỷ lệ khung hình tối đa của cửa sổ mask. Có thể được ghi đè bởi tham số mask_group_max_aspect_ratio trong preprocess.
  • return_codebook_pixels (bool, kwargs, tùy chọn, mặc định là False) — Có trả về các giá trị pixel của codebook hay không.
  • codebook_do_resize (bool, kwargs, optional, mặc định là True) — Có nên resize đầu vào cho codebook lên một kích thước nhất định hay không. Có thể bị ghi đè bởi tham số codebook_do_resize trong preprocess. codebook_size.
  • codebook_size (dict[str, *kwargs*, int], tùy chọn, mặc định là {"height" -- 224, "width": 224}): Đổi kích thước đầu vào cho codebook thành kích thước đã cho. Có thể bị ghi đè bởi tham số codebook_size trong preprocess.
  • codebook_resample (PILImageResampling, kwargs, optional, mặc định là PILImageResampling.LANCZOS) — Bộ lọc resampling được sử dụng khi thay đổi kích thước ảnh codebook. Với torchvision < 0.27, LANCZOS không được hỗ trợ cho torch Tensors và BICUBIC được sử dụng như phương án thay thế gần nhất. Có thể ghi đè bằng tham số codebook_resample trong preprocess.
  • codebook_do_center_crop (bool, kwargs, optional, mặc định là True) — Có nên cắt phần giữa của đầu vào cho codebook hay không. Nếu kích thước đầu vào nhỏ hơn codebook_crop_size dọc theo bất kỳ cạnh nào, hình ảnh sẽ được đệm bằng 0 rồi sau đó cắt phần giữa. Có thể ghi đè bằng tham số codebook_do_center_crop trong preprocess.
  • codebook_crop_size (dict[str, *kwargs*, int], tùy chọn, mặc định là {"height" -- 224, "width": 224}): Kích thước đầu ra mong muốn cho đầu vào codebook khi áp dụng center-cropping. Có thể được ghi đè bởi tham số codebook_crop_size trong preprocess.
  • codebook_do_rescale (bool, kwargs, optional, mặc định là True) — Có nên điều chỉnh lại tỷ lệ đầu vào cho codebook theo hệ số codebook_rescale_factor đã chỉ định hay không. Có thể bị ghi đè bởi tham số codebook_do_rescale trong preprocess.
  • codebook_rescale_factor (int, kwargs hoặc float, không bắt buộc, mặc định là 1/255) — Xác định hệ số tỷ lệ cần sử dụng nếu thực hiện việc thay đổi tỷ lệ (rescale) cho ảnh codebook. Có thể bị ghi đè bởi tham số codebook_rescale_factor trong preprocess.
  • codebook_do_map_pixels (bool, kwargs, optional, mặc định là True) — Có nên ánh xạ các giá trị pixel của đầu vào codebook sang (1 - 2e)x + e hay không. Có thể ghi đè bằng tham số codebook_do_map_pixels trong preprocess.
  • codebook_do_normalize (bool, kwargs, tuỳ chọn, mặc định là True) — Có nên chuẩn hóa đầu vào cho codebook bằng codebook_image_mean và codebook_image_std hay không. Có thể bị ghi đè bởi tham số codebook_do_normalize trong preprocess.
  • codebook_image_mean (Optional[Union[float, *kwargs*, Iterable[float]]], tùy chọn, mặc định là [0, 0, 0]) — Chuỗi giá trị trung bình cho mỗi kênh, được sử dụng khi chuẩn hóa ảnh cho codebook. Có thể bị ghi đè bởi tham số codebook_image_mean trong preprocess.
  • codebook_image_std (Optional[Union[float, *kwargs*, Iterable[float]]], tùy chọn, mặc định là [0.5, 0.5, 0.5]) — Chuỗi độ lệch chuẩn cho từng kênh, được sử dụng khi chuẩn hóa ảnh cho codebook. Có thể được ghi đè bởi tham số codebook_image_std trong preprocess.

Trả về

~image_processing_base.BatchFeature

  • data (dict) — Từ điển chứa các danh sách/mảng/tensor được trả về bởi phương thức call (‘pixel_values’, v.v.).
  • tensor_type (Union[None, str, TensorType], tùy chọn) — Bạn có thể cung cấp một tensor_type tại đây để chuyển đổi các danh sách số nguyên trong Tensor PyTorch/Numpy khi khởi tạo.

FlavaForPreTraining

lớp transformers.FlavaForPreTraining

< >

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

Tham số

  • config (FlavaConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số mô hình.
  • image_codebook (torch.nn.Module, tùy chọn) — Nếu được truyền vào, image codebook sẽ được đặt thành giá trị này. Nếu không, nó sẽ được khởi tạo bằng cách sử dụng image_codebook_config được định nghĩa trong config, với vai trò là tham số đầu tiên.

Mô hình FLAVA cho tiền huấn luyện, xuất ra các giá trị tổn thất, nhúng, logits và đầu ra của transformer.

Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)

Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.

forward

< >

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

Tham số

  • input_ids (torch.LongTensor có hình dạng (batch_size, text_seq_len)) — Chỉ số của các token trong chuỗi đầu vào theo từ vựng. Các chỉ số này có thể được lấy bằng cách sử dụng AutoTokenizer. Xem PreTrainedTokenizer.encode() và PreTrainedTokenizer.call() để biết thêm chi tiết. ID đầu vào là gì?
  • input_ids_masked (torch.LongTensor có hình dạng (batch_size, text_seq_len)) — Chỉ số của các token trong chuỗi đầu vào theo từ vựng. Đây là phiên bản đã che (masked) của tác vụ gốc, được sử dụng với MLM. Các chỉ số này có thể được lấy bằng cách sử dụng AutoTokenizer cùng với DataCollatorForMaskedLanguageModeling. Xem PreTrainedTokenizer.encode() và PreTrainedTokenizer.call() để biết thêm chi tiết. Input IDs là gì?
  • pixel_values (torch.FloatTensor có hình dạng (batch_size, num_channels, image_size, image_size), tùy chọn) — Các tensor tương ứng với các hình ảnh đầu vào. Giá trị pixel có thể được lấy bằng cách sử dụng FlavaImageProcessor. Xem FlavaImageProcessor.call() để biết chi tiết (FlavaProcessor sử dụng FlavaImageProcessor để xử lý hình ảnh).
  • codebook_pixel_values (torch.FloatTensor có hình dạng (batch_size, num_image_patches, patch_size, patch_size, 3), tùy chọn) — Giá trị pixel cho các mảnh ảnh được sử dụng để tính toán nhãn codebook ảnh cho mô hình hóa ảnh có che (masked image modeling).
  • attention_mask (torch.Tensor có hình dạng (batch_size, sequence_length), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm. Các giá trị mặt nạ được chọn trong [0, 1]:
    • 1 cho các token không bị che,
    • 0 cho các token bị che.

    Mặt nạ chú ý là gì?

  • token_type_ids (torch.LongTensor có hình dạng (batch_size, text_seq_len), tùy chọn) — Chỉ số token phân đoạn để chỉ định phần đầu và phần thứ hai của đầu vào. Các chỉ số được chọn trong [0, 1]:
    • 0 tương ứng với một token sentence A,
    • 1 tương ứng với một token sentence B. Token type ID là gì?
  • bool_masked_pos (torch.BoolTensor có shape (batch_size, image_num_patches)) — Các vị trí bị mask dạng Boolean. Chỉ ra các patch bị mask (1) và các patch không bị mask (0).
  • position_ids (torch.LongTensor có hình dạng (batch_size, sequence_length), tùy chọn) — Chỉ số vị trí của các token trong mỗi chuỗi đầu vào trong các position embeddings. Được chọn trong khoảng [0, config.n_positions - 1].

    ID vị trí là gì?

  • image_attention_mask (torch.FloatTensor có hình dạng (batch_size, image_num_patches), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm, đặc biệt là cho hình ảnh. Các giá trị mặt nạ được chọn trong [0, 1]:
  • skip_unmasked_multimodal_encoder (*bool*, tùy chọn) — Bỏ qua các phép tính cho bộ mã hóa đa phương thức với các đầu vào không bị che. Việc tiền huấn luyện FLAVA hiện tại không cần các vector nhúng hoặc đầu ra đa phương thức không bị che.
  • mlm_labels (torch.LongTensor có shape (batch_size, text_seq_len), tùy chọn) — Nhãn để tính toán loss cho mô hình ngôn ngữ và đa phương thức bị che từ trái sang phải (dự đoán từ tiếp theo). Chỉ số phải nằm trong [-100, 0, ..., text_config.vocab_size - 1] (xem docstring của input_ids). Các token có chỉ số được đặt thành -100 sẽ bị bỏ qua (bị che), loss chỉ được tính cho các token có nhãn trong [0, ..., text_config.vocab_size - 1].
  • mim_labels (torch.LongTensor có shape (batch_size, image_num_patches), tùy chọn) — Nhãn để tính toán loss cho image và multimodal masked modeling. Các chỉ số phải nằm trong [-100, 0, ..., image_config.vocab_size - 1]. Các token có chỉ số được đặt thành -100 sẽ bị bỏ qua (masked), loss chỉ được tính cho các token có nhãn trong [0, ..., image_config.vocab_size - 1]. Nếu không được truyền vào, chúng sẽ được tạo tự động bằng cách sử dụng image codebook được gán cho model. Mặc định, nó sử dụng FlavaImageCodebook. Xem FlavaImageCodebook để hiểu cách tạo mim_labels.
  • itm_labels (torch.LongTensor có hình dạng (batch_size, 1), tùy chọn) — Nhãn để tính toán tổn thất khớp văn bản-hình ảnh. 0 có nghĩa là các cặp không khớp và 1 có nghĩa là chúng khớp. Các cặp có nhãn 0 cũng sẽ bị bỏ qua khi tính toán tổn thất MMM và tổn thất tương phản toàn cục.
  • output_attentions (bool, tùy chọn) — Có trả về các tensor attentions của tất cả các lớp attention hay không. Xem attentions trong phần tensor được trả về để biết thêm chi tiết.
  • output_hidden_states (bool, tùy chọn, mặc định là True) — Có trả về trạng thái ẩn (hidden states) của tất cả các lớp hay không. Xem hidden_states trong phần tensor trả về để biết thêm chi tiết.
  • return_dict (bool, tùy chọn) — Có nên trả về một ModelOutput thay vì một tuple thông thường hay không.
  • return_loss (bool, tùy chọn, mặc định là None) — Có trả về loss đã tính toán hay không.

Trả về

FlavaForPreTrainingOutput hoặc tuple(torch.FloatTensor)

Một FlavaForPreTrainingOutput hoặc một tuple của torch.FloatTensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các thành phần khác nhau tùy thuộc vào cấu hình (FlavaConfig) và đầu vào.

Phương thức forward của FlavaForPreTraining ghi đè lên phương thức đặc biệt __call__.

Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của Module sau đó thay vì gọi hàm này, vì instance Module sẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.

  • loss (torch.FloatTensor, tuỳ chọn, được trả về khi return_loss là True) — Tổng loss được tính cho mô hình này.
  • loss_info (~models.flava.modeling_flava.FlavaLosses, optional) — Thông tin chi tiết về các loss của FLAVA Pretraining. Xem mô tả lớp FlavaLosses để biết thông tin về các key.
  • image_embeddings (torch.FloatTensor có shape (batch_size, output_dim), optional, được trả về khi có pixel_values) — Các image embeddings, về cơ bản là pooled output của FlavaImageModel.
  • image_output (BaseModelOutputWithPooling, tùy chọn, được trả về khi có pixel_values) — Đầu ra của FlavaImageModel.
  • text_embeddings (torch.FloatTensor có shape (batch_size, output_dim), tùy chọn, được trả về khi có input_ids) — Các text embeddings, về cơ bản là output pooled của FlavaTextModel.
  • text_output (BaseModelOutputWithPooling, tùy chọn, được trả về khi có input_ids) — Đầu ra của FlavaTextModel.
  • multimodal_embeddings (torch.FloatTensor có shape (batch_size, output_dim), tùy chọn, được trả về khi input_ids và pixel_values có mặt và skip_unmasked_multimodal_encoder là None hoặc False) — Các embeddings đa phương thức, về cơ bản là đầu ra đã được pooled của FlavaTextModel.
  • multimodal_output (BaseModelOutputWithPooling, được trả về khi input_ids và pixel_values có mặt và skip_unmasked_multimodal_encoder là None hoặc False) — Đầu ra của FlavaMultimodalModel.
  • image_masked_embeddings (torch.FloatTensor có shape (batch_size, output_dim), tùy chọn, được trả về khi có pixel_values) — Các embedding của ảnh, về cơ bản là đầu ra đã được pooled của FlavaImageModel. Sử dụng bool_masked_pos để tạo ra các ảnh bị mask.
  • image_masked_output (BaseModelOutputWithPooling, tùy chọn, được trả về khi có pixel_values) — Đầu ra của FlavaImageModel. Sử dụng bool_masked_pos để tạo các hình ảnh bị che.
  • text_masked_embeddings (torch.FloatTensor có shape (batch_size, output_dim), tùy chọn, được trả về khi có input_ids_masked) — Các embedding văn bản, về cơ bản là đầu ra pooled của FlavaTextModel.
  • text_masked_output (BaseModelOutputWithPooling, tùy chọn, được trả về khi có input_ids_masked) — Đầu ra của FlavaTextModel.
  • multimodal_masked_embeddings (torch.FloatTensor có hình dạng (batch_size, output_dim), tùy chọn, được trả về khi có input_ids và pixel_values) — Các embedding đa phương thức, về cơ bản là đầu ra đã được pool của FlavaTextModel.
  • multimodal_masked_output (BaseModelOutputWithPooling, tùy chọn, được trả về khi có input_ids_masked và pixel_values) — Đầu ra của FlavaMultimodalModel.
  • mim_logits (torch.FloatTensor có shape (batch_size, num_image_patches, image_vocab_size) hoặc có shape (total_masked_patches, image_vocab_size) , optional, được trả về khi pixel_values có mặt và input_ids_masked không có) — Các logits cho MIM unimodal loss. Sử dụng bool_masked_pos để lấy các patch bị mask. Đầu ra đã được flatten được trả về khi bool_masked_pos có một số patch bị mask.
  • mlm_logits (torch.FloatTensor có shape (batch_size, text_seq_length, text_vocab_size) hoặc có shape (total_masked_seq_length, text_vocab_size), optional, được trả về khi có input_ids_masked và không có pixel_values) — Các logits cho tổn thất MLM đơn phương thức. Đầu ra đã được làm phẳng sẽ được trả về khi input_ids_masked có một số token bị mask.
  • itm_logits (torch.FloatTensor có shape (batch_size, 2), tùy chọn, được trả về khi có input_ids_masked và pixel_values) — Các logits cho ITM loss. Lưu ý rằng ITM loss được tính trên các cặp bị mask trong FLAVA.
  • contrastive_logits_per_image (torch.FloatTensor có hình dạng (image_batch_size, text_batch_size)) — Điểm tích vô hướng có tỷ lệ giữa image_embeddings và text_embeddings nhưng đã được truyền qua các lớp image_projection và text_projection của FLAVA tương ứng. Đây đại diện cho các điểm tương tự giữa ảnh và văn bản. Giá trị này được tính trên các ảnh và văn bản không bị che (unmasked).
  • contrastive_logits_per_text (torch.FloatTensor có hình dạng (text_batch_size, image_batch_size)) — Điểm số tích vô hướng có tỷ lệ giữa text_embeddings và image_embeddings nhưng đã được truyền qua các lớp text_projection và image_projection của FLAVA tương ứng. Giá trị này được tính trên các hình ảnh và văn bản không bị che (unmasked).
  • mmm_image_logits (torch.FloatTensor có shape (batch_size, num_image_patches, image_vocab_size) hoặc shape (total_masked_patches, image_vocab_size), optional, được trả về khi có pixel_values và input_ids_masked) — Các logits cho loss đa phương thức hình ảnh MMM. Sử dụng bool_masked_pos để lấy các patch bị mask. Kết quả đầu ra đã được flatten sẽ được trả về khi bool_masked_pos có một số patch bị mask.
  • mmm_text_logits (torch.FloatTensor có shape (batch_size, text_seq_length, text_vocab_size) hoặc có shape (total_masked_seq_length, text_vocab_size), tuỳ chọn, được trả về khi có pixel_values và input_ids_masked) — Các logits cho tổn thất đa phương thức văn bản MMM. Đầu ra đã được làm phẳng sẽ được trả về khi input_ids_masked có một số token bị che.

Ví dụ:

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

lớp transformers.FlavaModel

< >

( config: FlavaConfig )

Tham số

  • config (FlavaConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số mô hình.

Mô hình Flava cơ bản, xuất ra các hidden-state thô mà không có bất kỳ head cụ thể nào ở phía trên.

Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)

Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.

forward

< >

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

Tham số

  • input_ids (torch.LongTensor có shape (batch_size, image_num_patches + text_seq_len)) — Chỉ số của các token trong chuỗi đầu vào trong từ vựng. Các chỉ số này có thể được lấy bằng cách sử dụng AutoTokenizer. Xem PreTrainedTokenizer.encode() và PreTrainedTokenizer.call() để biết thêm chi tiết. ID đầu vào là gì?
  • pixel_values (torch.FloatTensor có hình dạng (batch_size, num_channels, image_size, image_size), tùy chọn) — Các tensor tương ứng với các hình ảnh đầu vào. Giá trị pixel có thể được lấy bằng cách sử dụng FlavaImageProcessor. Xem FlavaImageProcessor.call() để biết chi tiết (FlavaProcessor sử dụng FlavaImageProcessor để xử lý hình ảnh).
  • attention_mask (torch.Tensor có hình dạng (batch_size, sequence_length), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm. Các giá trị mặt nạ được chọn trong [0, 1]:
    • 1 cho các token không bị che,
    • 0 cho các token bị che.

    Mặt nạ chú ý là gì?

  • token_type_ids (torch.LongTensor có hình dạng (batch_size, image_num_patches + text_seq_len), tùy chọn) — Chỉ số token phân đoạn để chỉ định phần đầu và phần thứ hai của đầu vào. Các chỉ số được chọn trong [0, 1]:
    • 0 tương ứng với một token sentence A,
    • 1 tương ứng với một token sentence B. Token type ID là gì?
  • bool_masked_pos (torch.BoolTensor có shape (batch_size, image_num_patches)) — Các vị trí bị mask dạng Boolean. Chỉ ra các patch bị mask (1) và các patch không bị mask (0).
  • position_ids (torch.LongTensor có hình dạng (batch_size, sequence_length), tùy chọn) — Chỉ số vị trí của các token trong mỗi chuỗi đầu vào trong các position embeddings. Được chọn trong khoảng [0, config.n_positions - 1].

    ID vị trí là gì?

  • image_attention_mask (torch.Tensor có hình dạng (batch_size, image_num_patches), tùy chọn) — Mặt nạ để tránh thực hiện attention trên các giá trị pixel padding cho đầu vào hình ảnh. Các giá trị mặt nạ được chọn trong [0, 1]:
    • 1 cho các giá trị pixel thực (tức là không bị che),
    • 0 cho các giá trị pixel là padding (tức là đã bị che).
  • skip_multimodal_encoder (*bool*, tùy chọn) — Bỏ qua các phép tính cho bộ mã hóa đa phương thức. Hữu ích nếu không có ý định sử dụng mã hóa đa phương thức.
  • output_attentions (bool, tùy chọn) — Có trả về các tensor attentions của tất cả các lớp attention hay không. Xem attentions trong phần tensor được trả về để biết thêm chi tiết.
  • output_hidden_states (bool, tùy chọn, mặc định là True) — Có trả về trạng thái ẩn (hidden states) của tất cả các lớp hay không. Xem hidden_states trong phần tensor trả về để biết thêm chi tiết.
  • return_dict (bool, tùy chọn) — Có nên trả về một ModelOutput thay vì một tuple thông thường hay không.

Trả về

FlavaModelOutput hoặc tuple(torch.FloatTensor)

Một FlavaModelOutput hoặc một tuple của torch.FloatTensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các thành phần khác nhau tùy thuộc vào cấu hình (FlavaConfig) và đầu vào.

Phương thức forward của FlavaModel ghi đè lên phương thức đặc biệt __call__.

Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của Module sau đó thay vì gọi hàm này, vì instance Module sẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.

  • image_embeddings (torch.FloatTensor có shape (batch_size, output_dim), optional, được trả về khi có pixel_values) — Các image embeddings, về cơ bản là pooled output của FlavaImageModel.
  • image_output (BaseModelOutputWithPooling, tùy chọn, được trả về khi có pixel_values) — Đầu ra của FlavaImageModel.
  • text_embeddings (torch.FloatTensor có shape (batch_size, output_dim), tùy chọn, được trả về khi có input_ids) — Các text embeddings, về cơ bản là output pooled của FlavaTextModel.
  • text_output (BaseModelOutputWithPooling, tùy chọn, được trả về khi có input_ids) — Đầu ra của FlavaTextModel.
  • multimodal_embeddings (torch.FloatTensor có shape (batch_size, output_dim), tùy chọn, được trả về khi input_ids và pixel_values có mặt và skip_multimodal_encoder là None hoặc False) — Các embeddings đa phương thức, về cơ bản là đầu ra đã được pooled của FlavaTextModel.
  • multimodal_output (BaseModelOutputWithPooling, được trả về khi input_ids và pixel_values có mặt và skip_multimodal_encoder là None hoặc False) — Đầu ra của FlavaMultimodalModel.

Ví dụ:

>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import AutoProcessor, FlavaModel

>>> model = FlavaModel.from_pretrained("facebook/flava-full")
>>> processor = AutoProcessor.from_pretrained("facebook/flava-full")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> inputs = processor(text=["a photo of a cat"], images=image, return_tensors="pt", padding=True)

>>> outputs = model(**inputs)

>>> image_embeddings = outputs.image_embeddings
>>> text_embeddings = outputs.text_embeddings
>>> multimodal_embeddings = outputs.multimodal_embeddings

>>> outputs.image_embeddings.shape
torch.Size([1, 197, 768])

>>> text_embeddings.shape
torch.Size([1, 7, 768])

>>> multimodal_embeddings.shape
torch.Size([1, 205, 768])

get_text_features

< >

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

Tham số

  • input_ids (torch.LongTensor có shape (batch_size, text_seq_length)) — Chỉ số của các token trong chuỗi đầu vào theo từ điển. Có thể lấy các chỉ số này bằng cách sử dụng AutoTokenizer. Xem PreTrainedTokenizer.encode() và PreTrainedTokenizer.call() để biết thêm chi tiết. input IDs là gì?
  • attention_mask (torch.Tensor có hình dạng (batch_size, sequence_length), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm. Các giá trị mặt nạ được chọn trong [0, 1]:
    • 1 cho các token không bị che,
    • 0 cho các token bị che.

    Mặt nạ chú ý là gì?

  • token_type_ids (torch.LongTensor có hình dạng (batch_size, text_seq_length), tùy chọn) — Chỉ số token phân đoạn để chỉ định phần đầu và phần thứ hai của đầu vào. Các chỉ số được chọn trong [0, 1]:
    • 0 tương ứng với một token sentence A,
    • 1 tương ứng với một token sentence B. Token type ID là gì?
  • position_ids (torch.Tensor có hình dạng (batch_size, sequence_length), tùy chọn) — Chỉ số vị trí của các token trong mỗi chuỗi đầu vào trong các position embeddings. Được chọn trong khoảng [0, config.n_positions - 1].

    ID vị trí là gì?

Trả về

BaseModelOutputWithPooling hoặc tuple(torch.FloatTensor)

Một BaseModelOutputWithPooling hoặc một tuple của torch.FloatTensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các thành phần khác nhau tùy thuộc vào cấu hình (FlavaConfig) và đầu vào.

  • last_hidden_state (torch.FloatTensor có hình dạng (batch_size, sequence_length, hidden_size)) — Chuỗi các hidden-state tại đầu ra của lớp cuối cùng của mô hình.

  • pooler_output (torch.FloatTensor có hình dạng (batch_size, hidden_size)) — Trạng thái ẩn của lớp cuối cùng của token đầu tiên trong chuỗi (token phân loại) sau khi được xử lý thêm qua các lớp được sử dụng cho tác vụ tiền huấn luyện bổ trợ. Ví dụ, đối với các mô hình thuộc họ BERT, giá trị này trả về token phân loại sau khi được xử lý qua một lớp tuyến tính và một hàm kích hoạt tanh. Trọng số của lớp tuyến tính được huấn luyện từ mục tiêu dự đoán câu tiếp theo (phân loại) trong quá trình tiền huấn luyện.

  • hidden_states (tuple(torch.FloatTensor), tuỳ chọn, được trả về khi output_hidden_states=True được truyền vào hoặc khi config.output_hidden_states=True) — Bộ tuple của torch.FloatTensor (một cho đầu ra của các embedding, nếu mô hình có lớp embedding, + một cho đầu ra của mỗi lớp) có hình dạng (batch_size, sequence_length, hidden_size).

    Trạng thái ẩn của mô hình tại đầu ra của mỗi lớp cùng với các đầu ra embedding ban đầu tùy chọn.

  • attentions (tuple(torch.FloatTensor), tuỳ chọn, được trả về khi output_attentions=True được truyền vào hoặc khi config.output_attentions=True) — Bộ tuple của torch.FloatTensor (một cho mỗi lớp) có hình dạng (batch_size, num_heads, sequence_length, sequence_length).

    Trọng số chú ý sau softmax của attention, được sử dụng để tính trung bình có trọng số trong các đầu self-attention.

Ví dụ:

>>> import torch
>>> from transformers import AutoProcessor, FlavaModel

>>> model = FlavaModel.from_pretrained("{0}")
>>> processor = AutoProcessor.from_pretrained("{0}")

>>> inputs = processor(
...     text=["a photo of a cat", "a photo of a dog"], max_length=77, padding="max_length", return_tensors="pt"
... )
>>> with torch.inference_mode():
...     text_features = model.get_text_features(**inputs)

get_image_features

< >

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

Tham số

  • pixel_values (torch.Tensor có hình dạng (batch_size, num_channels, image_size, image_size)) — Các tensor tương ứng với các hình ảnh đầu vào. Giá trị pixel có thể được lấy bằng cách sử dụng FlavaImageProcessor. Xem FlavaImageProcessor.call() để biết chi tiết (FlavaProcessor sử dụng FlavaImageProcessor để xử lý hình ảnh).
  • bool_masked_pos (torch.BoolTensor có shape (batch_size, image_num_patches)) — Các vị trí bị mask dạng Boolean. Chỉ ra các patch bị mask (1) và các patch không bị mask (0).
  • interpolate_pos_encoding (bool, tùy chọn) — Có nội suy các mã vị trí được huấn luyện trước hay không.
  • attention_mask (torch.Tensor có hình dạng (batch_size, sequence_length), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm. Các giá trị mặt nạ được chọn trong [0, 1]:
    • 1 cho các token không bị che,
    • 0 cho các token bị che.

    Mặt nạ chú ý là gì?

Trả về

BaseModelOutputWithPooling hoặc tuple(torch.FloatTensor)

Một BaseModelOutputWithPooling hoặc một tuple của torch.FloatTensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các thành phần khác nhau tùy thuộc vào cấu hình (FlavaConfig) và đầu vào.

  • last_hidden_state (torch.FloatTensor có hình dạng (batch_size, sequence_length, hidden_size)) — Chuỗi các hidden-state tại đầu ra của lớp cuối cùng của mô hình.

  • pooler_output (torch.FloatTensor có hình dạng (batch_size, hidden_size)) — Trạng thái ẩn của lớp cuối cùng của token đầu tiên trong chuỗi (token phân loại) sau khi được xử lý thêm qua các lớp được sử dụng cho tác vụ tiền huấn luyện bổ trợ. Ví dụ, đối với các mô hình thuộc họ BERT, giá trị này trả về token phân loại sau khi được xử lý qua một lớp tuyến tính và một hàm kích hoạt tanh. Trọng số của lớp tuyến tính được huấn luyện từ mục tiêu dự đoán câu tiếp theo (phân loại) trong quá trình tiền huấn luyện.

  • hidden_states (tuple(torch.FloatTensor), tuỳ chọn, được trả về khi output_hidden_states=True được truyền vào hoặc khi config.output_hidden_states=True) — Bộ tuple của torch.FloatTensor (một cho đầu ra của các embedding, nếu mô hình có lớp embedding, + một cho đầu ra của mỗi lớp) có hình dạng (batch_size, sequence_length, hidden_size).

    Trạng thái ẩn của mô hình tại đầu ra của mỗi lớp cùng với các đầu ra embedding ban đầu tùy chọn.

  • attentions (tuple(torch.FloatTensor), tuỳ chọn, được trả về khi output_attentions=True được truyền vào hoặc khi config.output_attentions=True) — Bộ tuple của torch.FloatTensor (một cho mỗi lớp) có hình dạng (batch_size, num_heads, sequence_length, sequence_length).

    Trọng số chú ý sau softmax của attention, được sử dụng để tính trung bình có trọng số trong các đầu self-attention.

Ví dụ:

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

lớp transformers.FlavaImageCodebook

< >

( config: FlavaImageCodebookConfig**kwargs: Any )

Tham số

  • config (FlavaImageCodebookConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số mô hình.

Mô hình codebook hình ảnh của FLAVA được lấy cảm hứng từ bộ mã hóa gốc của DALL-E. Mô hình này xuất ra các trạng thái ẩn thô và có thể được sử dụng để tạo các token hình ảnh cho một hình ảnh dựa trên từ vựng của DALL-E. Được dùng để tạo nhãn cho MIM. Sử dụng get_codebook_indices để lấy các token hình ảnh cho một hình ảnh.

Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)

Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.

forward

< >

( pixel_values: FloatTensor**kwargs )

get_codebook_indices

< >

( pixel_values: Tensor )

get_codebook_probs

< >

( pixel_values: Tensor )

FlavaTextModel

lớp transformers.FlavaTextModel

< >

( config: FlavaTextConfigadd_pooling_layer: bool = True )

Tham số

  • config (FlavaTextConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số mô hình.
  • add_pooling_layer (bool, tùy chọn, mặc định là True) — Có thêm một lớp pooling hay không

Mô hình Flava Text thô, xuất ra các hidden-states thô mà không có bất kỳ head cụ thể nào ở phía trên.

Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)

Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.

forward

< >

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

Tham số

  • input_ids (torch.LongTensor có shape (batch_size, text_seq_length)) — Chỉ số của các token trong chuỗi đầu vào theo từ điển. Có thể lấy các chỉ số này bằng cách sử dụng AutoTokenizer. Xem PreTrainedTokenizer.encode() và PreTrainedTokenizer.call() để biết thêm chi tiết. input IDs là gì?
  • attention_mask (torch.Tensor có hình dạng (batch_size, sequence_length), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm. Các giá trị mặt nạ được chọn trong [0, 1]:
    • 1 cho các token không bị che,
    • 0 cho các token bị che.

    Mặt nạ chú ý là gì?

  • token_type_ids (torch.LongTensor có hình dạng (batch_size, text_seq_length), tùy chọn) — Chỉ số token phân đoạn để chỉ định phần đầu và phần thứ hai của đầu vào. Các chỉ số được chọn trong [0, 1]:
    • 0 tương ứng với một token sentence A,
    • 1 tương ứng với một token sentence B. Token type ID là gì?
  • position_ids (torch.Tensor có hình dạng (batch_size, sequence_length), tùy chọn) — Chỉ số vị trí của các token trong mỗi chuỗi đầu vào trong các position embeddings. Được chọn trong khoảng [0, config.n_positions - 1].

    ID vị trí là gì?

  • output_attentions (bool, tùy chọn) — Có trả về các tensor attentions của tất cả các lớp attention hay không. Xem attentions trong phần tensor được trả về để biết thêm chi tiết.
  • output_hidden_states (bool, tùy chọn) — Có trả về trạng thái ẩn (hidden states) của tất cả các lớp hay không. Xem hidden_states trong phần tensor trả về để biết thêm chi tiết.
  • return_dict (bool, tùy chọn) — Có nên trả về một ModelOutput thay vì một tuple thông thường hay không.

Trả về

BaseModelOutputWithPooling hoặc tuple(torch.FloatTensor)

Một BaseModelOutputWithPooling hoặc một tuple của torch.FloatTensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các thành phần khác nhau tùy thuộc vào cấu hình (FlavaConfig) và đầu vào.

Phương thức forward của FlavaTextModel ghi đè lên phương thức đặc biệt __call__.

Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của Module sau đó thay vì gọi hàm này, vì instance Module sẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.

  • last_hidden_state (torch.FloatTensor có hình dạng (batch_size, sequence_length, hidden_size)) — Chuỗi các hidden-state tại đầu ra của lớp cuối cùng của mô hình.

  • pooler_output (torch.FloatTensor có hình dạng (batch_size, hidden_size)) — Trạng thái ẩn của lớp cuối cùng của token đầu tiên trong chuỗi (token phân loại) sau khi được xử lý thêm qua các lớp được sử dụng cho tác vụ tiền huấn luyện bổ trợ. Ví dụ, đối với các mô hình thuộc họ BERT, giá trị này trả về token phân loại sau khi được xử lý qua một lớp tuyến tính và một hàm kích hoạt tanh. Trọng số của lớp tuyến tính được huấn luyện từ mục tiêu dự đoán câu tiếp theo (phân loại) trong quá trình tiền huấn luyện.

  • hidden_states (tuple(torch.FloatTensor), tuỳ chọn, được trả về khi output_hidden_states=True được truyền vào hoặc khi config.output_hidden_states=True) — Bộ tuple của torch.FloatTensor (một cho đầu ra của các embedding, nếu mô hình có lớp embedding, + một cho đầu ra của mỗi lớp) có hình dạng (batch_size, sequence_length, hidden_size).

    Trạng thái ẩn của mô hình tại đầu ra của mỗi lớp cùng với các đầu ra embedding ban đầu tùy chọn.

  • attentions (tuple(torch.FloatTensor), tuỳ chọn, được trả về khi output_attentions=True được truyền vào hoặc khi config.output_attentions=True) — Bộ tuple của torch.FloatTensor (một cho mỗi lớp) có hình dạng (batch_size, num_heads, sequence_length, sequence_length).

    Trọng số chú ý sau softmax của attention, được sử dụng để tính trung bình có trọng số trong các đầu self-attention.

FlavaImageModel

lớp transformers.FlavaImageModel

< >

( config: FlavaImageConfigadd_pooling_layer: bool = True )

Tham số

  • config (FlavaImageConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số mô hình.
  • add_pooling_layer (bool, tùy chọn, mặc định là True) — Có thêm một lớp pooling hay không

Mô hình Flava cơ bản, xuất ra các hidden-state thô mà không có bất kỳ head cụ thể nào ở phía trên.

Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)

Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.

forward

< >

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

Tham số

  • pixel_values (torch.Tensor có hình dạng (batch_size, num_channels, image_size, image_size), tùy chọn) — Các tensor tương ứng với các hình ảnh đầu vào. Giá trị pixel có thể được lấy bằng cách sử dụng FlavaImageProcessor. Xem FlavaImageProcessor.call() để biết chi tiết (FlavaProcessor sử dụng FlavaImageProcessor để xử lý hình ảnh).
  • bool_masked_pos (torch.BoolTensor có shape (batch_size, image_num_patches)) — Các vị trí bị mask dạng Boolean. Chỉ ra các patch bị mask (1) và các patch không bị mask (0).
  • interpolate_pos_encoding (bool, tùy chọn) — Có nội suy các mã vị trí được huấn luyện trước hay không.
  • attention_mask (torch.Tensor có hình dạng (batch_size, sequence_length), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm. Các giá trị mặt nạ được chọn trong [0, 1]:
    • 1 cho các token không bị che,
    • 0 cho các token bị che.

    Mặt nạ chú ý là gì?

  • output_attentions (bool, tùy chọn) — Có trả về các tensor attentions của tất cả các lớp attention hay không. Xem attentions trong phần tensor được trả về để biết thêm chi tiết.
  • output_hidden_states (bool, tùy chọn) — Có trả về trạng thái ẩn (hidden states) của tất cả các lớp hay không. Xem hidden_states trong phần tensor trả về để biết thêm chi tiết.
  • return_dict (bool, tùy chọn) — Có nên trả về một ModelOutput thay vì một tuple thông thường hay không.

Trả về

BaseModelOutputWithPooling hoặc tuple(torch.FloatTensor)

Một BaseModelOutputWithPooling hoặc một tuple của torch.FloatTensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các thành phần khác nhau tùy thuộc vào cấu hình (FlavaConfig) và đầu vào.

Phương thức forward của FlavaImageModel ghi đè lên phương thức đặc biệt __call__.

Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của Module sau đó thay vì gọi hàm này, vì instance Module sẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.

  • last_hidden_state (torch.FloatTensor có hình dạng (batch_size, sequence_length, hidden_size)) — Chuỗi các hidden-state tại đầu ra của lớp cuối cùng của mô hình.

  • pooler_output (torch.FloatTensor có hình dạng (batch_size, hidden_size)) — Trạng thái ẩn của lớp cuối cùng của token đầu tiên trong chuỗi (token phân loại) sau khi được xử lý thêm qua các lớp được sử dụng cho tác vụ tiền huấn luyện bổ trợ. Ví dụ, đối với các mô hình thuộc họ BERT, giá trị này trả về token phân loại sau khi được xử lý qua một lớp tuyến tính và một hàm kích hoạt tanh. Trọng số của lớp tuyến tính được huấn luyện từ mục tiêu dự đoán câu tiếp theo (phân loại) trong quá trình tiền huấn luyện.

  • hidden_states (tuple(torch.FloatTensor), tuỳ chọn, được trả về khi output_hidden_states=True được truyền vào hoặc khi config.output_hidden_states=True) — Bộ tuple của torch.FloatTensor (một cho đầu ra của các embedding, nếu mô hình có lớp embedding, + một cho đầu ra của mỗi lớp) có hình dạng (batch_size, sequence_length, hidden_size).

    Trạng thái ẩn của mô hình tại đầu ra của mỗi lớp cùng với các đầu ra embedding ban đầu tùy chọn.

  • attentions (tuple(torch.FloatTensor), tuỳ chọn, được trả về khi output_attentions=True được truyền vào hoặc khi config.output_attentions=True) — Bộ tuple của torch.FloatTensor (một cho mỗi lớp) có hình dạng (batch_size, num_heads, sequence_length, sequence_length).

    Trọng số chú ý sau softmax của attention, được sử dụng để tính trung bình có trọng số trong các đầu self-attention.

FlavaMultimodalModel

lớp transformers.FlavaMultimodalModel

< >

( config: FlavaMultimodalConfigadd_pooling_layer = True )

Tham số

  • config (FlavaMultimodalConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số mô hình.
  • add_pooling_layer (bool, tùy chọn, mặc định là True) — Có thêm một lớp pooling hay không

Mô hình Flava cơ bản, xuất ra các hidden-state thô mà không có bất kỳ head cụ thể nào ở phía trên.

Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)

Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.

forward

< >

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

Tham số

  • hidden_states (torch.FloatTensor có hình dạng (batch_size, image_num_patches + text_seq_len, hidden_size)) — Trạng thái ẩn (hidden states) đã được nối của các bộ mã hóa đơn phương thức (unimodal encoders).
  • attention_mask (torch.Tensor có hình dạng (batch_size, sequence_length), tùy chọn) — Mặt nạ để tránh thực hiện chú ý trên các chỉ số token đệm. Các giá trị mặt nạ được chọn trong [0, 1]:
    • 1 cho các token không bị che,
    • 0 cho các token bị che.

    Mặt nạ chú ý là gì?

  • output_attentions (bool, tùy chọn) — Có trả về các tensor attentions của tất cả các lớp attention hay không. Xem attentions trong phần tensor được trả về để biết thêm chi tiết.
  • output_hidden_states (bool, tùy chọn) — Có trả về trạng thái ẩn (hidden states) của tất cả các lớp hay không. Xem hidden_states trong phần tensor trả về để biết thêm chi tiết.
  • return_dict (bool, tùy chọn) — Có nên trả về một ModelOutput thay vì một tuple thông thường hay không.

Trả về

BaseModelOutputWithPooling hoặc tuple(torch.FloatTensor)

Một BaseModelOutputWithPooling hoặc một tuple của torch.FloatTensor (nếu return_dict=False được truyền hoặc khi config.return_dict=False) bao gồm các thành phần khác nhau tùy thuộc vào cấu hình (FlavaConfig) và đầu vào.

Phương thức forward của FlavaMultimodalModel ghi đè lên phương thức đặc biệt __call__.

Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của Module sau đó thay vì gọi hàm này, vì instance Module sẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.

  • last_hidden_state (torch.FloatTensor có hình dạng (batch_size, sequence_length, hidden_size)) — Chuỗi các hidden-state tại đầu ra của lớp cuối cùng của mô hình.

  • pooler_output (torch.FloatTensor có hình dạng (batch_size, hidden_size)) — Trạng thái ẩn của lớp cuối cùng của token đầu tiên trong chuỗi (token phân loại) sau khi được xử lý thêm qua các lớp được sử dụng cho tác vụ tiền huấn luyện bổ trợ. Ví dụ, đối với các mô hình thuộc họ BERT, giá trị này trả về token phân loại sau khi được xử lý qua một lớp tuyến tính và một hàm kích hoạt tanh. Trọng số của lớp tuyến tính được huấn luyện từ mục tiêu dự đoán câu tiếp theo (phân loại) trong quá trình tiền huấn luyện.

  • hidden_states (tuple(torch.FloatTensor), tuỳ chọn, được trả về khi output_hidden_states=True được truyền vào hoặc khi config.output_hidden_states=True) — Bộ tuple của torch.FloatTensor (một cho đầu ra của các embedding, nếu mô hình có lớp embedding, + một cho đầu ra của mỗi lớp) có hình dạng (batch_size, sequence_length, hidden_size).

    Trạng thái ẩn của mô hình tại đầu ra của mỗi lớp cùng với các đầu ra embedding ban đầu tùy chọn.

  • attentions (tuple(torch.FloatTensor), tuỳ chọn, được trả về khi output_attentions=True được truyền vào hoặc khi config.output_attentions=True) — Bộ tuple của torch.FloatTensor (một cho mỗi lớp) có hình dạng (batch_size, num_heads, sequence_length, sequence_length).

    Trọng số chú ý sau softmax của attention, được sử dụng để tính trung bình có trọng số trong các đầu self-attention.

Update on GitHub