flexEAT-base_epoch30_pretrain / configuration_eat.py
HTill's picture
Update configuration_eat.py
cfb933c verified
from transformers import PretrainedConfig
class EATConfig(PretrainedConfig):
model_type = "eat"
def __init__(
self,
# --- 1. Core Architecture (Dimensions) ---
embed_dim=768,
depth=12,
num_heads=12,
mlp_ratio=4.0,
num_classes=527,
model_variant="pretrain", # or "finetune"
# --- 2. Input & Patching ---
in_chans=1,
patch_size=16,
stride=16,
fixed_positions=True,
# --- 3. Normalization & Bias Structure ---
qkv_bias=True,
layer_norm_first=False,
norm_affine=True,
norm_eps=1e-6,
# --- 4. Fine-Tuning Knobs (Regularization) ---
drop_rate=0.0,
attn_drop_rate=0.0,
activation_dropout=0.0,
post_mlp_drop=0.0,
start_drop_path_rate=0.0,
end_drop_path_rate=0.0,
# --- 5. Hugging Face Extras ---
**kwargs,
):
super().__init__(**kwargs)
# --- 1. Core Architecture ---
self.embed_dim = embed_dim
self.depth = depth
self.num_heads = num_heads
self.mlp_ratio = mlp_ratio
self.num_classes = num_classes
self.model_variant = model_variant
# --- 2. Input & Patching ---
self.in_chans = in_chans
self.patch_size = patch_size
self.stride = stride
self.fixed_positions = fixed_positions
# --- 3. Normalization & Bias ---
self.qkv_bias = qkv_bias
self.layer_norm_first = layer_norm_first
self.norm_affine = norm_affine
self.norm_eps = norm_eps
# --- 4. Regularization ---
self.drop_rate = drop_rate
self.attn_drop_rate = attn_drop_rate
self.activation_dropout = activation_dropout
self.post_mlp_drop = post_mlp_drop
self.start_drop_path_rate = start_drop_path_rate
self.end_drop_path_rate = end_drop_path_rate