File size: 2,990 Bytes
e508ca5
8cc4184
e508ca5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8cc4184
e508ca5
8cc4184
 
e508ca5
8cc4184
 
e508ca5
8cc4184
 
e508ca5
8cc4184
 
e508ca5
8cc4184
 
e508ca5
8cc4184
 
 
 
e508ca5
 
 
8cc4184
e508ca5
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
  "_comment": "EgaraNet: DINOv3 ViT-L backbone + StyleNet (Transposed Attention Transformer) composite model config.",

  "model_type": "egara_net",
  "architectures": ["EgaraNetModel"],
  "torch_dtype": "float32",
  "transformers_version": "4.56.0.dev0",

  "auto_map": {
    "AutoConfig": "configuration_egara_net.EgaraNetConfig",
    "AutoModel": "modeling_egara_net.EgaraNetModel"
  },

  "_section_backbone": "--- DINOv3 ViT Backbone (nested sub-config) ---",
  "backbone_config": {
    "model_type": "dinov3_vit",
    "architectures": ["DINOv3ViTModel"],

    "hidden_size": 1024,
    "num_hidden_layers": 24,
    "num_attention_heads": 16,
    "intermediate_size": 4096,
    "hidden_act": "gelu",

    "image_size": 224,
    "patch_size": 16,
    "num_channels": 3,
    "num_register_tokens": 4,

    "attention_dropout": 0.0,
    "drop_path_rate": 0.0,
    "layer_norm_eps": 1e-05,
    "layerscale_value": 1.0,

    "pos_embed_rescale": 2.0,
    "pos_embed_jitter": null,
    "pos_embed_shift": null,
    "rope_theta": 100.0,

    "key_bias": false,
    "query_bias": true,
    "value_bias": true,
    "proj_bias": true,
    "mlp_bias": true,
    "use_gated_mlp": false,

    "initializer_range": 0.02,
    "torch_dtype": "float32",
    "transformers_version": "4.56.0.dev0"
  },

  "_section_stylenet": "--- StyleNet: Transposed Attention Transformer (TAT) head ---",

  "tat_input_dim": null,
  "_tat_input_dim_note": "null = auto-inferred from backbone_config.hidden_size at model init",

  "tat_hidden_dim": 1024,
  "_tat_hidden_dim_note": "Internal channel dimension of TAT layers. Matches backbone hidden_size for ViT-L.",

  "tat_output_dim": 1024,
  "_tat_output_dim_note": "Final L2-normalised style vector dimension.",

  "tat_num_layers": 3,
  "_tat_num_layers_note": "Number of stacked TransposedAttentionTransformer layers.",

  "tat_num_heads": 16,
  "_tat_num_heads_note": "Number of attention heads in TAT. Must divide tat_hidden_dim evenly. (1024 / 16 = 64)",

  "_section_tat_internals": "--- TAT internals (derived / documented for reference) ---",
  "tat_rms_norm_eps": 1e-05,
  "tat_swiglu_multiple": 64,
  "_tat_swiglu_note": "SwiGLU hidden = round_up(floor(hidden_dim * 8/3), multiple). E.g. 768->2048, 1024->2752.",

  "_section_attnpool": "--- Attention Pooling ---",
  "attn_pool_num_heads": 8,
  "_attn_pool_note": "nn.MultiheadAttention heads used in AttentionPooling. Must divide tat_hidden_dim.",

  "_section_head": "--- Projection Head (hidden -> output) ---",
  "head_act": "silu",
  "_head_note": "Linear(hidden) -> SiLU -> Linear(output). Output is L2-normalised.",

  "_section_preprocessing": "--- Default inference preprocessing ---",
  "image_size": 512,
  "keep_aspect_ratio": true,
  "_keep_aspect_ratio_note": "true = MaxResizeMod16(image_size); false = square resize.",
  "image_mean": [0.485, 0.456, 0.406],
  "image_std":  [0.229, 0.224, 0.225],
  "_image_stats_note": "ImageNet stats; must match backbone preprocessor_config.json."
}