Transformers documentation
PPLCNetV3
이 모델은 2021-09-17에 HF papers에 게시되었으며, 2026-03-13에 Hugging Face Transformers에 기여되었습니다.
PPLCNetV3
PPLCNetV3는 효율적인 이미지 분류 및 하위 비전 작업을 위해 설계된 경량 CPU 최적화 컨볼루션 백본입니다. PP-LCNet 아키텍처를 기반으로 하며, CPU 하드웨어에서 정확도와 지연 시간 간의 트레이드오프를 개선하기 위해 향상된 학습 전략과 구조적 정교화를 적용했습니다.
The input is a single word "Notes". 참고
- PPLCNetV3는 백본 네트워크로만 제공됩니다. 사전 학습된 이미지 분류 체크포인트는 공식적으로 공개되지 않았습니다.
PPLCNetV3Config
클래스 transformers.PPLCNetV3Config
< 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: 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 layer의 출력 채널 수입니다. - stem_stride (
int, 선택 사항, 기본값 2) — stem convolution layer의 stride입니다. - reduction (
int, 선택 사항, 기본값 4) — squeeze-and-excitation(SE) 블록에서 feature channel 차원의 축소 계수입니다. feature의 표현력을 유지하면서 모델의 매개변수 수와 계산 복잡도를 줄이는 데 사용됩니다. - divisor (
int, 선택 사항, 기본값 8) — 다양한 모델 파라미터(예: 채널 차원, 커널 크기)가 이 값의 배수가 되도록 보장하는 데 사용되는 나눗셈 값입니다. 이를 통해 모델 구현과 리소스 활용의 효율성을 높일 수 있습니다. - hidden_act (
str, 선택 사항, 기본값hardswish) — 디코더에서 사용되는 비선형 활성화 함수(함수 또는 문자열)입니다. 예를 들어,"gelu","relu","silu"등이 있습니다. - conv_symmetric_num (
int, 선택 사항, 기본값4) — 학습 가능한 재매개변수화(reparameterization) 레이어에서 kxk 컨볼루션 브랜치의 수입니다. 학습 시 멀티 브랜치 아키텍처를 통해 특징 추출 능력을 강화하고, 추론 시 구조적 재매개변수화를 통해 효율적인 추론을 가능하게 합니다.
이것은 Pp Lcnet V3Model의 설정을 저장하기 위한 설정 클래스입니다. 지정된 인수를 기반으로 Pp Lcnet V3 모델을 인스턴스화하여 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 설정을 인스턴스화하면 PaddlePaddle/Not_yet_released와 유사한 설정이 생성됩니다.
Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.
PPLCNetV3Backbone
class transformers.PPLCNetV3Backbone
< source >( config: PPLCNetV3Config )
매개변수
- config (PPLCNetV3Config) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 연관된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
특징 추출을 위한 PPLCNetV3 백본 모델.
이 모델은 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인 경우)로, 구성(PPLCNetV3Config)과 입력에 따라 다양한 요소를 포함합니다.
PPLCNetV3Backbone의 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 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)