core.models.vision.encoder_registry#
Central registry of per-encoder defaults.
One EncoderSpec per vision_model_type carries everything callers need to
instantiate the encoder without hard-coding numbers in multiple places:
patch_dim, default image size, class_token_len, native-spatial-merge flag
implementation model type, default converted checkpoint directory
pixel_mean / pixel_std (ImageNet-style normalisation)
the full TransformerConfig arch (num_layers, hidden_size, ffn_hidden_size, activation, normalisation, bias flags, RoPE flags, …)
Consumers:
examples/multimodal/config.py::get_vision_model_config (via apply_to_config)
examples/multimodal/v3/energon_multimodal_provider.py (pixel statistics)
examples/multimodal/multimodal_args.py::resolve_multimodal_encoder_args
Adding a new encoder = one entry here.
Module Contents#
Classes#
Per-encoder defaults: image geometry, pixel stats, transformer arch. |
Functions#
Return the spec for |
Data#
API#
- core.models.vision.encoder_registry._CLIP_MEAN#
(0.48145466, 0.4578275, 0.40821073)
- core.models.vision.encoder_registry._CLIP_STD#
(0.26862954, 0.26130258, 0.27577711)
- core.models.vision.encoder_registry._IN_MEAN#
(0.485, 0.456, 0.406)
- core.models.vision.encoder_registry._IN_STD#
(0.229, 0.224, 0.225)
- core.models.vision.encoder_registry._HALF_MEAN#
(0.5, 0.5, 0.5)
- core.models.vision.encoder_registry._HALF_STD#
(0.5, 0.5, 0.5)
- core.models.vision.encoder_registry.ActivationFunc#
None
- core.models.vision.encoder_registry._gelu_tanh(x)#
- core.models.vision.encoder_registry._resolve_activation(
- activation_func: core.models.vision.encoder_registry.ActivationFunc,
- class core.models.vision.encoder_registry.EncoderSpec#
Per-encoder defaults: image geometry, pixel stats, transformer arch.
- name: str#
None
- patch_dim: int#
None
- default_img_h: int#
None
- default_img_w: int#
None
- class_token_len: int#
0
- has_native_spatial_merge: bool#
False
- model_type: Optional[str]#
None
- checkpoint_dir: Optional[str]#
None
- dynamic_resolution: bool#
False
- pixel_shuffle: bool#
False
- conv_merging: bool#
False
- use_tiling: bool#
False
- max_num_tiles: int#
1
- use_thumbnail: bool#
False
- dynamic_resolution_max_patches: int#
0
- dynamic_resolution_max_side: Optional[int]#
None
- radio_force_eval_mode: bool#
False
- radio_hf_resolution: bool#
False
- pixel_mean: Tuple[float, float, float]#
None
- pixel_std: Tuple[float, float, float]#
None
- num_layers: Optional[int]#
None
None
- num_attention_heads: Optional[int]#
None
- num_query_groups: Optional[int]#
None
None
- kv_channels: Optional[int]#
None
- gated_linear_unit: bool#
False
- activation_func: core.models.vision.encoder_registry.ActivationFunc#
‘gelu’
- add_bias_linear: bool#
True
- add_qkv_bias: bool#
True
- normalization: str#
‘LayerNorm’
- layernorm_epsilon: Optional[float]#
None
- qk_layernorm: Optional[bool]#
None
- rotary_interleaved: bool#
False
- tp_round_up_heads: bool#
False
- apply_to_config(config, apply_query_key_layer_scaling: bool = False)#
Write this spec onto an existing TransformerConfig and return it.
- core.models.vision.encoder_registry._radio_h_spec(
- name: str,
- checkpoint_dir: str,
- *,
- dynamic_resolution: bool,
- pixel_shuffle: bool,
- use_tiling: bool,
- max_num_tiles: int = 1,
- use_thumbnail: bool = False,
- radio_hf_resolution: bool = False,
- core.models.vision.encoder_registry.REGISTRY: Dict[str, core.models.vision.encoder_registry.EncoderSpec]#
None
- core.models.vision.encoder_registry.get_spec(
- vision_model_type: str,
Return the spec for
vision_model_type, or raise KeyError with a list of known types.