Transformers documentation

RADIO

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

تمت مساهمة هذا النموذج في Hugging Face Transformers في 2026-06-30.

FlashAttention SDPA

RADIO

RADIO (اختصار Reduce All Domains Into One) هو عائلة من نماذج الرؤية الأساسية من NVIDIA، تم تدريبها عبر تقطير متعدد المعلمين (مثل CLIP وDINOv2 وSAM) في هيكل عظمي واحد من نوع ViT. ينتج النموذج تمثيلاً summary على مستوى الصورة، بالإضافة إلى features مكثفة ذات أبعاد مكانية، ويدعم دقات إدخال متغيرة من خلال مولّد رقعات Cropped Position Embedding (CPE).

يُبيّن المثال أدناه كيفية استخراج ميزات الصور باستخدام فئة RadioModel.

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 features

RadioConfig

فئة transformers.RadioConfig

< >

( 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 )

المعاملات

  • hidden_size (int، اختياري، القيمة الافتراضية 1280) — أبعاد التمثيلات المخفية.
  • num_hidden_layers (int، اختياري، القيمة الافتراضية 32) — عدد الطبقات المخفية في مُفكِّك Transformer.
  • num_attention_heads (int، اختياري، القيمة الافتراضية 16) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • mlp_ratio (float، اختياري، القيمة الافتراضية 4.0) — نسبة حجم الطبقة المخفية في شبكة MLP إلى hidden_size.
  • hidden_act (str، اختياري، القيمة الافتراضية gelu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وما إلى ذلك.
  • layer_norm_eps (float, اختياري، القيمة الافتراضية 1e-06) — قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.
  • attention_probs_dropout_prob (float، اختياري، القيمة الافتراضية 0.0) — نسبة إسقاط الاحتمالات الخاصة بالانتباه.
  • hidden_dropout_prob (float، اختياري، القيمة الافتراضية 0.0) — احتمال الإسقاط (Dropout) لجميع الطبقات المتصلة بالكامل في التضمينات، والمُشفِّر، والمُجمِّع.
  • drop_path_rate (float, اختياري، القيمة الافتراضية 0.0) — معدل إسقاط المسار (Drop path) لدمج البقع (patch fusion).
  • use_swiglu_ffn (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام شبكة SwiGLU للتغذية الأمامية في طبقات المُشفِّر بدلاً من شبكة MLP القياسية.
  • qkv_bias (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إضافة انحياز إلى الاستعلامات والمفاتيح والقيم.
  • layerscale_value (float، اختياري، القيمة الافتراضية 1.0) — القيمة الأولية لمعاملات LayerScale. لا يحتوي C-RADIO على LayerScale؛ القيمة الافتراضية 1.0 تجعل LayerScale (الموروث) عملية هوية.
  • num_channels (int، اختياري، القيمة الافتراضية 3) — عدد قنوات الإدخال.
  • patch_size (int، اختياري، القيمة الافتراضية 16) — حجم (دقة) كل رقعة.
  • image_size (int، اختياري، القيمة الافتراضية 224) — حجم (دقة) كل صورة.
  • max_img_size (int, اختياري، القيمة الافتراضية 2048) — أقصى حجم صورة مدعوم (بالبكسل) يُستخدم لتحديد حجم جدول تضمين الموضع (position embedding) في مولّد رقعة CPE.
  • num_cls_tokens (int، اختياري، القيمة الافتراضية 3) — عدد رموز الفئة (الملخص) المُتعلَّمة التي تُضاف في بداية تسلسل الباتشات.
  • num_registers (int، اختياري، القيمة الافتراضية 7) — عدد رموز التسجيل المُتعلَّمة التي تُضاف إلى بداية تسلسل الباتش.
  • video_temporal_patch_size (int, اختياري) — عدد الإطارات المكدسة زمنياً لكل رقعة. عند ضبطه، يبني مولّد الرقع أيضاً video_patch_projection لرقع الفيديو المكدسة زمنياً؛ None يعطّل مسار الفيديو.
  • patch_dim (int, اختياري) — الحجم المسطّح لرقعة صورة واحدة. يُشتق من num_channels وpatch_size.
  • video_patch_dim (int, اختياري) — الحجم المسطّح لرقعة فيديو واحدة مُجمّعة زمنياً. يُشتق من video_temporal_patch_size وpatch_dim؛ وNone لنقاط التفتيش المخصصة للصور فقط.
  • summary_idxs (list[int]، اختياري، القيمة الافتراضية [0, 1]) — فهارس رموز الفئة التي سيتم جمعها وتسطيحها في مضمون المخرجات summary.
  • norm_mean (tuple[float, float, float]، اختياري، القيمة الافتراضية OPENAI_CLIP_MEAN) — متوسط لكل قناة يستخدمه مُعدِّد المدخلات لتطبيع قيم البكسلات.
  • norm_std (tuple[float, float, float]، اختياري، القيمة الافتراضية OPENAI_CLIP_STD) — انحراف معياري لكل قناة يستخدمه مُعدِّد المدخلات لتطبيع قيم البكسلات.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

هذه فئة الإعدادات المخزنة لإعدادات نموذج RadioModel. تُستخدم لاستحداث نموذج Radio وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ nvidia/C-RADIOv4-H

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

RadioModel

فئة transformers.RadioModel

< >

( config: RadioConfig )

المعاملات

  • config (RadioConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج Radio الخام الذي يُخرج حالات مخفية خام دون أي رأس محدد في الأعلى.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( pixel_values: Tensorimage_grid_hw: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → RadioModelOutput or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, height, width) أو (total_patches, num_channels * patch_size**2)) — صور بحجم واحد، أو، باستخدام image_grid_hw، البقع المسطحة لصور بأحجام مختلفة مدمجة معًا. يتم ترتيب كل بقعة على أساس القناة، أي (num_channels, patch_size, patch_size).
  • image_grid_hw (torch.LongTensor من الشكل (num_images, 2)، اختياري) — شبكة الباتشات (height, width) لكل صورة في pixel_values المعبأة.

يعيد

RadioModelOutput أو tuple(torch.Tensor)

RadioModelOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعدادات (RadioConfig) والمدخلات.

تُعيد طريقة RadioModel الأمامية تعريف الطريقة الخاصة __call__.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن Module بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

  • ملخص (torch.Tensor من الشكل (batch_size, num_summary_idxs * hidden_size)) — تمثيل مُلخَّص مُسطَّح، تم جمعه من رموز cls التي حددها config.summary_idxs.

  • الميزات (torch.Tensor من الشكل (batch_size, num_patches, hidden_size)) — ميزات رقمية مكثفة. في حال المدخلات المعبأة (عند تقديم image_grid_hw)، تكون ميزات الأرقام لجميع الصور مدمجة معًا، من الشكل (total_patches, hidden_size).

  • last_hidden_state (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)) — تسلسل الرموز الكامل (رموز البادئة + البقع) من طبقة المُشفِّر النهائية. في حال المدخلات المعبأة، تكون تسلسلات جميع الصور مدمجة معًا، من الشكل (total_sequence_length, hidden_size).

  • hidden_states (tuple[torch.Tensor]، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) من الشكل (batch_size, sequence_length, hidden_size).

    حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.

  • attentions (tuple[torch.Tensor]، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length).

    أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

Update on GitHub