Transformers documentation

Backbone

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

Backbone

Backbone là một mô hình được sử dụng để trích xuất đặc trưng cho các tác vụ thị giác máy tính cấp cao hơn như phát hiện đối tượng và phân loại ảnh. Transformers cung cấp lớp AutoBackbone để khởi tạo một backbone của Transformers từ trọng số mô hình được huấn luyện trước, cùng hai lớp tiện ích:

  • BackboneMixin cho phép khởi tạo một backbone từ Transformers hoặc timm và bao gồm các hàm để trả về các đặc trưng đầu ra và các chỉ số.
  • BackboneConfigMixin thiết lập các đặc trưng đầu ra và chỉ số của cấu hình backbone.

Các mô hình timm được nạp bằng các lớp TimmBackbone và TimmBackboneConfig.

Backbones được hỗ trợ cho các mô hình sau:

AutoBackbone

lớp transformers.AutoBackbone

< >

( *args**kwargs )

BackboneMixin

lớp transformers.BackboneMixin

< >

( *args**kwargs )

post_init

< >

( )

Ghi đè post_init để luôn cài đặt các hook bắt (capturing), vì backbone sẽ LUÔN bắt các đầu ra. Chúng ta cần thực hiện điều này trong post_init, vì các module cần phải đã được khởi tạo. Điều này tránh được một số nhầm lẫn với torch.compile, vì việc cài đặt hook đầu tiên sẽ cần/tạo ra một điểm ngắt đồ thị (graph break), điều này có thể xung đột với các lời gọi từ người dùng bên ngoài như model = torch.compile(model...).

BackboneConfigMixin

lớp transformers.BackboneConfigMixin

< >

( )

Một Mixin để hỗ trợ xử lý các thuộc tính out_features và out_indices cho các cấu hình backbone.

set_output_features_output_indices

< >

( out_features: list | Noneout_indices: list | None )

Tham số

  • out_features (list[str], tùy chọn) — Tên của các đặc trưng mà backbone sẽ xuất ra. Mặc định là config._out_features nếu không được cung cấp.
  • out_indices (list[int] hoặc tuple[int], tùy chọn) — Các chỉ số của các đặc trưng để backbone xuất ra. Mặc định là config._out_indices nếu không được cung cấp.

Đặt các chỉ số và đặc trưng đầu ra thành các giá trị mới và căn chỉnh chúng với stage_names đã cho. Nếu một trong các đầu vào không được cung cấp, tìm out_features hoặc out_indices tương ứng cho stage_names đã cho.

to_dict

< >

( )

Chuẩn hóa bản thể này thành một từ điển Python. Ghi đè to_dict() mặc định từ PreTrainedConfig để bao gồm các thuộc tính out_features và out_indices.

verify_out_features_out_indices

< >

( )

Kiểm tra xem out_indices và out_features có hợp lệ cho stage_names đã cho hay không.

TimmBackbone

lớp transformers.TimmBackbone

< >

( config: TimmBackboneConfig**kwargs )

Lớp wrapper cho các mô hình timm để sử dụng làm backbone. Điều này cho phép sử dụng các mô hình timm thay thế cho các mô hình khác trong thư viện trong khi vẫn giữ nguyên API.

TimmBackboneConfig

lớp transformers.TimmBackboneConfig

< >

( 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 = Nonebackbone: str | None = Nonenum_channels: int = 3features_only: bool = True_out_indices: list[int] | None = Nonefreeze_batch_norm_2d: bool = Falseoutput_stride: int | None = None )

Tham số

  • backbone (str, tùy chọn) — Checkpoint timm cần tải.
  • num_channels (int, tùy chọn, mặc định là 3) — Số lượng kênh đầu vào.
  • features_only (bool, tùy chọn, mặc định là True) — Có chỉ xuất ra các đặc trưng hay cả logits hay không.
  • freeze_batch_norm_2d (bool, tùy chọn, mặc định là False) — Chuyển đổi tất cả các lớp BatchNorm2d và SyncBatchNorm của module được cung cấp thành FrozenBatchNorm2d.
  • output_stride (int, tùy chọn) — Tỷ lệ giữa độ phân giải không gian của bản đồ đặc trưng đầu vào và đầu ra.

Đây là lớp cấu hình để lưu trữ cấu hình của một TimmBackbone. Nó được sử dụng để khởi tạo một mô hình Timm Backbone theo các đối số được chỉ định, xác định kiến trúc 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

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 TimmBackboneConfig, TimmBackbone

>>> # Initializing a timm backbone
>>> configuration = TimmBackboneConfig("resnet50")

>>> # Initializing a model from the configuration
>>> model = TimmBackbone(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
Update on GitHub