Skip to content

config

The base config class.

It implements the base config class template, which can be used to represent the model and object configurations in the tinyBIG toolkit.

Attributes:

Name Type Description
name str, default = 'base_config'

Name of the base config.

Methods:

Name Description
__init__

The initialization method of base config class.

load_yaml

Configuration loading method from yaml file

save_yaml

Configuration saving method to yaml file

load_json

Configuration loading method from json file

save_json

Configuration saving method to json file

instantiate_model_from_config

Model instantiation method from configurations

extract_config_from_model

Configurations extraction methond from models

Source code in tinybig/config/base_config.py
class config:
    """
    The base config class.

    It implements the base config class template, which can be used to represent
    the model and object configurations in the tinyBIG toolkit.

    Attributes
    ----------
    name: str, default = 'base_config'
        Name of the base config.

    Methods
    ----------
    __init__
        The initialization method of base config class.

    load_yaml
        Configuration loading method from yaml file

    save_yaml
        Configuration saving method to yaml file

    load_json
        Configuration loading method from json file

    save_json
        Configuration saving method to json file

    instantiate_model_from_config
        Model instantiation method from configurations

    extract_config_from_model
        Configurations extraction methond from models

    """
    def __init__(self, name='base_config', *args, **kwargs):
        """
        The initialization method of base config class.

        It initializes a base config object based on the provided parameters.

        Parameters
        ----------
        name: str, default = 'base_config'
            Name of the base config object.

        Returns
        ----------
        object
            The base config object.
        """
        self.name = name

    @staticmethod
    def load_yaml(cache_dir='./configs', config_file='config.yaml'):
        """
        Model configuration loading method from yaml file

        It loads the model configurations from a yaml file.

        Parameters
        ----------
        cache_dir: str, default = './configs'
            Directory of the configuration yaml file.
        config_file: str, default = 'config.yaml'
            Name of the configuration yaml file

        Returns
        -------
        dict
            The detailed configurations loaded from the yaml file.
        """
        with open('{}/{}'.format(cache_dir, config_file), 'r') as f:
            configs = yaml.safe_load(f)
        return configs

    @staticmethod
    def save_yaml(configs, cache_dir='./configs', config_file='config.yaml'):
        """
        Model configuration saving method to yaml file

        It saves the model configurations to a yaml file.

        Parameters
        ----------
        configs: dict
            The model configuration in the dictionary data structure
        cache_dir: str, default = './configs'
            Directory of the configuration yaml file.
        config_file: str, default = 'config.yaml'
            Name of the configuration yaml file

        Returns
        -------
        None
            This method doesn't have the returned values.
        """
        with open('{}/{}'.format(cache_dir, config_file), 'w') as f:
            yaml.dump(configs, f)

    @staticmethod
    def load_json(cache_dir='./configs', config_file='configs.json'):
        """
        Model configuration loading method from json file

        It loads the model configurations from a json file.

        Parameters
        ----------
        cache_dir: str, default = './configs'
            Directory of the configuration json file.
        config_file: str, default = 'configs.json'
            Name of the configuration json file

        Returns
        -------
        dict
            The detailed configurations loaded from the json file.
        """
        with open('{}/{}'.format(cache_dir, config_file), 'r') as f:
            configs = json.load(f)
        return configs

    @staticmethod
    def save_json(configs, cache_dir='./configs', config_file='configs.json'):
        """
        Model configuration saving method to json file

        It saves the model configurations to a json file.

        Parameters
        ----------
        configs: dict
            The model configuration in the dictionary data structure
        cache_dir: str, default = './configs'
            Directory of the configuration json file.
        config_file: str, default = 'configs.json'
            Name of the configuration json file

        Returns
        -------
        None
            This method doesn't have the returned values.
        """
        with open('{}/{}'.format(cache_dir, config_file), 'w') as f:
            json.dump(configs, f)

    @abstractmethod
    def instantiate_object_from_config(self, *args, **kwargs):
        """
        Model object instantiation from the configurations.

        It instantiates a model object from the detailed configurations.
        This method is declared as an abstract method, which needs to be implemented in its inherited class.
        """
        pass

    @abstractmethod
    def extract_config_from_object(self, *args, **kwargs):
        """
        Model configuration extraction from the model object.

        It extracts a model's configuration from a model object.
        This method is declared as an abstract method, which needs to be implemented in its inherited class.
        """
        pass

__init__(name='base_config', *args, **kwargs)

The initialization method of base config class.

It initializes a base config object based on the provided parameters.

Parameters:

Name Type Description Default
name

Name of the base config object.

'base_config'

Returns:

Type Description
object

The base config object.

Source code in tinybig/config/base_config.py
def __init__(self, name='base_config', *args, **kwargs):
    """
    The initialization method of base config class.

    It initializes a base config object based on the provided parameters.

    Parameters
    ----------
    name: str, default = 'base_config'
        Name of the base config object.

    Returns
    ----------
    object
        The base config object.
    """
    self.name = name

extract_config_from_object(*args, **kwargs) abstractmethod

Model configuration extraction from the model object.

It extracts a model's configuration from a model object. This method is declared as an abstract method, which needs to be implemented in its inherited class.

Source code in tinybig/config/base_config.py
@abstractmethod
def extract_config_from_object(self, *args, **kwargs):
    """
    Model configuration extraction from the model object.

    It extracts a model's configuration from a model object.
    This method is declared as an abstract method, which needs to be implemented in its inherited class.
    """
    pass

instantiate_object_from_config(*args, **kwargs) abstractmethod

Model object instantiation from the configurations.

It instantiates a model object from the detailed configurations. This method is declared as an abstract method, which needs to be implemented in its inherited class.

Source code in tinybig/config/base_config.py
@abstractmethod
def instantiate_object_from_config(self, *args, **kwargs):
    """
    Model object instantiation from the configurations.

    It instantiates a model object from the detailed configurations.
    This method is declared as an abstract method, which needs to be implemented in its inherited class.
    """
    pass

load_json(cache_dir='./configs', config_file='configs.json') staticmethod

Model configuration loading method from json file

It loads the model configurations from a json file.

Parameters:

Name Type Description Default
cache_dir

Directory of the configuration json file.

'./configs'
config_file

Name of the configuration json file

'configs.json'

Returns:

Type Description
dict

The detailed configurations loaded from the json file.

Source code in tinybig/config/base_config.py
@staticmethod
def load_json(cache_dir='./configs', config_file='configs.json'):
    """
    Model configuration loading method from json file

    It loads the model configurations from a json file.

    Parameters
    ----------
    cache_dir: str, default = './configs'
        Directory of the configuration json file.
    config_file: str, default = 'configs.json'
        Name of the configuration json file

    Returns
    -------
    dict
        The detailed configurations loaded from the json file.
    """
    with open('{}/{}'.format(cache_dir, config_file), 'r') as f:
        configs = json.load(f)
    return configs

load_yaml(cache_dir='./configs', config_file='config.yaml') staticmethod

Model configuration loading method from yaml file

It loads the model configurations from a yaml file.

Parameters:

Name Type Description Default
cache_dir

Directory of the configuration yaml file.

'./configs'
config_file

Name of the configuration yaml file

'config.yaml'

Returns:

Type Description
dict

The detailed configurations loaded from the yaml file.

Source code in tinybig/config/base_config.py
@staticmethod
def load_yaml(cache_dir='./configs', config_file='config.yaml'):
    """
    Model configuration loading method from yaml file

    It loads the model configurations from a yaml file.

    Parameters
    ----------
    cache_dir: str, default = './configs'
        Directory of the configuration yaml file.
    config_file: str, default = 'config.yaml'
        Name of the configuration yaml file

    Returns
    -------
    dict
        The detailed configurations loaded from the yaml file.
    """
    with open('{}/{}'.format(cache_dir, config_file), 'r') as f:
        configs = yaml.safe_load(f)
    return configs

save_json(configs, cache_dir='./configs', config_file='configs.json') staticmethod

Model configuration saving method to json file

It saves the model configurations to a json file.

Parameters:

Name Type Description Default
configs

The model configuration in the dictionary data structure

required
cache_dir

Directory of the configuration json file.

'./configs'
config_file

Name of the configuration json file

'configs.json'

Returns:

Type Description
None

This method doesn't have the returned values.

Source code in tinybig/config/base_config.py
@staticmethod
def save_json(configs, cache_dir='./configs', config_file='configs.json'):
    """
    Model configuration saving method to json file

    It saves the model configurations to a json file.

    Parameters
    ----------
    configs: dict
        The model configuration in the dictionary data structure
    cache_dir: str, default = './configs'
        Directory of the configuration json file.
    config_file: str, default = 'configs.json'
        Name of the configuration json file

    Returns
    -------
    None
        This method doesn't have the returned values.
    """
    with open('{}/{}'.format(cache_dir, config_file), 'w') as f:
        json.dump(configs, f)

save_yaml(configs, cache_dir='./configs', config_file='config.yaml') staticmethod

Model configuration saving method to yaml file

It saves the model configurations to a yaml file.

Parameters:

Name Type Description Default
configs

The model configuration in the dictionary data structure

required
cache_dir

Directory of the configuration yaml file.

'./configs'
config_file

Name of the configuration yaml file

'config.yaml'

Returns:

Type Description
None

This method doesn't have the returned values.

Source code in tinybig/config/base_config.py
@staticmethod
def save_yaml(configs, cache_dir='./configs', config_file='config.yaml'):
    """
    Model configuration saving method to yaml file

    It saves the model configurations to a yaml file.

    Parameters
    ----------
    configs: dict
        The model configuration in the dictionary data structure
    cache_dir: str, default = './configs'
        Directory of the configuration yaml file.
    config_file: str, default = 'config.yaml'
        Name of the configuration yaml file

    Returns
    -------
    None
        This method doesn't have the returned values.
    """
    with open('{}/{}'.format(cache_dir, config_file), 'w') as f:
        yaml.dump(configs, f)