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

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