Transformers documentation
FLAVA
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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneimage_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonemultimodal_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Noneimage_codebook_config: dict[str, typing.Any] | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_size: int = 768layer_norm_eps: float = 1e-12projection_dim: int = 768init_codebook: bool = Truelogit_scale_init_value: float = 2.6592initializer_range: float = 0.02ce_ignore_index: int = -100mim_weight: float = 1.0mlm_weight: float = 1.0global_contrastive_weight: float = 1.0itm_weight: float = 1.0mmm_image_weight: float = 1.0mmm_text_weight: float = 1.0global_backprop_contrastive: bool = Trueskip_unmasked_multimodal_encoder: bool = Truereturn_loss: bool = Truetie_word_embeddings: bool = Trueinitializer_factor: float = 1.0 )
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ạoFlavaCodebookConfig. - 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_keyscủ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.configFlavaTextConfig
lớp transformers.FlavaTextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 30522type_vocab_size: int = 2max_position_embeddings: int = 512hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12pad_token_id: int | None = 0qkv_bias: bool = True )
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ởiinput_ids. - type_vocab_size (
int, tùy chọn, mặc định là2) — Kích thước từ vựng củatoken_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.configFlavaImageConfig
lớp transformers.FlavaImageConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12image_size: int | list[int] | tuple[int, int] = 224patch_size: int | list[int] | tuple[int, int] = 16num_channels: int = 3qkv_bias: bool = Truemask_token: bool = Truevocab_size: int = 8192 )
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ởiinput_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.configFlavaMultimodalConfig
lớp transformers.FlavaMultimodalConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 768num_hidden_layers: int = 6num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.0attention_probs_dropout_prob: float | int = 0.0initializer_range: float = 0.02layer_norm_eps: float = 1e-12qkv_bias: bool = Trueuse_cls_token: bool = True )
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.configFlavaImageCodebookConfig
lớp transformers.FlavaImageCodebookConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonenum_groups: int = 4input_channels: int = 3num_blocks_per_group: int = 2hidden_size: int = 256vocab_size: int = 8192freeze: bool = Trueinitializer_range: float = 0.02 )
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ởiinput_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.configFlavaProcessor
lớp transformers.FlavaProcessor
< source >( image_processor = Nonetokenizer = None**kwargs )
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__
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] | None = Nonevideos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = Noneaudio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'> )
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 đặtdo_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 đặtis_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 đặtdo_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 (
strhoặ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ượngtorch.Tensorcủa PyTorch.'np': Trả về các đối tượngnp.ndarraycủ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
< source >( **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ụngcenter_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ủaPILImageResampling. Chỉ có hiệu lực khido_resizeđược đặt thànhTrue. - 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ếudo_rescaleđược đặt thànhTrue. - 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ếudo_normalizeđược đặt thànhTrue. - 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ếudo_normalizeđược đặt thànhTrue. - 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ấppad_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 khido_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ặcChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width)."channels_last"hoặcChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels)."none"hoặcChannelDimension.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_masktrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_ratiotrongpreprocess. - 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_ratiotrongpreprocess. - 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_resizetrongpreprocess.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_sizetrongpreprocess. - 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_resampletrongpreprocess. - 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ơncodebook_crop_sizedọ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_croptrongpreprocess. - 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_sizetrongpreprocess. - 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_rescaletrongpreprocess. - codebook_rescale_factor (
int, kwargs hoặcfloat, 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_factortrongpreprocess. - 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_pixelstrongpreprocess. - 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ằngcodebook_image_meanvàcodebook_image_stdhay không. Có thể bị ghi đè bởi tham sốcodebook_do_normalizetrongpreprocess. - 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_meantrongpreprocess. - 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_stdtrongpreprocess.
Tạo bộ xử lý ảnh FlavaImageProcessor.
preprocess
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
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 đặtdo_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ụngcenter_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ủaPILImageResampling. Chỉ có hiệu lực khido_resizeđược đặt thànhTrue. - 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ếudo_rescaleđược đặt thànhTrue. - 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ếudo_normalizeđược đặt thànhTrue. - 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ếudo_normalizeđược đặt thànhTrue. - 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ấppad_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 khido_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ặcChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width)."channels_last"hoặcChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels)."none"hoặcChannelDimension.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_masktrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_ratiotrongpreprocess. - 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_ratiotrongpreprocess. - 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_resizetrongpreprocess.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_sizetrongpreprocess. - 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_resampletrongpreprocess. - 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ơncodebook_crop_sizedọ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_croptrongpreprocess. - 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_sizetrongpreprocess. - 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_rescaletrongpreprocess. - codebook_rescale_factor (
int, kwargs hoặcfloat, 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_factortrongpreprocess. - 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_pixelstrongpreprocess. - 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ằngcodebook_image_meanvàcodebook_image_stdhay không. Có thể bị ghi đè bởi tham sốcodebook_do_normalizetrongpreprocess. - 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_meantrongpreprocess. - 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_stdtrongpreprocess.
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
< source >( **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ụngcenter_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ủaPILImageResampling. Chỉ có hiệu lực khido_resizeđược đặt thànhTrue. - 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ếudo_rescaleđược đặt thànhTrue. - 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ếudo_normalizeđược đặt thànhTrue. - 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ếudo_normalizeđược đặt thànhTrue. - 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ấppad_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 khido_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ặcChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width)."channels_last"hoặcChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels)."none"hoặcChannelDimension.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_masktrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_ratiotrongpreprocess. - 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_ratiotrongpreprocess. - 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_resizetrongpreprocess.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_sizetrongpreprocess. - 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_resampletrongpreprocess. - 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ơncodebook_crop_sizedọ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_croptrongpreprocess. - 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_sizetrongpreprocess. - 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_rescaletrongpreprocess. - codebook_rescale_factor (
int, kwargs hoặcfloat, 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_factortrongpreprocess. - 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_pixelstrongpreprocess. - 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ằngcodebook_image_meanvàcodebook_image_stdhay không. Có thể bị ghi đè bởi tham sốcodebook_do_normalizetrongpreprocess. - 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_meantrongpreprocess. - 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_stdtrongpreprocess.
Tạo bộ xử lý ảnh FlavaImageProcessor.
preprocess
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.flava.image_processing_pil_flava.FlavaImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
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 đặtdo_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ụngcenter_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ủaPILImageResampling. Chỉ có hiệu lực khido_resizeđược đặt thànhTrue. - 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ếudo_rescaleđược đặt thànhTrue. - 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ếudo_normalizeđược đặt thànhTrue. - 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ếudo_normalizeđược đặt thànhTrue. - 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ấppad_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 khido_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ặcChannelDimension.FIRST: ảnh ở định dạng (num_channels, height, width)."channels_last"hoặcChannelDimension.LAST: ảnh ở định dạng (height, width, num_channels)."none"hoặcChannelDimension.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_masktrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_patchestrongpreprocess. - 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_ratiotrongpreprocess. - 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_ratiotrongpreprocess. - 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_resizetrongpreprocess.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_sizetrongpreprocess. - 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_resampletrongpreprocess. - 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ơncodebook_crop_sizedọ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_croptrongpreprocess. - 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_sizetrongpreprocess. - 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_rescaletrongpreprocess. - codebook_rescale_factor (
int, kwargs hoặcfloat, 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_factortrongpreprocess. - 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_pixelstrongpreprocess. - 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ằngcodebook_image_meanvàcodebook_image_stdhay không. Có thể bị ghi đè bởi tham sốcodebook_do_normalizetrongpreprocess. - 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_meantrongpreprocess. - 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_stdtrongpreprocess.
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
< source >( 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
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneinput_ids_masked: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.FloatTensor] = Nonecodebook_pixel_values: typing.Optional[torch.FloatTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_unmasked_multimodal_encoder: bool | None = Nonemlm_labels: typing.Optional[torch.Tensor] = Nonemim_labels: typing.Optional[torch.Tensor] = Noneitm_labels: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = Nonereturn_loss: bool | None = None**kwargs ) → FlavaForPreTrainingOutput or tuple(torch.FloatTensor)
Tham số
- input_ids (
torch.LongTensorcó 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.LongTensorcó 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ớiDataCollatorForMaskedLanguageModeling. Xem PreTrainedTokenizer.encode() và PreTrainedTokenizer.call() để biết thêm chi tiết. Input IDs là gì? - pixel_values (
torch.FloatTensorcó 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.FloatTensorcó 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.Tensorcó 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.
- token_type_ids (
torch.LongTensorcó 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.BoolTensorcó 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.LongTensorcó 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]. - image_attention_mask (
torch.FloatTensorcó 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]:- 1 cho các token không bị che,
- 0 cho các token bị che. Mặt nạ chú ý là gì?
- 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.LongTensorcó 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ủainput_ids). Các token có chỉ số được đặt thành-100sẽ 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.LongTensorcó 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-100sẽ 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.LongTensorcó 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. Xemattentionstrong 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. Xemhidden_statestrong 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
Modulesau đó thay vì gọi hàm này, vì instanceModulesẽ đả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ề khireturn_losslà 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ớpFlavaLossesđể biết thông tin về các key. - image_embeddings (
torch.FloatTensorcó 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.FloatTensorcó 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.FloatTensorcó shape(batch_size, output_dim), tùy chọn, được trả về khiinput_idsvàpixel_valuescó mặt vàskip_unmasked_multimodal_encoderlàNonehoặcFalse) — 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ề khiinput_idsvàpixel_valuescó mặt vàskip_unmasked_multimodal_encoderlàNonehoặcFalse) — Đầu ra của FlavaMultimodalModel. - image_masked_embeddings (
torch.FloatTensorcó 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ụngbool_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ụngbool_masked_posđể tạo các hình ảnh bị che. - text_masked_embeddings (
torch.FloatTensorcó 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.FloatTensorcó hình dạng(batch_size, output_dim), tùy chọn, được trả về khi cóinput_idsvà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_maskedvàpixel_values) — Đầu ra của FlavaMultimodalModel. - mim_logits (
torch.FloatTensorcó shape(batch_size, num_image_patches, image_vocab_size)hoặc có shape(total_masked_patches, image_vocab_size), optional, được trả về khipixel_valuescó mặt vàinput_ids_maskedkhông có) — Các logits cho MIM unimodal loss. Sử dụngbool_masked_posđể lấy các patch bị mask. Đầu ra đã được flatten được trả về khibool_masked_poscó một số patch bị mask. - mlm_logits (
torch.FloatTensorcó 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_maskedvà 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ề khiinput_ids_maskedcó một số token bị mask. - itm_logits (
torch.FloatTensorcó shape(batch_size, 2), tùy chọn, được trả về khi cóinput_ids_maskedvà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.FloatTensorcó hình dạng(image_batch_size, text_batch_size)) — Điểm tích vô hướng có tỷ lệ giữaimage_embeddingsvàtext_embeddingsnhưng đã được truyền qua các lớpimage_projectionvàtext_projectioncủ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.FloatTensorcó hình dạng(text_batch_size, image_batch_size)) — Điểm số tích vô hướng có tỷ lệ giữatext_embeddingsvàimage_embeddingsnhưng đã được truyền qua các lớptext_projectionvàimage_projectioncủ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.FloatTensorcó 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_valuesvàinput_ids_masked) — Các logits cho loss đa phương thức hình ảnh MMM. Sử dụngbool_masked_posđể lấy các patch bị mask. Kết quả đầu ra đã được flatten sẽ được trả về khibool_masked_poscó một số patch bị mask. - mmm_text_logits (
torch.FloatTensorcó 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_valuesvà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ề khiinput_ids_maskedcó 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
< source >( 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
< source >( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.FloatTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneimage_attention_mask: typing.Optional[torch.Tensor] = Noneskip_multimodal_encoder: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool = Truereturn_dict: bool | None = None**kwargs ) → FlavaModelOutput or tuple(torch.FloatTensor)
Tham số
- input_ids (
torch.LongTensorcó 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.FloatTensorcó 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.Tensorcó 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.
- token_type_ids (
torch.LongTensorcó 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.BoolTensorcó 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.LongTensorcó 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]. - image_attention_mask (
torch.Tensorcó 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. Xemattentionstrong 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. Xemhidden_statestrong 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
Modulesau đó thay vì gọi hàm này, vì instanceModulesẽ đả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.FloatTensorcó 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.FloatTensorcó 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.FloatTensorcó shape(batch_size, output_dim), tùy chọn, được trả về khiinput_idsvàpixel_valuescó mặt vàskip_multimodal_encoderlàNonehoặcFalse) — 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ề khiinput_idsvàpixel_valuescó mặt vàskip_multimodal_encoderlàNonehoặcFalse) — Đầ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
< source >( input_ids: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)
Tham số
- input_ids (
torch.LongTensorcó 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.Tensorcó 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.
- token_type_ids (
torch.LongTensorcó 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.Tensorcó 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].
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.FloatTensorcó 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.FloatTensorcó 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ề khioutput_hidden_states=Trueđược truyền vào hoặc khiconfig.output_hidden_states=True) — Bộ tuple củatorch.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ề khioutput_attentions=Trueđược truyền vào hoặc khiconfig.output_attentions=True) — Bộ tuple củatorch.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
< source >( pixel_values: Tensorbool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)
Tham số
- pixel_values (
torch.Tensorcó 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.BoolTensorcó 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.Tensorcó 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.
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.FloatTensorcó 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.FloatTensorcó 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ề khioutput_hidden_states=Trueđược truyền vào hoặc khiconfig.output_hidden_states=True) — Bộ tuple củatorch.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ề khioutput_attentions=Trueđược truyền vào hoặc khiconfig.output_attentions=True) — Bộ tuple củatorch.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
< source >( 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.
FlavaTextModel
lớp transformers.FlavaTextModel
< source >( 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
< source >( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)
Tham số
- input_ids (
torch.LongTensorcó 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.Tensorcó 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.
- token_type_ids (
torch.LongTensorcó 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.Tensorcó 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]. - 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. Xemattentionstrong 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. Xemhidden_statestrong 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
Modulesau đó thay vì gọi hàm này, vì instanceModulesẽ đả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.FloatTensorcó 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.FloatTensorcó 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ề khioutput_hidden_states=Trueđược truyền vào hoặc khiconfig.output_hidden_states=True) — Bộ tuple củatorch.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ề khioutput_attentions=Trueđược truyền vào hoặc khiconfig.output_attentions=True) — Bộ tuple củatorch.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
< source >( 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
< source >( pixel_values: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.BoolTensor] = Noneinterpolate_pos_encoding: bool | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)
Tham số
- pixel_values (
torch.Tensorcó 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.BoolTensorcó 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.Tensorcó 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.
- 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. Xemattentionstrong 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. Xemhidden_statestrong 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
Modulesau đó thay vì gọi hàm này, vì instanceModulesẽ đả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.FloatTensorcó 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.FloatTensorcó 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ề khioutput_hidden_states=Trueđược truyền vào hoặc khiconfig.output_hidden_states=True) — Bộ tuple củatorch.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ề khioutput_attentions=Trueđược truyền vào hoặc khiconfig.output_attentions=True) — Bộ tuple củatorch.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
< source >( 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
< source >( hidden_states: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)
Tham số
- hidden_states (
torch.FloatTensorcó 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.Tensorcó 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.
- 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. Xemattentionstrong 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. Xemhidden_statestrong 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
Modulesau đó thay vì gọi hàm này, vì instanceModulesẽ đả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.FloatTensorcó 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.FloatTensorcó 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ề khioutput_hidden_states=Trueđược truyền vào hoặc khiconfig.output_hidden_states=True) — Bộ tuple củatorch.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ề khioutput_attentions=Trueđược truyền vào hoặc khiconfig.output_attentions=True) — Bộ tuple củatorch.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.