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 — это модель, используемая для извлечения признаков для задач компьютерного зрения высокого уровня, таких как обнаружение объектов и классификация изображений. Transformers предоставляет класс AutoBackbone для инициализации backbone Transformers из предобученных весов модели, а также два вспомогательных класса:

  • BackboneMixin позволяет инициализировать backbone из Transformers или timm и включает функции для возврата выходных признаков и индексов.
  • BackboneConfigMixin задаёт выходные признаки и индексы конфигурации бэкбона.

Модели timm загружаются с помощью классов TimmBackbone и TimmBackboneConfig.

Backbones поддерживаются для следующих моделей:

AutoBackbone

класс transformers.AutoBackbone

< >

( *args**kwargs )

BackboneMixin

класс transformers.BackboneMixin

< >

( *args**kwargs )

post_init

< >

( )

Переопределите post_init, чтобы всегда устанавливать хуки перехвата, так как backbone ВСЕГДА перехватывает выходные данные. Это необходимо сделать в post_init, поскольку модули должны быть уже созданы. Это позволяет избежать некоторых проблем с torch.compile, так как первая установка хука потребует/создаст разрыв графа, что может конфликтовать с внешним вызовом пользователя, например model = torch.compile(model...).

BackboneConfigMixin

класс transformers.BackboneConfigMixin

< >

( )

Миксин для поддержки обработки атрибутов out_features и out_indices в конфигурациях backbone.

set_output_features_output_indices

< >

( out_features: list | Noneout_indices: list | None )

Параметры

  • out_features (list[str], необязательный) — Имена признаков, которые должен выводить backbone. По умолчанию используется config._out_features, если значение не указано.
  • out_indices (list[int] or tuple[int], необязательный) — Индексы признаков, которые должен выводить backbone. По умолчанию используется config._out_indices, если значение не указано.

Устанавливает выходные индексы и признаки в новые значения и выравнивает их с указанными stage_names. Если один из входных параметров не задан, находит соответствующие out_features или out_indices для указанных stage_names.

to_dict

< >

( )

Сериализует этот экземпляр в словарь Python. Переопределяет стандартный to_dict() из PreTrainedConfig, чтобы включить атрибуты out_features и out_indices.

verify_out_features_out_indices

< >

( )

Убедитесь, что out_indices и out_features допустимы для указанных stage_names.

TimmBackbone

класс transformers.TimmBackbone

< >

( config: TimmBackboneConfig**kwargs )

Обёртка для моделей timm, используемых в качестве базовых моделей (backbone). Это позволяет использовать модели timm взаимозаменяемо с другими моделями в библиотеке, сохраняя тот же API.

TimmBackboneConfig

класс 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 )

Параметры

  • backbone (str, необязательный) — Чекпоинт timm для загрузки.
  • num_channels (int, необязательный, по умолчанию 3) — Количество входных каналов.
  • features_only (bool, необязательный, по умолчанию True) — Определяет, следует ли выводить только признаки или также логиты.
  • freeze_batch_norm_2d (bool, необязательный, по умолчанию False) — Преобразует все слои BatchNorm2d и SyncBatchNorm переданного модуля в FrozenBatchNorm2d.
  • output_stride (int, необязательный) — Соотношение между пространственным разрешением входных и выходных карт признаков.

Это класс конфигурации для хранения настроек TimmBackbone. Он используется для создания модели Timm Backbone в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

Пример:

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