from __future__ import annotations import json from pathlib import Path import copy from transformers.configuration_utils import PretrainedConfig class GptBertConfig(PretrainedConfig): def __init__( self, config_file: Path | str | None = None, **kwargs ): super().__init__(**kwargs) self.model = "norbert4" if config_file is not None: if type(config_file) is str: config_file = Path(config_file) assert type(config_file) is not Path, "The config_file should either be a Path or str" with config_file.open("r") as file: config = json.load(file) for attr, value in config.items(): if isinstance(value, str): value = value.lower() setattr(self, attr, value) for attr, value in kwargs.items(): if isinstance(value, str): value = value.lower() setattr(self, attr, value)