Spaces:
Running
on
Zero
Running
on
Zero
import imagen_hub | |
class ImagenHubModel(): | |
def __init__(self, model_name): | |
self.model = imagen_hub.load(model_name) | |
def __call__(self, *args, **kwargs): | |
return self.model.infer_one_image(*args, **kwargs) | |
class PNP(ImagenHubModel): | |
def __init__(self): | |
super().__init__('PNP') | |
def __call__(self, *args, **kwargs): | |
if "num_inversion_steps" not in kwargs: | |
kwargs["num_inversion_steps"] = 200 | |
return super().__call__(*args, **kwargs) | |
class Prompt2prompt(ImagenHubModel): | |
def __init__(self): | |
super().__init__('Prompt2prompt') | |
def __call__(self, *args, **kwargs): | |
if "num_inner_steps" not in kwargs: | |
kwargs["num_inner_steps"] = 3 | |
return super().__call__(*args, **kwargs) | |
def load_imagenhub_model(model_name, model_type=None): | |
if model_name == 'PNP': | |
return PNP() | |
if model_name == 'Prompt2prompt': | |
return Prompt2prompt() | |
return ImagenHubModel(model_name) |