Transformers documentation
PPLCNetV4
이 모델은 2026-05-19에 Hugging Face Transformers에 기여되었습니다.
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)는 중간 stem 채널 수입니다
- 세 번째 숫자(96)는 출력 스템 채널 수입니다
- reduction (
int, 선택 사항, 기본값 4) — squeeze-and-excitation(SE) 블록에서 feature channel 차원의 축소 계수입니다. feature의 표현력을 유지하면서 모델의 매개변수 수와 계산 복잡도를 줄이는 데 사용됩니다. - hidden_act (
str, 선택 사항, 기본값relu) — 디코더의 비선형 활성화 함수(함수 또는 문자열)입니다. 예를 들어,"gelu","relu","silu"등이 있습니다. - num_channels (
int, 선택 사항, 기본값3) — 입력 채널의 수입니다. - stem_strides (
Sequence[int | list[int] | tuple[int, ...]], 선택 사항, 기본값(2, 1, 1, 2, 1)) — stem 레이어의 스트라이드 패턴입니다. - stem_type (
str, 선택 사항, 기본값은large) — 사용할 stem 레이어의 유형입니다. 다음 중 하나를 사용할 수 있습니다:"large": 표준 PP-LCNetV4 stem."small": 채널 차원이 더 작은 변형입니다.
- use_learnable_affine_block (
bool, 선택 사항, 기본값False) — 네트워크에서 Learnable Affine Blocks(LAB)를 사용할지 여부입니다. LAB은 특정 연산 이후에 학습 가능한 scale 및 bias 매개변수를 추가합니다.
이것은 Pp Lcnet V4Model의 구성을 저장하기 위한 구성 클래스입니다. 지정된 인자에 따라 Pp Lcnet V4 모델을 인스턴스화하고 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 구성을 인스턴스화하면 PaddlePaddle/Not_yet_released와 유사한 구성이 생성됩니다.
Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.
PPLCNetV4Backbone
class transformers.PPLCNetV4Backbone
< source >( config: PPLCNetV4Config )
매개변수
- config (PPLCNetV4Config) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 연관된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
PPLCNetV4 백본 모델로, 특징 추출에 사용됩니다.
이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.
이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.
forward
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BackboneOutput or tuple(torch.Tensor)
매개변수
- pixel_values (
torch.Tensor, shape(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)과 입력에 따라 다양한 요소를 포함합니다.
PPLCNetV4Backbone의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.
이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신
Module인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.
feature_maps (
tuple(torch.Tensor), shape(batch_size, num_channels, height, width)) — 각 단계의 feature map입니다.hidden_states (
tuple(torch.Tensor), 선택 사항,output_hidden_states=True가 전달되었거나config.output_hidden_states=True인 경우 반환됨) — 임베딩의 출력 하나와 각 레이어의 출력 하나씩을 포함하는torch.Tensor의 튜플로, 백본에 따라 shape가(batch_size, sequence_length, hidden_size)또는(batch_size, num_channels, height, width)입니다.각 단계의 출력에서 모델의 Hidden-states와 초기 임베딩 출력을 포함합니다.
attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되었거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다. 백본이 attention을 사용하는 경우에만 적용됩니다.self-attention 헤드에서 가중 평균을 계산하는 데 사용되는 attention softmax 이후의 attention 가중치.
예:
>>> 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)