old_tok / paintmind /config.py
tennant's picture
upload
af7c0ce
raw
history blame
2.61 kB
import json, pdb
from copy import deepcopy
class Config:
def __init__(self, config=None):
if config is not None:
self.from_dict(config)
def __repr__(self):
return str(self.to_json_string())
def to_dict(self):
return deepcopy(self.__dict__)
def to_json(self, path):
with open(path, 'w') as f:
json.dump(self.to_dict(), f, indent=2)
def to_json_string(self):
return json.dumps(self.to_dict(), indent=2)
def from_dict(self, dct):
self.clear()
for key, value in dct.items():
self.__dict__[key] = value
return self.to_dict()
def from_json(self, json_path):
with open(json_path, 'r') as f:
config = json.load(f)
self.from_dict(config)
return self.to_dict()
def clear(self):
del self.__dict__
vit_s_vqgan_config = {
'n_embed' :8192,
'embed_dim' :16,
'beta' :0.25,
'enc':{
'image_size':320,
'patch_size':8,
'dim':512,
'depth':8,
'num_head':8,
'mlp_dim':2048,
'in_channels':3,
'dim_head':64,
'dropout':0.0,
},
'dec':{
'image_size':320,
'patch_size':8,
'dim':512,
'depth':8,
'num_head':8,
'mlp_dim':2048,
'out_channels':3,
'dim_head':64,
'dropout':0.0,
},
}
vit_m_vqgan_config = {
'n_embed' :8192,
'embed_dim' :32,
'beta' :0.25,
'enc':{
'image_size':256,
'patch_size':8,
'dim': 1024,
'depth': 16,
'num_head':16,
'mlp_dim':2048,
'in_channels':3,
'dim_head':64,
'dropout':0.0,
},
'dec':{
'image_size':256,
'patch_size':8,
'dim':1024,
'depth':16,
'num_head':16,
'mlp_dim':2048,
'out_channels':3,
'dim_head':64,
'dropout':0.0,
},
}
pipeline_v1_config = {
'stage1' :'vit-s-vqgan',
't5' :'t5-l',
'dim' :1024,
'dim_head' :64,
'mlp_dim' :4096,
'num_head' :16,
'depth' :12,
'dropout' :0.1,
}
ver2cfg = {
'vit-s-vqgan' : vit_s_vqgan_config,
'vit-m-vqgan' : vit_m_vqgan_config,
'paintmindv1' : pipeline_v1_config,
}