Transformers documentation

Backbone

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