MaskCut / config.py
makakwastaken's picture
Added stable diffusion inpaint endpoint
c70f9b8
Raw
History Blame Contribute Delete
1.23 kB
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import torch
# Config that serves all environment
GLOBAL_CONFIG = {
"USE_CUDE_IF_AVAILABLE": True,
"ROUND_DIGIT": 6
}
# Environment specific config, or overwrite of GLOBAL_CONFIG
ENV_CONFIG = {
"development": {
"DEBUG": True
},
"staging": {
"DEBUG": True
},
"production": {
"DEBUG": False,
"ROUND_DIGIT": 3
}
}
def get_config() -> dict:
"""
Get config based on running environment
:return: dict of config
"""
# Determine running environment
ENV = os.environ['PYTHON_ENV'] if 'PYTHON_ENV' in os.environ else 'development'
ENV = ENV or 'development'
# raise error if environment is not expected
if ENV not in ENV_CONFIG:
raise EnvironmentError(f'Config for envirnoment {ENV} not found')
config = GLOBAL_CONFIG.copy()
config.update(ENV_CONFIG[ENV])
config['ENV'] = ENV
config['DEVICE'] = 'cuda' if torch.cuda.is_available() and config['USE_CUDE_IF_AVAILABLE'] else 'cpu'
return config
# load config for import
CONFIG = get_config()
if __name__ == '__main__':
# for debugging
import json
print(json.dumps(CONFIG, indent=4))