Transformers documentation

RADIO

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Este modelo foi contribuído para o Hugging Face Transformers em 30/06/2026.

FlashAttention SDPA

RADIO

RADIO (Reduce All Domains Into One) é uma família de modelos de visão fundacionais da NVIDIA, treinada por destilação multi-mentor (por exemplo, CLIP, DINOv2, SAM) em um único backbone ViT. Ela produz tanto um embedding de summary no nível da imagem quanto features espaciais densas, e suporta resoluções de entrada variáveis por meio de um gerador de patches Cropped Position Embedding (CPE).

O exemplo abaixo demonstra como extrair recursos de imagem com a classe 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

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

Parâmetros

  • hidden_size (int, opcional, padrão 1280) — Dimensão das representações ocultas.
  • num_hidden_layers (int, opcional, padrão 32) — Número de camadas ocultas no decodificador do Transformer.
  • num_attention_heads (int, opcional, padrão 16) — Número de cabeças de atenção para cada camada de atenção no decodificador do Transformer.
  • mlp_ratio (float, opcional, padrão 4.0) — Proporção do tamanho oculto do MLP em relação a hidden_size.
  • hidden_act (str, opcional, padrão gelu) — A função de ativação não linear (função ou string) no decodificador. Por exemplo, "gelu", "relu", "silu", etc.
  • layer_norm_eps (float, opcional, padrão 1e-06) — O epsilon usado pelas camadas de normalização de camada.
  • attention_probs_dropout_prob (float, opcional, padrão 0.0) — A taxa de dropout para as probabilidades de atenção.
  • hidden_dropout_prob (float, opcional, padrão 0.0) — A probabilidade de dropout para todas as camadas totalmente conectadas nos embeddings, no encoder e no pooler.
  • drop_path_rate (float, opcional, padrão 0.0) — Taxa de drop path para a fusão de patches.
  • use_swiglu_ffn (bool, opcional, padrão False) — Se deve usar uma rede feed-forward SwiGLU nas camadas do codificador em vez do MLP padrão.
  • qkv_bias (bool, opcional, padrão True) — Se deve adicionar um viés às queries, keys e values.
  • layerscale_value (float, opcional, padrão 1.0) — Valor inicial para os parâmetros de LayerScale. O C-RADIO não possui LayerScale; o padrão de 1.0 torna o LayerScale (herdado) uma operação identidade.
  • num_channels (int, opcional, padrão 3) — O número de canais de entrada.
  • patch_size (int, opcional, padrão 16) — O tamanho (resolução) de cada patch.
  • image_size (int, opcional, padrão 224) — O tamanho (resolução) de cada imagem.
  • max_img_size (int, opcional, padrão 2048) — Tamanho máximo de imagem suportado (em pixels) usado para dimensionar a tabela de incorporação de posição do gerador de patches CPE.
  • num_cls_tokens (int, opcional, padrão 3) — Número de tokens de classe (resumo) aprendidos adicionados ao início da sequência de patches.
  • num_registers (int, opcional, padrão 7) — Número de tokens de registro aprendidos adicionados ao início da sequência de patches.
  • video_temporal_patch_size (int, opcional) — Número de frames empilhados temporalmente por patch. Quando definido, o gerador de patches também cria um video_patch_projection para patches de vídeo empacotados temporalmente; None desativa o caminho de vídeo.
  • patch_dim (int, opcional) — Tamanho achatado de um patch de imagem. Derivado de num_channels e patch_size.
  • video_patch_dim (int, opcional) — Tamanho achatado de um patch de vídeo empacotado temporalmente. Derivado de video_temporal_patch_size e patch_dim; None para checkpoints apenas de imagem.
  • summary_idxs (list[int], opcional, padrão [0, 1]) — Índices dos tokens de classe a serem reunidos e achatados no embedding de saída summary.
  • norm_mean (tuple[float, float, float], opcional, padrão OPENAI_CLIP_MEAN) — Média por canal usada pelo condicionador de entrada para normalizar os valores de pixel.
  • norm_std (tuple[float, float, float], opcional, padrão OPENAI_CLIP_STD) — Desvio padrão por canal usado pelo condicionador de entrada para normalizar os valores de pixel.
  • initializer_range (float, opcional, padrão 0.02) — O desvio padrão do truncated_normal_initializer para inicializar todas as matrizes de pesos.

Esta é a classe de configuração para armazenar a configuração de um RadioModel. Ela é usada para instanciar um modelo Radio de acordo com os argumentos especificados, definindo a arquitetura do modelo. Instanciar uma configuração com os padrões resultará em uma configuração semelhante à do nvidia/C-RADIOv4-H

Os objetos de configuração herdam de PreTrainedConfig e podem ser usados para controlar as saídas do modelo. Consulte a documentação de PreTrainedConfig para mais informações.

RadioModel

classe transformers.RadioModel

< >

( config: RadioConfig )

Parâmetros

  • config (RadioConfig) — Classe de configuração do modelo com todos os parâmetros do modelo. A inicialização com um arquivo de configuração não carrega os pesos associados ao modelo, apenas a configuração. Consulte o método from_pretrained() para carregar os pesos do modelo.

O modelo Radio puro, que produz estados ocultos brutos sem nenhum cabeçalho específico no topo.

Este modelo herda de PreTrainedModel. Consulte a documentação da classe pai para os métodos genéricos que a biblioteca implementa para todos os seus modelos (como download ou salvamento, redimensionamento dos embeddings de entrada, poda de cabeças, etc.)

Este modelo também é uma subclasse de torch.nn.Module do PyTorch. Use-o como um Módulo PyTorch regular e consulte a documentação do PyTorch para todos os assuntos relacionados ao uso geral e ao comportamento.

forward

< >

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

Parâmetros

  • pixel_values (torch.Tensor de forma (batch_size, num_channels, height, width) ou (total_patches, num_channels * patch_size**2)) — Imagens de um mesmo tamanho ou, com image_grid_hw, os patches achatados de imagens de tamanhos diferentes concatenados. Cada patch é organizado com prioridade para o canal, ou seja, (num_channels, patch_size, patch_size).
  • image_grid_hw (torch.LongTensor de forma (num_images, 2), opcional) — Grade de patches (height, width) de cada imagem em pixel_values empacotados.

Retorna

RadioModelOutput ou tuple(torch.Tensor)

Um RadioModelOutput ou uma tupla de torch.Tensor (se return_dict=False for passado ou quando config.return_dict=False) contendo vários elementos, dependendo da configuração (RadioConfig) e das entradas.

O método forward da RadioModel substitui o método especial __call__.

Embora a receita para a passagem direta precise ser definida dentro desta função, deve-se chamar a instância de Module em seguida, em vez desta, pois a primeira cuida da execução das etapas de pré e pós-processamento, enquanto a segunda as ignora silenciosamente.

  • resumo (torch.Tensor de forma (batch_size, num_summary_idxs * hidden_size)) — Embedding de resumo achatado, coletado dos tokens cls selecionados por config.summary_idxs.

  • features (torch.Tensor de forma (batch_size, num_patches, hidden_size)) — Características espaciais densas dos patches. Para entradas empacotadas (com image_grid_hw fornecido), as características dos patches de todas as imagens concatenadas, de forma (total_patches, hidden_size).

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Sequência completa de tokens (tokens de prefixo + patches) da camada final do codificador. Para entradas empacotadas, as sequências de todas as imagens concatenadas, de forma (total_sequence_length, hidden_size).

  • hidden_states (tuple[torch.Tensor], opcional, retornado quando output_hidden_states=True é passado ou quando config.output_hidden_states=True) — Tupla de torch.Tensor (um para a saída dos embeddings, se o modelo tiver uma camada de embedding, + um para a saída de cada camada) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos do modelo na saída de cada camada, além das saídas opcionais do embedding inicial.

  • attentions (tuple[torch.Tensor], opcional, retornado quando output_attentions=True é passado ou quando config.output_attentions=True) — Tupla de torch.Tensor (um para cada camada) com forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atenção após o softmax de atenção, usados para calcular a média ponderada nos cabeçalhos de autoatenção.

Update on GitHub