BrainOCR / configuration_brain_ocr.py
passionMan's picture
fix: standalone config class without hunyuan_vl dependency
ffc8fa5 verified
Raw
History Blame
1.37 kB
from transformers import PretrainedConfig
class BrainOCRVisionConfig(PretrainedConfig):
model_type = "brain_ocr_vision"
def __init__(self, image_size=560, patch_size=14, hidden_size=1280,
intermediate_size=5120, num_hidden_layers=32,
num_attention_heads=16, channels=3, layer_norm_eps=1e-6,
attention_dropout=0.0, **kwargs):
super().__init__(**kwargs)
self.image_size = image_size
self.patch_size = patch_size
self.hidden_size = hidden_size
self.intermediate_size = intermediate_size
self.num_hidden_layers = num_hidden_layers
self.num_attention_heads = num_attention_heads
self.channels = channels
self.layer_norm_eps = layer_norm_eps
self.attention_dropout = attention_dropout
class BrainOCRConfig(PretrainedConfig):
model_type = "brain_ocr"
sub_configs = {"vision_config": BrainOCRVisionConfig}
def __init__(self, **kwargs):
vision_config = kwargs.pop("vision_config", None)
if isinstance(vision_config, dict):
self.vision_config = BrainOCRVisionConfig(**vision_config)
elif isinstance(vision_config, BrainOCRVisionConfig):
self.vision_config = vision_config
else:
self.vision_config = BrainOCRVisionConfig()
super().__init__(**kwargs)