From 5f30b29ce0e8f382c26e0594d4a3b92b9b7fc5c7 Mon Sep 17 00:00:00 2001 From: Patrick von Platen Date: Wed, 20 Jul 2022 23:35:39 +0000 Subject: [PATCH] up --- scripts/conversion_ldm_uncond.py | 4 +- ...rt_ldm_original_checkpoint_to_diffusers.py | 4 +- src/diffusers/__init__.py | 4 +- src/diffusers/pipelines/__init__.py | 4 +- .../pipelines/latent_diffusion/__init__.py | 2 +- .../pipeline_latent_diffusion.py | 2 +- .../latent_diffusion_uncond/__init__.py | 2 +- .../pipeline_latent_diffusion_uncond.py | 2 +- .../utils/dummy_transformers_objects.py | 37 +------------------ tests/test_modeling_utils.py | 10 ++--- 10 files changed, 18 insertions(+), 53 deletions(-) diff --git a/scripts/conversion_ldm_uncond.py b/scripts/conversion_ldm_uncond.py index dd3fc7a9e0ec..0957c2ed0f99 100644 --- a/scripts/conversion_ldm_uncond.py +++ b/scripts/conversion_ldm_uncond.py @@ -3,7 +3,7 @@ import OmegaConf import torch -from diffusers import UNetLDMModel, VQModel, LatentDiffusionUncondPipeline, DDIMScheduler +from diffusers import UNetLDMModel, VQModel, LDMPipeline, DDIMScheduler def convert_ldm_original(checkpoint_path, config_path, output_path): config = OmegaConf.load(config_path) @@ -41,7 +41,7 @@ def convert_ldm_original(checkpoint_path, config_path, output_path): clip_sample=False, ) - pipeline = LatentDiffusionUncondPipeline(vqvae, unet, noise_scheduler) + pipeline = LDMPipeline(vqvae, unet, noise_scheduler) pipeline.save_pretrained(output_path) diff --git a/scripts/convert_ldm_original_checkpoint_to_diffusers.py b/scripts/convert_ldm_original_checkpoint_to_diffusers.py index 3116bb27547a..f4f8331ebeab 100644 --- a/scripts/convert_ldm_original_checkpoint_to_diffusers.py +++ b/scripts/convert_ldm_original_checkpoint_to_diffusers.py @@ -17,7 +17,7 @@ import argparse import json import torch -from diffusers import VQModel, DDPMScheduler, UNet2DModel, LatentDiffusionUncondPipeline +from diffusers import VQModel, DDPMScheduler, UNet2DModel, LDMPipeline def shave_segments(path, n_shave_prefix_segments=1): @@ -326,7 +326,7 @@ def convert_ldm_checkpoint(checkpoint, config): scheduler = DDPMScheduler.from_config("/".join(args.checkpoint_path.split("/")[:-1])) vqvae = VQModel.from_pretrained("/".join(args.checkpoint_path.split("/")[:-1])) - pipe = LatentDiffusionUncondPipeline(unet=model, scheduler=scheduler, vae=vqvae) + pipe = LDMPipeline(unet=model, scheduler=scheduler, vae=vqvae) pipe.save_pretrained(args.dump_path) except: model.save_pretrained(args.dump_path) diff --git a/src/diffusers/__init__.py b/src/diffusers/__init__.py index e147a9161804..3330d98b3e56 100644 --- a/src/diffusers/__init__.py +++ b/src/diffusers/__init__.py @@ -9,11 +9,11 @@ from .modeling_utils import ModelMixin from .models import AutoencoderKL, UNet2DConditionModel, UNet2DModel, VQModel from .pipeline_utils import DiffusionPipeline -from .pipelines import DDIMPipeline, DDPMPipeline, LatentDiffusionUncondPipeline, PNDMPipeline, ScoreSdeVePipeline +from .pipelines import DDIMPipeline, DDPMPipeline, LDMPipeline, PNDMPipeline, ScoreSdeVePipeline from .schedulers import DDIMScheduler, DDPMScheduler, PNDMScheduler, SchedulerMixin, ScoreSdeVeScheduler if is_transformers_available(): - from .pipelines import LatentDiffusionPipeline + from .pipelines import LDMTextToImagePipeline else: from .utils.dummy_transformers_objects import * diff --git a/src/diffusers/pipelines/__init__.py b/src/diffusers/pipelines/__init__.py index 9b19419d4ec5..50855568ddb7 100644 --- a/src/diffusers/pipelines/__init__.py +++ b/src/diffusers/pipelines/__init__.py @@ -1,10 +1,10 @@ from ..utils import is_inflect_available, is_transformers_available, is_unidecode_available from .ddim import DDIMPipeline from .ddpm import DDPMPipeline -from .latent_diffusion_uncond import LatentDiffusionUncondPipeline +from .latent_diffusion_uncond import LDMPipeline from .pndm import PNDMPipeline from .score_sde_ve import ScoreSdeVePipeline if is_transformers_available(): - from .latent_diffusion import LatentDiffusionPipeline + from .latent_diffusion import LDMTextToImagePipeline diff --git a/src/diffusers/pipelines/latent_diffusion/__init__.py b/src/diffusers/pipelines/latent_diffusion/__init__.py index 5ce717caabf3..ae3ab390e63b 100644 --- a/src/diffusers/pipelines/latent_diffusion/__init__.py +++ b/src/diffusers/pipelines/latent_diffusion/__init__.py @@ -2,4 +2,4 @@ if is_transformers_available(): - from .pipeline_latent_diffusion import LatentDiffusionPipeline, LDMBertModel + from .pipeline_latent_diffusion import LDMBertModel, LDMTextToImagePipeline diff --git a/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py b/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py index e6b209026422..e26a9e703ff8 100644 --- a/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py +++ b/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py @@ -14,7 +14,7 @@ from ...pipeline_utils import DiffusionPipeline -class LatentDiffusionPipeline(DiffusionPipeline): +class LDMTextToImagePipeline(DiffusionPipeline): def __init__(self, vqvae, bert, tokenizer, unet, scheduler): super().__init__() scheduler = scheduler.set_format("pt") diff --git a/src/diffusers/pipelines/latent_diffusion_uncond/__init__.py b/src/diffusers/pipelines/latent_diffusion_uncond/__init__.py index 6fe1f6d655f3..1b9fc5270a62 100644 --- a/src/diffusers/pipelines/latent_diffusion_uncond/__init__.py +++ b/src/diffusers/pipelines/latent_diffusion_uncond/__init__.py @@ -1 +1 @@ -from .pipeline_latent_diffusion_uncond import LatentDiffusionUncondPipeline +from .pipeline_latent_diffusion_uncond import LDMPipeline diff --git a/src/diffusers/pipelines/latent_diffusion_uncond/pipeline_latent_diffusion_uncond.py b/src/diffusers/pipelines/latent_diffusion_uncond/pipeline_latent_diffusion_uncond.py index 5445c44cd73c..fef9c5ac790f 100644 --- a/src/diffusers/pipelines/latent_diffusion_uncond/pipeline_latent_diffusion_uncond.py +++ b/src/diffusers/pipelines/latent_diffusion_uncond/pipeline_latent_diffusion_uncond.py @@ -5,7 +5,7 @@ from ...pipeline_utils import DiffusionPipeline -class LatentDiffusionUncondPipeline(DiffusionPipeline): +class LDMPipeline(DiffusionPipeline): def __init__(self, vqvae, unet, scheduler): super().__init__() scheduler = scheduler.set_format("pt") diff --git a/src/diffusers/utils/dummy_transformers_objects.py b/src/diffusers/utils/dummy_transformers_objects.py index ac34367a3b37..d638ec490306 100644 --- a/src/diffusers/utils/dummy_transformers_objects.py +++ b/src/diffusers/utils/dummy_transformers_objects.py @@ -3,42 +3,7 @@ from ..utils import DummyObject, requires_backends -class GlideSuperResUNetModel(metaclass=DummyObject): - _backends = ["transformers"] - - def __init__(self, *args, **kwargs): - requires_backends(self, ["transformers"]) - - -class GlideTextToImageUNetModel(metaclass=DummyObject): - _backends = ["transformers"] - - def __init__(self, *args, **kwargs): - requires_backends(self, ["transformers"]) - - -class GlideUNetModel(metaclass=DummyObject): - _backends = ["transformers"] - - def __init__(self, *args, **kwargs): - requires_backends(self, ["transformers"]) - - -class UNetGradTTSModel(metaclass=DummyObject): - _backends = ["transformers"] - - def __init__(self, *args, **kwargs): - requires_backends(self, ["transformers"]) - - -class GlidePipeline(metaclass=DummyObject): - _backends = ["transformers"] - - def __init__(self, *args, **kwargs): - requires_backends(self, ["transformers"]) - - -class LatentDiffusionPipeline(metaclass=DummyObject): +class LDMTextToImagePipeline(metaclass=DummyObject): _backends = ["transformers"] def __init__(self, *args, **kwargs): diff --git a/tests/test_modeling_utils.py b/tests/test_modeling_utils.py index 5df13f3a5e4f..23ab048e3e73 100755 --- a/tests/test_modeling_utils.py +++ b/tests/test_modeling_utils.py @@ -29,8 +29,8 @@ DDIMScheduler, DDPMPipeline, DDPMScheduler, - LatentDiffusionPipeline, - LatentDiffusionUncondPipeline, + LDMPipeline, + LDMTextToImagePipeline, PNDMPipeline, PNDMScheduler, ScoreSdeVePipeline, @@ -826,7 +826,7 @@ def test_pndm_cifar10(self): @slow def test_ldm_text2img(self): - ldm = LatentDiffusionPipeline.from_pretrained("/home/patrick/google_checkpoints/ldm-text2im-large-256") + ldm = LDMTextToImagePipeline.from_pretrained("/home/patrick/google_checkpoints/ldm-text2im-large-256") prompt = "A painting of a squirrel eating a burger" generator = torch.manual_seed(0) @@ -842,7 +842,7 @@ def test_ldm_text2img(self): @slow def test_ldm_text2img_fast(self): - ldm = LatentDiffusionPipeline.from_pretrained("/home/patrick/google_checkpoints/ldm-text2im-large-256") + ldm = LDMTextToImagePipeline.from_pretrained("/home/patrick/google_checkpoints/ldm-text2im-large-256") prompt = "A painting of a squirrel eating a burger" generator = torch.manual_seed(0) @@ -877,7 +877,7 @@ def test_score_sde_ve_pipeline(self): @slow def test_ldm_uncond(self): - ldm = LatentDiffusionUncondPipeline.from_pretrained("/home/patrick/google_checkpoints/ldm-celebahq-256") + ldm = LDMPipeline.from_pretrained("/home/patrick/google_checkpoints/ldm-celebahq-256") generator = torch.manual_seed(0) image = ldm(generator=generator, num_inference_steps=5, output_type="numpy")["sample"]