Transformers documentation

PPLCNetV4

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

Эта модель была добавлена в Hugging Face Transformers 19.05.2026.

PPLCNetV4

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

PPLCNetV4Config

класс transformers.PPLCNetV4Config

< >

( 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: list[int] | tuple[int, ...] = (3, 48, 96)reduction: int = 4hidden_act: str = 'relu'_out_features: list[str] | None = None_out_indices: list[int] | None = Nonenum_channels: int = 3stem_strides: Sequence = (2, 1, 1, 2, 1)stem_type: str = 'large'use_learnable_affine_block: bool = False )

Параметры

  • 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 (list[int], необязательный, по умолчанию [3, 48, 96]) — Размерность каналов для stem-слоёв:
    • Первое число (3) — это количество каналов входного изображения
    • Второе число (48) — это количество промежуточных каналов стебля
    • Третье число (96) — это количество каналов выходного стебля
  • reduction (int, необязательный, по умолчанию 4) — Коэффициент редукции размерности каналов признаков в блоках squeeze-and-excitation (SE), используемый для уменьшения числа параметров модели и вычислительной сложности при сохранении выразительности признаков.
  • hidden_act (str, необязательный, по умолчанию relu) — Нелинейная функция активации (функция или строка) в декодере. Например, "gelu", "relu", "silu" и т. д.
  • num_channels (int, необязательный, по умолчанию 3) — Количество входных каналов.
  • stem_strides (Sequence[int | list[int] | tuple[int, ...]], необязательный, по умолчанию (2, 1, 1, 2, 1)) — Шаги (strides) для слоёв stem.
  • stem_type (str, необязательный, по умолчанию large) — Тип используемого стебельного слоя. Допустимые значения:
    • "large": стандартный стем PP-LCNetV4.
    • "small": вариант с меньшими размерами каналов.
  • use_learnable_affine_block (bool, необязательный, по умолчанию False) — Указывает, следует ли использовать блоки Learnable Affine Blocks (LAB) в сети. LAB добавляет обучаемые параметры масштаба и смещения после определённых операций.

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

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

PPLCNetV4Backbone

класс transformers.PPLCNetV4Backbone

< >

( config: PPLCNetV4Config )

Параметры

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

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

Эта модель наследуется от 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), содержащий различные элементы в зависимости от конфигурации (PPLCNetV4Config) и входных данных.

Метод forward класса PPLCNetV4Backbone переопределяет специальный метод __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 PPLCNetV4Config, PPLCNetV4Backbone
>>> import torch

>>> config = PPLCNetV4Config()
>>> model = PPLCNetV4Backbone(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