Transformers documentation
PPLCNetV4
Эта модель была добавлена в Hugging Face Transformers 19.05.2026.
PPLCNetV4
PPLCNetV4 предоставляется только в качестве базовой сети. Официально не выпущена предварительно обученная контрольная точка для классификации изображений.
PPLCNetV4Config
класс transformers.PPLCNetV4Config
< source >( 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
< source >( config: PPLCNetV4Config )
Параметры
- config (PPLCNetV4Config) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.
Базовая модель PPLCNetV4 для извлечения признаков.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
forward
< source >( 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)