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 30.06.2026.

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) — Значение epsilon, используемое слоями нормализации.
  • attention_probs_dropout_prob (float, необязательный, по умолчанию 0.0) — Коэффициент dropout для вероятностей внимания.
  • hidden_dropout_prob (float, необязательный, по умолчанию 0.0) — Вероятность dropout для всех полносвязных слоев в блоках эмбеддингов, энкодера и пулера.
  • drop_path_rate (float, необязательный, по умолчанию 0.0) — Коэффициент drop path для слияния патчей.
  • use_swiglu_ffn (bool, необязательный, по умолчанию False) — Использовать ли SwiGLU feed-forward сеть в слоях энкодера вместо стандартного 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) — Максимальный поддерживаемый размер изображения (в пикселях), используемый для определения размера таблицы позиционных эмбеддингов генератора патчей 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) и входных данных.

Метод forward класса RadioModel переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • summary (torch.Tensor формы (batch_size, num_summary_idxs * hidden_size)) — Свёрнутая эмбеддинг-суммаризация, собранная из cls-токенов, выбранных с помощью config.summary_idxs.

  • features (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