Transformers documentation

HGNet-V2

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

Model ini disumbangkan ke Hugging Face Transformers pada 2025-04-29.

HGNet-V2

HGNetV2 adalah tulang punggung jaringan saraf konvolusional (CNN) generasi berikutnya yang dibangun untuk perbandingan akurasi-latensi optimal pada GPU NVIDIA. Berangkat dari HGNet asli, HGNetV2 menghadirkan akurasi tinggi dengan kecepatan inferensi yang cepat dan menunjukkan kinerja yang kuat pada tugas-tugas seperti klasifikasi gambar, deteksi objek, dan segmentasi, menjadikannya pilihan praktis untuk aplikasi visi komputer berbasis GPU.

Anda dapat menemukan semua model asli HGNet V2 di bawah organisasi USTC.

Model ini disumbangkan oleh VladOS95-cyber. Klik model HGNet V2 di bilah sisi kanan untuk melihat lebih banyak contoh penerapan HGNet V2 pada berbagai tugas computer vision.

Contoh di bawah ini menunjukkan cara mengklasifikasikan gambar dengan Pipeline atau kelas AutoModel.

Pipeline
AutoModel
from transformers import pipeline


pipeline = pipeline(
    task="image-classification",
    model="ustc-community/hgnet-v2",
    device=0
)
pipeline("http://images.cocodataset.org/val2017/000000039769.jpg")

HGNetV2Config

kelas transformers.HGNetV2Config

< >

( 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 = Nonenum_channels: int = 3embedding_size: int = 64depths: list[int] | tuple[int, ...] = (3, 4, 6, 3)hidden_sizes: list[int] | tuple[int, ...] = (256, 512, 1024, 2048)hidden_act: str = 'relu'_out_features: list[str] | None = None_out_indices: list[int] | None = Nonestem_channels: list[int] | tuple[int, ...] = (3, 32, 48)stem_strides: Sequence = (2, 1, 1, 2, 1)stage_in_channels: list[int] | tuple[int, ...] = (48, 128, 512, 1024)stage_mid_channels: list[int] | tuple[int, ...] = (48, 96, 192, 384)stage_out_channels: list[int] | tuple[int, ...] = (128, 512, 1024, 2048)stage_num_blocks: list[int] | tuple[int, ...] = (1, 1, 3, 1)stage_downsample: list[bool] | tuple[bool, ...] = (False, True, True, True)stage_downsample_strides: Sequence = (2, 2, 2, 2)stage_light_block: list[bool] | tuple[bool, ...] = (False, False, True, True)stage_kernel_size: list[int] | tuple[int, ...] = (3, 3, 5, 5)stage_numb_of_layers: list[int] | tuple[int, ...] = (6, 6, 6, 6)use_learnable_affine_block: bool = Falseinitializer_range: float = 0.02 )

Parameter

  • num_channels (int, opsional, defaultnya 3) — Jumlah saluran input.
  • embedding_size (int, opsional, defaultnya 64) — Dimensi dari embedding dan hidden states.
  • depths (Union[list[int], tuple[int, ...]], opsional, default (3, 4, 6, 3)) — Kedalaman setiap layer dalam Transformer.
  • hidden_sizes (Union[list[int], tuple[int, ...]], opsional, default (256, 512, 1024, 2048)) — Dimensi (hidden size) pada setiap tahap model.
  • hidden_act (str, opsional, defaultnya relu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • stem_channels (list[int], opsional, defaultnya [3, 32, 48]) — Dimensi channel untuk lapisan stem:
    • Angka pertama (3) adalah saluran gambar input
    • Angka kedua (32) adalah kanal batang antara
    • Angka ketiga (48) adalah kanal batang output
  • stem_strides (Sequence[int | list[int] | tuple[int, ...]], opsional, default (2, 1, 1, 2, 1)) — Pola stride untuk lapisan stem.
  • stage_in_channels (list[int], opsional, default [48, 128, 512, 1024]) — Dimensi channel input untuk setiap stage dari backbone. Ini mendefinisikan berapa banyak channel yang akan dimiliki input untuk setiap stage.
  • stage_mid_channels (list[int], opsional, default [48, 96, 192, 384]) — Dimensi mid-channel untuk setiap stage dari backbone. Ini mendefinisikan jumlah channel yang digunakan di lapisan intermediate dari setiap stage.
  • stage_out_channels (list[int], opsional, default [128, 512, 1024, 2048]) — Dimensi kanal output untuk setiap stage dari backbone. Ini menentukan berapa banyak kanal yang akan dimiliki output dari setiap stage.
  • stage_num_blocks (list[int], opsional, default [1, 1, 3, 1]) — Jumlah blok yang digunakan di setiap tahap backbone. Ini mengontrol kedalaman setiap tahap dengan menentukan berapa banyak blok konvolusional yang ditumpuk.
  • stage_downsample (list[bool], opsional, default [False, True, True, True]) — Menunjukkan apakah peta fitur akan diturunkan samplanya (downsample) pada setiap tahap. Jika True, dimensi spasial dari peta fitur akan dikurangi.
  • stage_downsample_strides (Sequence[int | list[int] | tuple[int, ...]], opsional, default (2, 2, 2, 2)) — Pola stride untuk setiap lapisan stage.
  • stage_light_block (list[bool], opsional, defaultnya [False, False, True, True]) — Menunjukkan apakah akan menggunakan light block di setiap stage. Light block adalah varian dari blok konvolusional yang mungkin memiliki lebih sedikit parameter.
  • stage_kernel_size (list[int], opsional, defaultnya [3, 3, 5, 5]) — Ukuran kernel untuk lapisan konvolusional di setiap tahap.
  • stage_numb_of_layers (list[int], opsional, default [6, 6, 6, 6]) — Jumlah layer yang akan digunakan di setiap blok dari stage.
  • use_learnable_affine_block (bool, opsional, default False) — Apakah akan menggunakan Learnable Affine Blocks (LAB) dalam jaringan. LAB menambahkan parameter skala dan bias yang dapat dipelajari setelah operasi tertentu.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari HGNetV2Backbone. Kelas ini digunakan untuk membuat model Hgnet V2 sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari ustc-community/dfine_x_coco

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

HGNetV2Backbone

kelas transformers.HGNetV2Backbone

< >

( config: HGNetV2Config )

forward

< >

( pixel_values: Tensoroutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → BackboneOutput or tuple(torch.Tensor)

Parameter

  • pixel_values (torch.Tensor dengan bentuk (batch_size, num_channels, image_size, image_size)) — Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan image_processor_class. Lihat image_processor_class.__call__ untuk detailnya (processor_class menggunakan image_processor_class untuk memproses gambar).
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • return_dict (bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa.

Mengembalikan

BackboneOutput atau tuple(torch.Tensor)

BackboneOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (HGNetV2Config) dan input.

Metode forward dari HGNetV2Backbone menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • feature_maps (tuple(torch.Tensor) dengan bentuk (batch_size, num_channels, height, width)) — Feature maps dari setiap tahap.

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output embeddings + satu untuk output setiap layer) dengan bentuk (batch_size, sequence_length, hidden_size) atau (batch_size, num_channels, height, width), tergantung pada backbone.

    Hidden-states model pada output setiap tahap ditambah output embedding awal.

  • attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length). Hanya berlaku jika backbone menggunakan attention.

    Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

Contoh:

>>> from transformers import HGNetV2Config, HGNetV2Backbone
>>> import torch

>>> config = HGNetV2Config()
>>> model = HGNetV2Backbone(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)
[1, 2048, 7, 7]

HGNetV2ForImageClassification

kelas transformers.HGNetV2ForImageClassification

< >

( config: HGNetV2Config )

Parameter

  • config (HGNetV2Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

Model HGNetV2 dengan kepala klasifikasi gambar di atasnya (lapisan linear di atas fitur yang dipooling), misalnya untuk ImageNet.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( pixel_values: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → ImageClassifierOutputWithNoAttention or tuple(torch.Tensor)

Parameter

  • pixel_values (torch.Tensor dengan bentuk (batch_size, num_channels, image_size, image_size), opsional) — Tensor yang sesuai dengan gambar input. Nilai piksel dapat diperoleh menggunakan image_processor_class. Lihat image_processor_class.__call__ untuk detailnya (processor_class menggunakan image_processor_class untuk memproses gambar).
  • labels (torch.LongTensor dengan bentuk (batch_size,), opsional) — Label untuk menghitung loss klasifikasi/regresi gambar. Indeks harus berada dalam [0, ..., config.num_labels - 1]. Jika config.num_labels == 1, loss regresi dihitung (Mean-Square loss). Jika config.num_labels > 1, loss klasifikasi dihitung (Cross-Entropy).
  • output_hidden_states (bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihat hidden_states di bawah tensor yang dikembalikan untuk detail lebih lanjut.
  • return_dict (bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa.

Mengembalikan

ImageClassifierOutputWithNoAttention atau tuple(torch.Tensor)

A ImageClassifierOutputWithNoAttention atau tuple dari torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (HGNetV2Config) dan input.

Metode forward dari HGNetV2ForImageClassification menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.Tensor dengan bentuk (1,), opsional, dikembalikan saat labels disediakan) — Loss klasifikasi (atau regresi jika config.num_labels==1).
  • logits (torch.Tensor dengan bentuk (batch_size, config.num_labels)) — Skor klasifikasi (atau regresi jika config.num_labels==1) (sebelum SoftMax).
  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap tahap) dengan bentuk (batch_size, num_channels, height, width). Hidden-states (juga disebut feature maps) dari model pada output setiap tahap.

Contoh:

>>> import torch
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import HGNetV2ForImageClassification, AutoImageProcessor
>>> from PIL import Image

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> model = HGNetV2ForImageClassification.from_pretrained("ustc-community/hgnet-v2")
>>> processor = AutoImageProcessor.from_pretrained("ustc-community/hgnet-v2")

>>> inputs = processor(images=image, return_tensors="pt")
>>> with torch.no_grad():
...     outputs = model(**inputs)
>>> outputs.logits.shape
torch.Size([1, 2])
Update on GitHub