Transformers documentation
RADIO
Model ini disumbangkan ke Hugging Face Transformers pada 2026-06-30.
RADIO
RADIO (Reduce All Domains Into One) adalah keluarga model fondasi visi dari NVIDIA yang dilatih melalui distilasi multi-guru (misalnya CLIP, DINOv2, SAM) ke dalam satu backbone ViT. Model ini menghasilkan embedding summary tingkat gambar serta features spasial yang padat, dan mendukung resolusi input yang bervariasi melalui generator patch Cropped Position Embedding (CPE).
Contoh di bawah ini menunjukkan cara mengekstrak fitur gambar dengan kelas RadioModel.
import requests
import torch
from PIL import Image
from transformers import CLIPImageProcessor, RadioModel
hf_repo = "nvidia/C-RADIOv4-H"
device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu"
model = RadioModel.from_pretrained(hf_repo)
model.eval().to(device)
image_processor = CLIPImageProcessor(
size={"height": 224, "width": 224}, do_resize=True, do_center_crop=False, do_normalize=False
)
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
image = Image.open(requests.get(url, stream=True).raw).convert("RGB")
pixel_values = image_processor(images=image, return_tensors="pt").pixel_values
pixel_values = pixel_values.to(device)
with torch.no_grad():
outputs = model(pixel_values)
summary = outputs.summary # (1, 2560) image-level embedding
features = outputs.features # (1, 196, 1280) dense spatial featuresRadioConfig
kelas transformers.RadioConfig
< 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 = Nonehidden_size: int = 1280num_hidden_layers: int = 32num_attention_heads: int = 16mlp_ratio: float = 4.0hidden_act: str = 'gelu'layer_norm_eps: float = 1e-06attention_probs_dropout_prob: float = 0.0hidden_dropout_prob: float = 0.0drop_path_rate: float = 0.0use_swiglu_ffn: bool = Falseqkv_bias: bool = Truelayerscale_value: float = 1.0num_channels: int = 3patch_size: int = 16image_size: int = 224max_img_size: int = 2048num_cls_tokens: int = 3num_registers: int = 7video_temporal_patch_size: int | None = Nonepatch_dim: int | None = Nonevideo_patch_dim: int | None = Nonesummary_idxs: list[int] | None = Nonenorm_mean: list[float] | tuple[float, float, float] = (0.48145466, 0.4578275, 0.40821073)norm_std: list[float] | tuple[float, float, float] = (0.26862954, 0.26130258, 0.27577711)initializer_range: float = 0.02 )
Parameter
- hidden_size (
int, opsional, default1280) — Dimensi dari representasi tersembunyi. - num_hidden_layers (
int, opsional, default32) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_attention_heads (
int, opsional, default16) — Jumlah attention head untuk setiap lapisan attention di decoder Transformer. - mlp_ratio (
float, opsional, default 4.0) — Rasio ukuran tersembunyi (hidden size) dari MLP terhadaphidden_size. - hidden_act (
str, opsional, defaultnyagelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - layer_norm_eps (
float, opsional, defaultnya1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - attention_probs_dropout_prob (
float, opsional, default0.0) — Rasio dropout untuk probabilitas perhatian. - hidden_dropout_prob (
float, opsional, default0.0) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler. - drop_path_rate (
float, opsional, default0.0) — Tingkat drop path untuk fusi patch. - use_swiglu_ffn (
bool, opsional, defaultFalse) — Apakah akan menggunakan jaringan feed-forward SwiGLU pada lapisan encoder alih-alih MLP standar. - qkv_bias (
bool, opsional, defaultnyaTrue) — Apakah akan menambahkan bias ke queries, keys, dan values. - layerscale_value (
float, opsional, default 1.0) — Nilai awal untuk parameter LayerScale. C-RADIO tidak memiliki LayerScale; default1.0membuat LayerScale (yang diwarisi) menjadi operasi identitas. - num_channels (
int, opsional, defaultnya3) — Jumlah saluran input. - patch_size (
int, opsional, defaultnya16) — Ukuran (resolusi) dari setiap patch. - image_size (
int, opsional, default224) — Ukuran (resolusi) setiap gambar. - max_img_size (
int, opsional, default 2048) — Ukuran gambar maksimum (dalam piksel) yang didukung, digunakan untuk menentukan ukuran tabel position embedding dari generator patch CPE. - num_cls_tokens (
int, opsional, default 3) — Jumlah token kelas (ringkasan) yang dipelajari dan ditambahkan di awal urutan patch. - num_registers (
int, opsional, default 7) — Jumlah token register yang dipelajari dan ditambahkan di depan urutan patch. - video_temporal_patch_size (
int, opsional) — Jumlah frame yang ditumpuk secara temporal per patch. Jika diset, generator patch juga membangunvideo_patch_projectionuntuk patch video yang dikemas secara temporal;Nonemenonaktifkan jalur video. - patch_dim (
int, opsional) — Ukuran datar dari satu patch gambar. Diturunkan darinum_channelsdanpatch_size. - video_patch_dim (
int, opsional) — Ukuran datar dari satu patch video yang dikemas secara temporal. Diturunkan darivideo_temporal_patch_sizedanpatch_dim;Noneuntuk checkpoint yang hanya berisi gambar. - summary_idxs (
list[int], opsional, default[0, 1]) — Indeks dari class token yang akan dikumpulkan dan diratakan menjadi embedding outputsummary. - norm_mean (
tuple[float, float, float], opsional, defaultOPENAI_CLIP_MEAN) — Rata-rata per kanal yang digunakan oleh input conditioner untuk menormalisasi nilai piksel. - norm_std (
tuple[float, float, float], opsional, defaultOPENAI_CLIP_STD) — Standar deviasi per kanal yang digunakan oleh input conditioner untuk menormalisasi nilai piksel. - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari RadioModel. Kelas ini digunakan untuk membuat instans model Radio sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari nvidia/C-RADIOv4-H
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
RadioModel
kelas transformers.RadioModel
< source >( config: RadioConfig )
Parameter
- config (RadioConfig) — 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 Radio polos yang menghasilkan hidden-states mentah tanpa head spesifik di atasnya.
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
< source >( pixel_values: Tensorimage_grid_hw: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → RadioModelOutput or tuple(torch.Tensor)
Parameter
- pixel_values (
torch.Tensordengan bentuk(batch_size, num_channels, height, width)atau(total_patches, num_channels * patch_size**2)) — Gambar dengan satu ukuran, atau, denganimage_grid_hw, patch yang telah diratakan dari gambar-gambar dengan ukuran berbeda yang digabungkan. Setiap patch disusun dengan prioritas channel, yaitu(num_channels, patch_size, patch_size). - image_grid_hw (
torch.LongTensordengan bentuk(num_images, 2), opsional) — Grid patch(height, width)untuk setiap gambar dalampixel_valuesyang dikemas.
Mengembalikan
RadioModelOutput atau tuple(torch.Tensor)
RadioModelOutput atau tuple dari
torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (RadioConfig) dan input.
Metode forward dari RadioModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
ringkasan (
torch.Tensordengan bentuk(batch_size, num_summary_idxs * hidden_size)) — Embedding ringkasan yang diratakan, dikumpulkan dari token cls yang dipilih olehconfig.summary_idxs.fitur (
torch.Tensordengan bentuk(batch_size, num_patches, hidden_size)) — Fitur patch spasial padat. Untuk input yang dikemas (image_grid_hwdiberikan), fitur patch dari semua gambar digabungkan, dengan bentuk(total_patches, hidden_size).last_hidden_state (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan token lengkap (token prefiks + patch) dari lapisan encoder terakhir. Untuk input yang dikemas, urutan dari semua gambar yang digabungkan, dengan bentuk(total_sequence_length, hidden_size).hidden_states (
tuple[torch.Tensor], opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.
attentions (
tuple[torch.Tensor], opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).