Wmcs91's picture
Duplicate from shi-labs/Versatile-Diffusion
fb53ec8
raw
history blame contribute delete
No virus
827 Bytes
import os
import os.path as osp
import numpy as np
import numpy.random as npr
import torch
from PIL import Image
import copy
import gc
import itertools
def singleton(class_):
instances = {}
def getinstance(*args, **kwargs):
if class_ not in instances:
instances[class_] = class_(*args, **kwargs)
return instances[class_]
return getinstance
@singleton
class get_formatter(object):
def __init__(self):
self.formatter = {}
def register(self, formatf):
self.formatter[formatf.__name__] = formatf
def __call__(self, cfg):
if cfg is None:
return None
t = cfg.type
return self.formatter[t](**cfg.args)
def register():
def wrapper(class_):
get_formatter().register(class_)
return class_
return wrapper