torch_em.model.util
Shared configuration for vision transformer models and raw transforms.
1"""Shared configuration for vision transformer models and raw transforms.""" 2 3from dataclasses import dataclass 4from typing import Optional, Tuple 5 6 7@dataclass(frozen=True) 8class ViTConfig: 9 """Defaults shared by ViT construction, normalization, and UNETR.""" 10 11 models: Tuple[str, ...] 12 img_size: int 13 stats: Optional[str] 14 dependency: str 15 clip_max: int = 1 16 skip_models: Tuple[str, ...] = () 17 weight_suffixes: bool = False 18 19 20VIT_CONFIGS = { 21 "sam": ViTConfig( 22 models=("vit_b", "vit_l", "vit_h"), img_size=1024, stats="sam", dependency="sam", clip_max=255, 23 skip_models=("vit_b", "vit_l", "vit_h"), weight_suffixes=True 24 ), 25 "sam2": ViTConfig( 26 models=("hvit_t", "hvit_s", "hvit_b", "hvit_l"), img_size=1024, stats="sam", dependency="sam2", 27 weight_suffixes=True 28 ), 29 "sam3": ViTConfig(models=("vit_pe",), img_size=1008, stats="sam", dependency="sam3", weight_suffixes=True), 30 "cellpose_sam": ViTConfig(models=("vit_l",), img_size=256, stats=None, dependency="sam"), 31 "mae": ViTConfig( 32 models=("vit_b", "vit_l", "vit_h"), img_size=224, stats="mae", dependency="timm", skip_models=("vit_b", "vit_l") 33 ), 34 "scalemae": ViTConfig(models=("vit_b", "vit_l", "vit_h"), img_size=224, stats="mae", dependency="timm"), 35 "dinov2": ViTConfig( 36 models=("vit_s", "vit_b", "vit_l", "vit_g", "vit_s_reg4", "vit_b_reg4", "vit_l_reg4", "vit_g_reg4"), 37 img_size=518, stats="dino", dependency="dinov2" 38 ), 39 "dinov3": ViTConfig( 40 models=("vit_s", "vit_s+", "vit_b", "vit_l", "vit_l+", "vit_h+", "vit_7b"), 41 img_size=224, stats="dino", dependency="dinov3", 42 skip_models=("vit_s", "vit_s+", "vit_b", "vit_l", "vit_l+", "vit_h+", "vit_7b") 43 ), 44 "torchvision": ViTConfig( 45 models=("vit_b_16", "vit_b_32", "vit_l_16", "vit_l_32", "vit_h_14"), 46 img_size=224, stats="imagenet", dependency="torchvision", skip_models=("vit_b_16", "vit_l_16") 47 ), 48}
@dataclass(frozen=True)
class
ViTConfig:
8@dataclass(frozen=True) 9class ViTConfig: 10 """Defaults shared by ViT construction, normalization, and UNETR.""" 11 12 models: Tuple[str, ...] 13 img_size: int 14 stats: Optional[str] 15 dependency: str 16 clip_max: int = 1 17 skip_models: Tuple[str, ...] = () 18 weight_suffixes: bool = False
Defaults shared by ViT construction, normalization, and UNETR.
VIT_CONFIGS =
{'sam': ViTConfig(models=('vit_b', 'vit_l', 'vit_h'), img_size=1024, stats='sam', dependency='sam', clip_max=255, skip_models=('vit_b', 'vit_l', 'vit_h'), weight_suffixes=True), 'sam2': ViTConfig(models=('hvit_t', 'hvit_s', 'hvit_b', 'hvit_l'), img_size=1024, stats='sam', dependency='sam2', clip_max=1, skip_models=(), weight_suffixes=True), 'sam3': ViTConfig(models=('vit_pe',), img_size=1008, stats='sam', dependency='sam3', clip_max=1, skip_models=(), weight_suffixes=True), 'cellpose_sam': ViTConfig(models=('vit_l',), img_size=256, stats=None, dependency='sam', clip_max=1, skip_models=(), weight_suffixes=False), 'mae': ViTConfig(models=('vit_b', 'vit_l', 'vit_h'), img_size=224, stats='mae', dependency='timm', clip_max=1, skip_models=('vit_b', 'vit_l'), weight_suffixes=False), 'scalemae': ViTConfig(models=('vit_b', 'vit_l', 'vit_h'), img_size=224, stats='mae', dependency='timm', clip_max=1, skip_models=(), weight_suffixes=False), 'dinov2': ViTConfig(models=('vit_s', 'vit_b', 'vit_l', 'vit_g', 'vit_s_reg4', 'vit_b_reg4', 'vit_l_reg4', 'vit_g_reg4'), img_size=518, stats='dino', dependency='dinov2', clip_max=1, skip_models=(), weight_suffixes=False), 'dinov3': ViTConfig(models=('vit_s', 'vit_s+', 'vit_b', 'vit_l', 'vit_l+', 'vit_h+', 'vit_7b'), img_size=224, stats='dino', dependency='dinov3', clip_max=1, skip_models=('vit_s', 'vit_s+', 'vit_b', 'vit_l', 'vit_l+', 'vit_h+', 'vit_7b'), weight_suffixes=False), 'torchvision': ViTConfig(models=('vit_b_16', 'vit_b_32', 'vit_l_16', 'vit_l_32', 'vit_h_14'), img_size=224, stats='imagenet', dependency='torchvision', clip_max=1, skip_models=('vit_b_16', 'vit_l_16'), weight_suffixes=False)}