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.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Эта модель была опубликована в HF papers 17.09.2021 и добавлена в Hugging Face Transformers 13.03.2026.

PPLCNetV3

PPLCNetV3 — это лёгкий свёрточный бэкбон, оптимизированный для CPU, предназначенный для эффективной классификации изображений и других задач компьютерного зрения. Он основан на архитектуре PP-LCNet и дополнен улучшенными стратегиями обучения и структурными доработками, обеспечивающими более оптимальный баланс между точностью и задержкой на CPU-оборудовании.

Примечания

  • PPLCNetV3 предоставляется только в качестве базовой сети. Официально не выпущена предварительно обученная контрольная точка для классификации изображений.

PPLCNetV3Config

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

Параметры

  • scale (float, необязательный, по умолчанию 1.0) — Коэффициент масштабирования размерности каналов модели, используемый для изменения размера модели и вычислительных затрат без изменения общей архитектуры (например, 0.25, 0.5, 1.0, 1.5).
  • block_configs (list[list[tuple]], необязательный, по умолчанию None) — Конфигурация для каждого блока на каждом этапе. Каждый кортеж содержит: (kernel_size, in_channels, out_channels, stride, use_squeeze_excitation). Если None, используется конфигурация PP-LCNet по умолчанию.
  • stem_channels (int, необязательный, по умолчанию 16) — Количество выходных каналов для стебельного слоя.
  • stem_stride (int, необязательный, по умолчанию 2) — Шаг для слоя свёртки stem.
  • reduction (int, необязательный, по умолчанию 4) — Коэффициент редукции размерности каналов признаков в блоках squeeze-and-excitation (SE), используемый для уменьшения числа параметров модели и вычислительной сложности при сохранении выразительности признаков.
  • divisor (int, необязательный, по умолчанию 8) — Делитель, используемый для обеспечения того, чтобы различные параметры модели (например, размерности каналов, размеры ядер) были кратны этому значению, что способствует эффективной реализации модели и использованию ресурсов.
  • hidden_act (str, необязательный, по умолчанию hardswish) — Нелинейная функция активации (функция или строка) в декодере. Например, "gelu", "relu", "silu" и т. д.
  • conv_symmetric_num (int, необязательный, по умолчанию 4) — Количество kxk-свёрточных ветвей в обучаемом слое репараметризации, используемое для повышения способности извлекать признаки благодаря многоветвистой архитектуре на этапе обучения и обеспечивающее эффективный инференс за счёт структурной репараметризации.

Это класс конфигурации для хранения настроек модели Pp Lcnet V3Model. Он используется для создания модели Pp Lcnet V3 в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации PaddlePaddle/Not_yet_released

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

PPLCNetV3Backbone

класс transformers.PPLCNetV3Backbone

< >

( config: PPLCNetV3Config )

Параметры

  • config (PPLCNetV3Config) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.

Базовая модель PPLCNetV3 для извлечения признаков.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

forward

< >

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

Параметры

  • pixel_values (torch.Tensor формы (batch_size, num_channels, image_size, image_size)) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью image_processor_class. Подробности см. в image_processor_class.__call__ (processor_class использует image_processor_class для обработки изображений).

Возвращает

BackboneOutput или tuple(torch.Tensor)

BackboneOutput или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (PPLCNetV3Config) и входных данных.

Метод forward класса PPLCNetV3Backbone переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • feature_maps (tuple(torch.Tensor) формы (batch_size, num_channels, height, width)) — Карты признаков на каждом этапе.

  • hidden_states (tuple(torch.Tensor), необязательный, возвращается при передаче output_hidden_states=True или при config.output_hidden_states=True) — Кортеж из torch.Tensor (один для вывода эмбеддингов + один для вывода каждого слоя) с формой (batch_size, sequence_length, hidden_size) или (batch_size, num_channels, height, width) в зависимости от базовой модели.

    Скрытые состояния модели на выходе каждого этапа, а также выходные значения начального слоя встраивания.

  • attentions (tuple(torch.Tensor), необязательный, возвращается при передаче output_attentions=True или при config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (batch_size, num_heads, sequence_length, sequence_length). Применимо только в том случае, если базовая модель использует механизм внимания.

    Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

Примеры:

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