Transformers documentation

PPLCNetV3

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

and get access to the augmented documentation experience

to get started

Mô hình này được công bố trên HF papers vào ngày 2021-09-17 và được đóng góp cho Hugging Face Transformers vào ngày 2026-03-13.

PPLCNetV3

PPLCNetV3 là một backbone tích chập tối ưu cho CPU, có kích thước nhẹ, được thiết kế cho phân loại ảnh hiệu quả và các tác vụ thị giác tiếp theo. Nó được xây dựng dựa trên kiến trúc PP-LCNet với các chiến lược huấn luyện được cải tiến và các tinh chỉnh cấu trúc để đạt được sự đánh đổi giữa độ chính xác và độ trễ tốt hơn trên phần cứng CPU.

Ghi chú

  • PPLCNetV3 chỉ được cung cấp dưới dạng mạng xương sống. Chưa có checkpoint phân loại hình ảnh được huấn luyện trước nào được phát hành chính thức.

PPLCNetV3Config

lớp transformers.PPLCNetV3Config

< >

( 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 = Nonescale: float | int = 1.0block_configs: list | None = Nonestem_channels: int = 16stem_stride: int = 2reduction: int = 4divisor: int = 8hidden_act: str = 'hardswish'_out_features: list[str] | None = None_out_indices: list[int] | None = Noneconv_symmetric_num: int = 4 )

Tham số

  • scale (float, tuỳ chọn, mặc định là 1.0) — Hệ số tỷ lệ cho các chiều kênh của mô hình, được sử dụng để điều chỉnh kích thước mô hình và chi phí tính toán mà không thay đổi kiến trúc tổng thể (ví dụ: 0.25, 0.5, 1.0, 1.5).
  • block_configs (list[list[tuple]], tùy chọn, mặc định là None) — Cấu hình cho từng khối trong mỗi giai đoạn. Mỗi tuple chứa: (kernel_size, in_channels, out_channels, stride, use_squeeze_excitation). Nếu là None, sẽ sử dụng cấu hình PP-LCNet mặc định.
  • stem_channels (int, tùy chọn, mặc định là 16) — Số lượng kênh đầu ra của lớp stem.
  • stem_stride (int, tùy chọn, mặc định là 2) — Stride cho lớp convolution của stem.
  • reduction (int, tuỳ chọn, mặc định là 4) — Hệ số giảm kích thước cho chiều kênh đặc trưng trong các khối squeeze-and-excitation (SE), được sử dụng để giảm số lượng tham số của mô hình và độ phức tạp tính toán trong khi vẫn duy trì khả năng biểu diễn đặc trưng.
  • divisor (int, tuỳ chọn, mặc định là 8) — Hệ số chia được sử dụng để đảm bảo rằng các tham số mô hình khác nhau (ví dụ: số chiều kênh, kích thước nhân) là bội số của giá trị này, nhằm thúc đẩy việc triển khai mô hình hiệu quả và tối ưu hóa việc sử dụng tài nguyên.
  • hidden_act (str, tùy chọn, mặc định là hardswish) — 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.
  • conv_symmetric_num (int, tuỳ chọn, mặc định là 4) — Số lượng nhánh convolution kxk trong lớp reparameterization có thể học, được sử dụng để tăng cường khả năng trích xuất đặc trưng thông qua kiến trúc đa nhánh trong quá trình huấn luyện, đồng thời cho phép suy luận hiệu quả thông qua reparameterization cấu trúc.

Đây là lớp cấu hình để lưu trữ cấu hình của một Pp Lcnet V3Model. Nó được sử dụng để khởi tạo một mô hình Pp Lcnet V3 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 PaddlePaddle/Not_yet_released

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.

PPLCNetV3Backbone

lớp transformers.PPLCNetV3Backbone

< >

( config: PPLCNetV3Config )

Tham số

  • config (PPLCNetV3Config) — 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 backbone PPLCNetV3 để trích xuất đặc trưng.

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

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

forward

< >

( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BackboneOutput or tuple(torch.Tensor)

Tham số

  • pixel_values (torch.Tensor có hình dạng (batch_size, num_channels, image_size, image_size)) — Các tensor tương ứng với các hình ảnh đầu vào. Giá trị pixel có thể được lấy bằng cách sử dụng image_processor_class. Xem image_processor_class.__call__ để biết chi tiết (processor_class sử dụng image_processor_class để xử lý hình ảnh).

Trả về

BackboneOutput hoặc tuple(torch.Tensor)

Một BackboneOutput hoặc một tuple của torch.Tensor (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 (PPLCNetV3Config) và đầu vào.

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

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

  • feature_maps (tuple(torch.Tensor) có hình dạng (batch_size, num_channels, height, width)) — Bản đồ đặc trưng của các giai đoạn.

  • hidden_states (tuple(torch.Tensor), tùy chọn, được trả về khi truyền output_hidden_states=True hoặc khi config.output_hidden_states=True) — Bộ tuple các torch.Tensor (một cho đầu ra của embeddings + một cho đầu ra của mỗi lớp) có shape (batch_size, sequence_length, hidden_size) hoặc (batch_size, num_channels, height, width), tùy thuộc vào backbone.

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

  • attentions (tuple(torch.Tensor), tuỳ chọn, được trả về khi truyền output_attentions=True hoặc khi config.output_attentions=True) — Tuple của torch.Tensor (một cho mỗi lớp) có hình dạng (batch_size, num_heads, sequence_length, sequence_length). Chỉ áp dụng nếu backbone sử dụng attention.

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

>>> from transformers import PPLCNetV3Config, PPLCNetV3Backbone
>>> import torch

>>> config = PPLCNetV3Config()
>>> model = PPLCNetV3Backbone(config)

>>> pixel_values = torch.randn(1, 3, 224, 224)

>>> with torch.no_grad():
...     outputs = model(pixel_values)

>>> feature_maps = outputs.feature_maps
>>> list(feature_maps[-1].shape)
Update on GitHub