From cc4fd22ab8111760c2b1e4aebd895d6cba522be7 Mon Sep 17 00:00:00 2001 From: Robin Rombach Date: Sun, 24 Jul 2022 17:26:51 +0200 Subject: [PATCH 01/10] start rdm inference code --- README.md | 46 +++ .../768x768.yaml | 68 ++++ scripts/knn2img.py | 310 ++++++++++++++++++ 3 files changed, 424 insertions(+) create mode 100644 configs/retrieval-augmented-diffusion/768x768.yaml create mode 100644 scripts/knn2img.py diff --git a/README.md b/README.md index 3738ddee5..3193a91cd 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,9 @@

## News + +### July 2022 +- Inference code and model weights to run our [retrieval-augmented diffusion models](https://arxiv.org/abs/2204.11824) are now available. See ##RDM. ### April 2022 - Thanks to [Katherine Crowson](https://github.com/crowsonkb), classifier-free guidance received a ~2x speedup and the [PLMS sampler](https://arxiv.org/abs/2202.09778) is available. See also [this PR](https://github.com/CompVis/latent-diffusion/pull/51). @@ -42,6 +45,49 @@ conda activate ldm A general list of all available checkpoints is available in via our [model zoo](#model-zoo). If you use any of these models in your work, we are always happy to receive a [citation](#bibtex). +## Retrieval Augmented Diffusion Models (WIP) +![rdm-figure](assets/rdm-preview.jpg) +We include inference code to run our retrieval-augmented diffusion models (RDMs) as described in [https://arxiv.org/abs/2204.11824](https://arxiv.org/abs/2204.11824). + +To get started, download the weights: +```bash +mkdir -p models/rdm/rdm768x768 +wget -O models/rdm/rdm768x768/model.ckpt TODO +wget -O models/rdm/rdm768x768/config.yaml TODO +``` +As these models are conditioned on a set of CLIP image embeddings, our RDMs support different inference modes, +which are described in the following. +#### RDM with text-prompt only (no explicit retrieval needed) +Since CLIP offers a shared image/text feature space, and RDMs learn to cover a neighborhood of a given +example during training, we can directly take a CLIP text embedding of a given prompt and condition on it. +Run this mode via +``` +python scripts/knn2img.py --prompt "a happy bear reading a newspaper, oil on canvas" +``` + +#### RDM with text-to-image retrieval +Download the retrieval-databases which contain the retrieval-datasets (OpenImages and ArtBench) compressed into CLIP image embeddings: +```bash +mkdir -p data/rdm/openimages +mkdir -p data/rdm/artbench +wget -O data/rdm/openimages/data.p TODO +wget -O data/rdm/artbench/data.p TODO +``` +We also provide trained [ScaNN]()/[faiss]() search indices [here](TODO). Download via +```bash +wget -O data/rdm/openimages/searcher.p TODO +wget -O data/rdm/artbench/searcher TODO +``` + + + +#### RDM with image-to-image retrieval (maybe?, TODO) +- simple modification of above section, support image encoding + +#### Coming Soon +- better models +- more resolutions + ## Text-to-Image ![text2img-figure](assets/txt2img-preview.png) diff --git a/configs/retrieval-augmented-diffusion/768x768.yaml b/configs/retrieval-augmented-diffusion/768x768.yaml new file mode 100644 index 000000000..b51b1d837 --- /dev/null +++ b/configs/retrieval-augmented-diffusion/768x768.yaml @@ -0,0 +1,68 @@ +model: + base_learning_rate: 0.0001 + target: ldm.models.diffusion.ddpm.LatentDiffusion + params: + linear_start: 0.0015 + linear_end: 0.015 + num_timesteps_cond: 1 + log_every_t: 200 + timesteps: 1000 + first_stage_key: jpg + cond_stage_key: nix + image_size: 48 + channels: 16 + cond_stage_trainable: false + conditioning_key: crossattn + monitor: val/loss_simple_ema + scale_by_std: false + scale_factor: 0.22765929 + unet_config: + target: ldm.modules.diffusionmodules.openaimodel.UNetModel + params: + image_size: 48 + in_channels: 16 + out_channels: 16 + model_channels: 448 + attention_resolutions: + - 4 + - 2 + - 1 + num_res_blocks: 2 + channel_mult: + - 1 + - 2 + - 3 + - 4 + use_scale_shift_norm: false + resblock_updown: false + num_head_channels: 32 + use_spatial_transformer: true + transformer_depth: 1 + context_dim: 768 + use_checkpoint: true + first_stage_config: + target: ldm.models.autoencoder.AutoencoderKL + params: + monitor: val/rec_loss + embed_dim: 16 + ddconfig: + double_z: true + z_channels: 16 + resolution: 256 + in_channels: 3 + out_ch: 3 + ch: 128 + ch_mult: + - 1 + - 1 + - 2 + - 2 + - 4 + num_res_blocks: 2 + attn_resolutions: + - 16 + dropout: 0.0 + lossconfig: + target: torch.nn.Identity + cond_stage_config: + target: torch.nn.Identity \ No newline at end of file diff --git a/scripts/knn2img.py b/scripts/knn2img.py new file mode 100644 index 000000000..025a0e24b --- /dev/null +++ b/scripts/knn2img.py @@ -0,0 +1,310 @@ +import argparse, os, sys, glob +import clip +import torch +import torch.nn as nn +import numpy as np +from omegaconf import OmegaConf +from PIL import Image +from tqdm import tqdm, trange +from itertools import islice +from einops import rearrange, repeat +from torchvision.utils import make_grid + +from ldm.util import instantiate_from_config +from ldm.models.diffusion.ddim import DDIMSampler +from ldm.models.diffusion.plms import PLMSSampler + + +DATABASES = [ + "openimages", + "artbench-surrealism", + # etc TODO: add +] + + +def chunk(it, size): + it = iter(it) + return iter(lambda: tuple(islice(it, size)), ()) + + +def load_model_from_config(config, ckpt, verbose=False): + print(f"Loading model from {ckpt}") + pl_sd = torch.load(ckpt, map_location="cpu") + if "global_step" in pl_sd: + print(f"Global Step: {pl_sd['global_step']}") + sd = pl_sd["state_dict"] + model = instantiate_from_config(config.model) + m, u = model.load_state_dict(sd, strict=False) + if len(m) > 0 and verbose: + print("missing keys:") + print(m) + if len(u) > 0 and verbose: + print("unexpected keys:") + print(u) + + model.cuda() + model.eval() + return model + + +class Searcher(object): + # TODO + def __init__(self, database, searcher): + assert database in DATABASES + self.database = self.load_database(database) + self.searcher = self.load_searcher() + + def load_database(self, path): + # TODO + return + + def load_searcher(self, path): + # TODO + return + + def search(self, x, n): + # returns the n closest neighbors in self.database + nns = ... # TODO + return nnns + + def __call__(self, x, n): + return self.search(x, n) + + +class FrozenCLIPTextEmbedder(nn.Module): + """ + Uses the CLIP transformer encoder for text. + TODO: add image encoder for image-based prompting + """ + def __init__(self, version='ViT-L/14', device="cuda", max_length=77, n_repeat=1, normalize=True): + super().__init__() + self.model, _ = clip.load(version, jit=False, device="cpu") + self.device = device + self.max_length = max_length + self.n_repeat = n_repeat + self.normalize = normalize + + def freeze(self): + self.model = self.model.eval() + for param in self.parameters(): + param.requires_grad = False + + def forward(self, text): + tokens = clip.tokenize(text).to(self.device) + z = self.model.encode_text(tokens) + if self.normalize: + z = z / torch.linalg.norm(z, dim=1, keepdim=True) + return z + + def encode(self, text): + z = self(text) + if z.ndim==2: + z = z[:, None, :] + z = repeat(z, 'b 1 d -> b k d', k=self.n_repeat) + return z + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + # TODO: add n_neighbors and modes (text-only, text-image-retrieval, image-image retrieval etc) + parser.add_argument( + "--prompt", + type=str, + nargs="?", + default="a painting of a virus monster playing guitar", + help="the prompt to render" + ) + + parser.add_argument( + "--outdir", + type=str, + nargs="?", + help="dir to write results to", + default="outputs/txt2img-samples" + ) + + parser.add_argument( + "--skip_grid", + action='store_true', + help="do not save a grid, only individual samples. Helpful when evaluating lots of samples", + ) + + parser.add_argument( + "--ddim_steps", + type=int, + default=50, + help="number of ddim sampling steps", + ) + + parser.add_argument( + "--n_repeat", + type=int, + default=1, + help="number of repeats in CLIP latent space", + ) + + parser.add_argument( + "--plms", + action='store_true', + help="use plms sampling", + ) + + parser.add_argument( + "--ddim_eta", + type=float, + default=0.0, + help="ddim eta (eta=0.0 corresponds to deterministic sampling", + ) + parser.add_argument( + "--n_iter", + type=int, + default=1, + help="sample this often", + ) + + parser.add_argument( + "--H", + type=int, + default=768, + help="image height, in pixel space", + ) + + parser.add_argument( + "--W", + type=int, + default=768, + help="image width, in pixel space", + ) + + parser.add_argument( + "--n_samples", + type=int, + default=3, + help="how many samples to produce for each given prompt. A.k.a batch size", + ) + + parser.add_argument( + "--n_rows", + type=int, + default=0, + help="rows in the grid (default: n_samples)", + ) + + parser.add_argument( + "--scale", + type=float, + default=5.0, + help="unconditional guidance scale: eps = eps(x, empty) + scale * (eps(x, cond) - eps(x, empty))", + ) + + parser.add_argument( + "--from-file", + type=str, + help="if specified, load prompts from this file", + ) + + parser.add_argument( + "--config", + type=str, + default="configs/retrieval-augmented-diffusion/768x768.yaml", + help="path to config which constructs model", + ) + + parser.add_argument( + "--ckpt", + type=str, + default="models/rdm/rdm768x768/model.ckpt", + help="path to checkpoint of model", + ) + + parser.add_argument( + "--clip_type", + type=str, + default="ViT-L/14", + help="which CLIP model to use for retrieval and NN encoding", + ) + + opt = parser.parse_args() + + config = OmegaConf.load(f"{opt.config}") + model = load_model_from_config(config, f"{opt.ckpt}") + + device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") + model = model.to(device) + + clip_text_encoder = FrozenCLIPTextEmbedder(opt.clip_type).to(device) + + if opt.plms: + sampler = PLMSSampler(model) + else: + sampler = DDIMSampler(model) + + os.makedirs(opt.outdir, exist_ok=True) + outpath = opt.outdir + + batch_size = opt.n_samples + n_rows = opt.n_rows if opt.n_rows > 0 else batch_size + if not opt.from_file: + prompt = opt.prompt + assert prompt is not None + data = [batch_size * [prompt]] + + else: + print(f"reading prompts from {opt.from_file}") + with open(opt.from_file, "r") as f: + data = f.read().splitlines() + data = list(chunk(data, batch_size)) + + sample_path = os.path.join(outpath, "samples") + os.makedirs(sample_path, exist_ok=True) + base_count = len(os.listdir(sample_path)) + grid_count = len(os.listdir(outpath)) - 1 + + print(f"sampling scale for cfg is {opt.scale:.2f}") + + with torch.no_grad(): + with model.ema_scope(): + for n in trange(opt.n_iter, desc="Sampling"): + all_samples = list() + for prompts in tqdm(data, desc="data"): + print("sampling prompts:", prompts) + if isinstance(prompts, tuple): + prompts = list(prompts) + c = clip_text_encoder.encode(prompts) + uc = None + if opt.scale != 1.0: + uc = torch.zeros_like(c) + if isinstance(prompts, tuple): + prompts = list(prompts) + shape = [16, opt.H//16, opt.W//16] # note: currently hardcoded for f16 model + samples_ddim, _ = sampler.sample(S=opt.ddim_steps, + conditioning=c, + batch_size=c.shape[0], + shape=shape, + verbose=False, + unconditional_guidance_scale=opt.scale, + unconditional_conditioning=uc, + eta=opt.ddim_eta, + ) + + x_samples_ddim = model.decode_first_stage(samples_ddim) + x_samples_ddim = torch.clamp((x_samples_ddim+1.0)/2.0, min=0.0, max=1.0) + + for x_sample in x_samples_ddim: + x_sample = 255. * rearrange(x_sample.cpu().numpy(), 'c h w -> h w c') + Image.fromarray(x_sample.astype(np.uint8)).save(os.path.join(sample_path, f"{base_count:05}.png")) + base_count += 1 + all_samples.append(x_samples_ddim) + + if not opt.skip_grid: + # additionally, save as grid + grid = torch.stack(all_samples, 0) + grid = rearrange(grid, 'n b c h w -> (n b) c h w') + grid = make_grid(grid, nrow=n_rows) + + # to image + grid = 255. * rearrange(grid, 'c h w -> h w c').cpu().numpy() + Image.fromarray(grid.astype(np.uint8)).save(os.path.join(outpath, f'grid-{grid_count:04}.png')) + grid_count += 1 + + print(f"Your samples are ready and waiting for you here: \n{outpath} \nEnjoy.") From c8a6b6600f1697e1428051d383cf53ab1f4724ad Mon Sep 17 00:00:00 2001 From: Robin Rombach Date: Sun, 24 Jul 2022 17:28:20 +0200 Subject: [PATCH 02/10] rdm preview --- assets/rdm-preview.jpg | Bin 0 -> 326537 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/rdm-preview.jpg diff --git a/assets/rdm-preview.jpg b/assets/rdm-preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3838b0f6bb71a092c8ea1739c5d577fd4ba4ac0a GIT binary patch literal 326537 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

  • (`2F8 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

    )m0IUI>`Sbxk2d_)8Yj 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 literal 0 HcmV?d00001 From 78ef9cac4fae11f8a551e204eb7ebdf6636a3ce2 Mon Sep 17 00:00:00 2001 From: ablattmann Date: Mon, 25 Jul 2022 11:25:19 +0200 Subject: [PATCH 03/10] add databases to inference script --- ldm/modules/encoders/modules.py | 71 ++++++++++++ ldm/util.py | 111 ++++++++++++++++++- scripts/knn2img.py | 190 ++++++++++++++++++++++++-------- 3 files changed, 322 insertions(+), 50 deletions(-) diff --git a/ldm/modules/encoders/modules.py b/ldm/modules/encoders/modules.py index 506e39ba4..aa3031df6 100644 --- a/ldm/modules/encoders/modules.py +++ b/ldm/modules/encoders/modules.py @@ -1,6 +1,10 @@ import torch import torch.nn as nn from functools import partial +import clip +from einops import rearrange, repeat +import kornia + from ldm.modules.x_transformer import Encoder, TransformerWrapper # TODO: can we directly rely on lucidrains code and simply add this as a reuirement? --> test @@ -129,3 +133,70 @@ def forward(self,x): def encode(self, x): return self(x) + + +class FrozenCLIPTextEmbedder(nn.Module): + """ + Uses the CLIP transformer encoder for text. + """ + def __init__(self, version='ViT-L/14', device="cuda", max_length=77, n_repeat=1, normalize=True): + super().__init__() + self.model, _ = clip.load(version, jit=False, device="cpu") + self.device = device + self.max_length = max_length + self.n_repeat = n_repeat + self.normalize = normalize + + def freeze(self): + self.model = self.model.eval() + for param in self.parameters(): + param.requires_grad = False + + def forward(self, text): + tokens = clip.tokenize(text).to(self.device) + z = self.model.encode_text(tokens) + if self.normalize: + z = z / torch.linalg.norm(z, dim=1, keepdim=True) + return z + + def encode(self, text): + z = self(text) + if z.ndim==2: + z = z[:, None, :] + z = repeat(z, 'b 1 d -> b k d', k=self.n_repeat) + return z + + +class FrozenClipImageEmbedder(nn.Module): + """ + Uses the CLIP image encoder. + """ + def __init__( + self, + model, + jit=False, + device='cuda' if torch.cuda.is_available() else 'cpu', + antialias=False, + ): + super().__init__() + self.model, _ = clip.load(name=model, device=device, jit=jit) + + self.antialias = antialias + + self.register_buffer('mean', torch.Tensor([0.48145466, 0.4578275, 0.40821073]), persistent=False) + self.register_buffer('std', torch.Tensor([0.26862954, 0.26130258, 0.27577711]), persistent=False) + + def preprocess(self, x): + # normalize to [0,1] + x = kornia.geometry.resize(x, (224, 224), + interpolation='bicubic',align_corners=True, + antialias=self.antialias) + x = (x + 1.) / 2. + # renormalize according to clip + x = kornia.enhance.normalize(x, self.mean, self.std) + return x + + def forward(self, x): + # x is assumed to be in range [-1,1] + return self.model.encode_image(self.preprocess(x)) + diff --git a/ldm/util.py b/ldm/util.py index 51839cb14..02f86442d 100644 --- a/ldm/util.py +++ b/ldm/util.py @@ -83,4 +83,113 @@ def get_obj_from_str(string, reload=False): if reload: module_imp = importlib.import_module(module) importlib.reload(module_imp) - return getattr(importlib.import_module(module, package=None), cls) \ No newline at end of file + return getattr(importlib.import_module(module, package=None), cls) + +def _do_parallel_data_prefetch(func, Q, data, idx, idx_to_fn=False): + # create dummy dataset instance + + # run prefetching + if idx_to_fn: + res = func(data,worker_id=idx) + else: + res = func(data) + Q.put([idx, res]) + Q.put("Done") + + +def parallel_data_prefetch( + func: callable, data, n_proc, target_data_type="ndarray",cpu_intensive=True,use_worker_id=False +): + # if target_data_type not in ["ndarray", "list"]: + # raise ValueError( + # "Data, which is passed to parallel_data_prefetch has to be either of type list or ndarray." + # ) + if isinstance(data, np.ndarray) and target_data_type == "list": + raise ValueError("list expected but function got ndarray.") + elif isinstance(data, abc.Iterable): + if isinstance(data, dict): + print( + f'WARNING:"data" argument passed to parallel_data_prefetch is a dict: Using only its values and disregarding keys.' + ) + data = list(data.values()) + if target_data_type == "ndarray": + data = np.asarray(data) + else: + data = list(data) + else: + raise TypeError( + f"The data, that shall be processed parallel has to be either an np.ndarray or an Iterable, but is actually {type(data)}." + ) + + if cpu_intensive: + Q = mp.Queue(1000) + proc = mp.Process + else: + Q = Queue(1000) + proc = Thread + # spawn processes + if target_data_type == "ndarray": + arguments = [ + [func, Q, part, i, use_worker_id] + for i, part in enumerate(np.array_split(data, n_proc)) + ] + else: + step = ( + int(len(data) / n_proc + 1) + if len(data) % n_proc != 0 + else int(len(data) / n_proc) + ) + arguments = [ + [func, Q, part, i, use_worker_id] + for i, part in enumerate( + [data[i : i + step] for i in range(0, len(data), step)] + ) + ] + processes = [] + for i in range(n_proc): + p = proc(target=_do_parallel_data_prefetch, args=arguments[i]) + processes += [p] + + # start processes + print(f"Start prefetching...") + import time + + start = time.time() + gather_res = [[] for _ in range(n_proc)] + try: + for p in processes: + p.start() + + k = 0 + while k < n_proc: + # get result + res = Q.get() + if res == "Done": + k += 1 + else: + gather_res[res[0]] = res[1] + + except Exception as e: + print("Exception: ", e) + for p in processes: + p.terminate() + + raise e + finally: + for p in processes: + p.join() + print(f"Prefetching complete. [{time.time() - start} sec.]") + + if target_data_type == 'ndarray': + if not isinstance(gather_res[0], np.ndarray): + return np.concatenate([np.asarray(r) for r in gather_res], axis=0) + + # order outputs + return np.concatenate(gather_res, axis=0) + elif target_data_type == 'list': + out = [] + for r in gather_res: + out.extend(r) + return out + else: + return gather_res \ No newline at end of file diff --git a/scripts/knn2img.py b/scripts/knn2img.py index 025a0e24b..7f2bbf967 100644 --- a/scripts/knn2img.py +++ b/scripts/knn2img.py @@ -9,16 +9,29 @@ from itertools import islice from einops import rearrange, repeat from torchvision.utils import make_grid +import scann +import time +from multiprocessing import cpu_count -from ldm.util import instantiate_from_config + +from ldm.util import instantiate_from_config, parallel_data_prefetch from ldm.models.diffusion.ddim import DDIMSampler from ldm.models.diffusion.plms import PLMSSampler +from ldm.modules.encoders.modules import FrozenClipImageEmbedder, FrozenCLIPTextEmbedder DATABASES = [ "openimages", + "artbench-art_nouveau", + "artbench-baroque", + "artbench-expressionism", + "artbench-impressionism", + "artbench-post_impressionism", + "artbench-realism", + "artbench-romanticism", + "artbench-renaissance", "artbench-surrealism", - # etc TODO: add + "artbench-ukiyo_e", ] @@ -48,61 +61,113 @@ def load_model_from_config(config, ckpt, verbose=False): class Searcher(object): - # TODO - def __init__(self, database, searcher): + def __init__(self, database, retriever_version='ViT-L/14'): assert database in DATABASES - self.database = self.load_database(database) + # self.database = self.load_database(database) + self.database_name = database + self.searcher_savedir = f'models/searchers/{self.database_name}' + self.database_path = f'data/retrieval_databases/{self.database_name}' + self.retriever = self.load_retriever(version=retriever_version) + self.database = {'embedding': [], + 'img_id': [], + 'patch_coords': []} + self.load_database() self.searcher = self.load_searcher() - def load_database(self, path): - # TODO - return + def train_searcher(self, k, + metric='dot_product', + searcher_savedir=None): - def load_searcher(self, path): - # TODO - return + print('Start training searcher') + searcher = scann.scann_ops_pybind.builder(self.database['embedding'] / + np.linalg.norm(self.database['embedding'], axis=1)[:, np.newaxis], + k, metric) + self.searcher = searcher.score_brute_force().build() + print('Finish training searcher') - def search(self, x, n): - # returns the n closest neighbors in self.database - nns = ... # TODO - return nnns + if searcher_savedir is not None: + print(f'Save trained searcher under "{searcher_savedir}"') + os.makedirs(searcher_savedir, exist_ok=True) + self.searcher.serialize(searcher_savedir) + + def load_single_file(self, saved_embeddings): + compressed = np.load(saved_embeddings) + self.database = {key: compressed[key] for key in compressed.files} + print('Finished loading of clip embeddings.') + + def load_multi_files(self, data_archive): + out_data = {key: [] for key in self.database} + for d in tqdm(data_archive, desc=f'Loading datapool from {len(data_archive)} individual files.'): + for key in d.files: + out_data[key].append(d[key]) + + return out_data + + def load_database(self): + + + print(f'Load saved patch embedding from "{self.database_path}"') + file_content = glob.glob(os.path.join(self.database_path,'*.npz')) + + + if len(file_content) == 1: + self.load_single_file(file_content[0]) + elif len(file_content) > 1: + data = [np.load(f) for f in file_content] + prefetched_data = parallel_data_prefetch(self.load_multi_files, data, + n_proc=min(len(data), cpu_count()), target_data_type='dict') + + self.database = {key: np.concatenate([od[key] for od in prefetched_data], axis=1)[0] for key in self.data_pool} + else: + raise ValueError(f'No npz-files in specified path "{self.database_path}" is this directory existing?') + + print(f'Finished loading of retrieval database of length {self.database["embedding"].shape[0]}.') + + + def load_retriever(self,version='ViT-L/14',): + + model = FrozenClipImageEmbedder(model=version) + if torch.cuda.is_available(): + model.cuda() + model.eval() + return model + + def load_searcher(self): + print(f'load searcher for database {self.database_name} from {self.searcher_savedir}') + self.searcher = scann.scann_ops_pybind.load_searcher(self.searcher_savedir) + print('Finished loading searcher.') - def __call__(self, x, n): - return self.search(x, n) + def search(self, x, k): + if self.searcher is None and self.database['embedding'].shape[0] < 2e4: + self.train_searcher(k) + assert self.searcher is not None, 'Cannot search with uninitialized searcher' + if isinstance(x,torch.Tensor): + x = x.detach().cpu().numpy() + if len(x.shape) == 3: + x = x[:,0] + query_embeddings = x / np.linalg.norm(x, axis=1)[:, np.newaxis] -class FrozenCLIPTextEmbedder(nn.Module): - """ - Uses the CLIP transformer encoder for text. - TODO: add image encoder for image-based prompting - """ - def __init__(self, version='ViT-L/14', device="cuda", max_length=77, n_repeat=1, normalize=True): - super().__init__() - self.model, _ = clip.load(version, jit=False, device="cpu") - self.device = device - self.max_length = max_length - self.n_repeat = n_repeat - self.normalize = normalize - - def freeze(self): - self.model = self.model.eval() - for param in self.parameters(): - param.requires_grad = False - - def forward(self, text): - tokens = clip.tokenize(text).to(self.device) - z = self.model.encode_text(tokens) - if self.normalize: - z = z / torch.linalg.norm(z, dim=1, keepdim=True) - return z - - def encode(self, text): - z = self(text) - if z.ndim==2: - z = z[:, None, :] - z = repeat(z, 'b 1 d -> b k d', k=self.n_repeat) - return z + start = time.time() + nns, distances = self.searcher.search_batched(query_embeddings, final_num_neighbors=k) + end = time.time() + out_embeddings = self.database['embedding'][nns] + out_img_ids = self.database['img_id'][nns] + out_pc = self.database['patch_coords'][nns] + + out = {'nn_embeddings': out_embeddings / np.linalg.norm(out_embeddings, axis=-1)[..., np.newaxis], + 'img_ids': out_img_ids, + 'patch_coords': out_pc, + 'queries': x, + 'exec_time': end - start, + 'nns': nns, + 'q_embeddings': query_embeddings} + + return out + + def __call__(self, x, n): + return self.search(x, n) if __name__ == "__main__": parser = argparse.ArgumentParser() @@ -223,6 +288,26 @@ def encode(self, text): default="ViT-L/14", help="which CLIP model to use for retrieval and NN encoding", ) + parser.add_argument( + "--database", + type=str, + default=DATABASES[0], + choices=DATABASES, + help="The database used for the search", + ) + parser.add_argument( + "--use_neighbors", + default=False, + action='store_true', + help="Include neighbors in addition to text prompt for conditioning", + ) + parser.add_argument( + "--knn", + default=10, + type=int, + help="The number of included neighbors, only applied when --use_neighbors=True", + ) + opt = parser.parse_args() @@ -262,6 +347,10 @@ def encode(self, text): print(f"sampling scale for cfg is {opt.scale:.2f}") + searcher = None + if opt.use_neighbors: + searcher = Searcher(opt.database) + with torch.no_grad(): with model.ema_scope(): for n in trange(opt.n_iter, desc="Sampling"): @@ -271,7 +360,10 @@ def encode(self, text): if isinstance(prompts, tuple): prompts = list(prompts) c = clip_text_encoder.encode(prompts) - uc = None + if searcher is not None: + nn_dict = searcher(c,opt.knn) + c = torch.cat([c,torch.from_numpy(nn_dict['nn_embeddings']).cuda()],dim=1) + uc = None if opt.scale != 1.0: uc = torch.zeros_like(c) if isinstance(prompts, tuple): From 2bd9d39ea8b82b17df0d27d033db0d41cdf935e6 Mon Sep 17 00:00:00 2001 From: ablattmann Date: Mon, 25 Jul 2022 11:34:45 +0200 Subject: [PATCH 04/10] fixes --- ldm/util.py | 7 +++++++ scripts/knn2img.py | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ldm/util.py b/ldm/util.py index 02f86442d..5d6c654ec 100644 --- a/ldm/util.py +++ b/ldm/util.py @@ -2,6 +2,13 @@ import torch import numpy as np +from collections import abc +from einops import rearrange +from functools import partial + +import multiprocessing as mp +from threading import Thread +from queue import Queue from inspect import isfunction from PIL import Image, ImageDraw, ImageFont diff --git a/scripts/knn2img.py b/scripts/knn2img.py index 7f2bbf967..6bb4299e6 100644 --- a/scripts/knn2img.py +++ b/scripts/knn2img.py @@ -72,7 +72,7 @@ def __init__(self, database, retriever_version='ViT-L/14'): 'img_id': [], 'patch_coords': []} self.load_database() - self.searcher = self.load_searcher() + self.load_searcher() def train_searcher(self, k, metric='dot_product', @@ -117,7 +117,7 @@ def load_database(self): prefetched_data = parallel_data_prefetch(self.load_multi_files, data, n_proc=min(len(data), cpu_count()), target_data_type='dict') - self.database = {key: np.concatenate([od[key] for od in prefetched_data], axis=1)[0] for key in self.data_pool} + self.database = {key: np.concatenate([od[key] for od in prefetched_data], axis=1)[0] for key in self.database} else: raise ValueError(f'No npz-files in specified path "{self.database_path}" is this directory existing?') From 90af0570e200c6032ff75f80430ed9482c11f5c7 Mon Sep 17 00:00:00 2001 From: ablattmann Date: Tue, 26 Jul 2022 16:42:03 +0200 Subject: [PATCH 05/10] prepare readme and paths --- README.md | 47 ++++++++++++++++++++++++++++++++-------------- scripts/knn2img.py | 6 +++--- 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 3193a91cd..027a1c0d3 100644 --- a/README.md +++ b/README.md @@ -49,12 +49,12 @@ If you use any of these models in your work, we are always happy to receive a [c ![rdm-figure](assets/rdm-preview.jpg) We include inference code to run our retrieval-augmented diffusion models (RDMs) as described in [https://arxiv.org/abs/2204.11824](https://arxiv.org/abs/2204.11824). -To get started, download the weights: +To get started, download the trained weights: ```bash -mkdir -p models/rdm/rdm768x768 -wget -O models/rdm/rdm768x768/model.ckpt TODO -wget -O models/rdm/rdm768x768/config.yaml TODO +mkdir models/rdm/rdm768x768/ +wget -O models/rdm/rdm768x768/model.ckpt https://ommer-lab.com/files/rdm/model.ckpt ``` + As these models are conditioned on a set of CLIP image embeddings, our RDMs support different inference modes, which are described in the following. #### RDM with text-prompt only (no explicit retrieval needed) @@ -66,27 +66,46 @@ python scripts/knn2img.py --prompt "a happy bear reading a newspaper, oil on ca ``` #### RDM with text-to-image retrieval -Download the retrieval-databases which contain the retrieval-datasets (OpenImages and ArtBench) compressed into CLIP image embeddings: + +To be able to run a RDM conditioned on a text-prompt and additionally images retrieved from this prompt, you will also need to download the corresponding retrieval database. +We provide two distinct databases extracted from the [Openimages-]() and [ArtBench-]()datasets. +Interchanging the databases results in different capabilities +of the resulting semi-parametric model as visualized below #TODO although the learned weights are the same in both cases. + +Download the retrieval-databases which contain the retrieval-datasets ([Openimages]() (~11GB) and [ArtBench]() (~82MB)) compressed into CLIP image embeddings: ```bash -mkdir -p data/rdm/openimages -mkdir -p data/rdm/artbench -wget -O data/rdm/openimages/data.p TODO -wget -O data/rdm/artbench/data.p TODO +mkdir -p data/rdm/retrieval_databases +wget -O data/rdm/retrieval_databases/artbench.zip https://ommer-lab.com/files/rdm/artbench_databases.zip +wget -O data/rdm/retrieval_databases/openimages.zip https://ommer-lab.com/files/rdm/openimages_database.zip +unzip data/rdm/retrieval_databases/artbench.zip -d data/rdm/retrieval_databases/ +unzip data/rdm/retrieval_databases/openimages.zip -d data/rdm/retrieval_databases/ ``` -We also provide trained [ScaNN]()/[faiss]() search indices [here](TODO). Download via +We also provide trained [ScaNN]() search indices [here](TODO). Download and extract via ```bash -wget -O data/rdm/openimages/searcher.p TODO -wget -O data/rdm/artbench/searcher TODO +mkdir -p data/rdm/searchers +wget -O data/rdm/searchers/artbench.zip https://ommer-lab.com/files/rdm/artbench_searchers.zip +wget -O data/rdm/searchers/openimages.zip https://ommer-lab.com/files/rdm/openimages_searcher.zip +unzip data/rdm/searchers/artbench.zip -d data/rdm/searchers +unzip data/rdm/searchers/openimages.zip -d data/rdm/searchers + +``` +and install [ScaNN]() into the ldm environment with +```shell script +pip install scann ``` +Run this mode via +``` +python scripts/knn2img.py --prompt "a happy bear reading a newspaper, oil on canvas" --use_neighbors --knn +``` +Note that the maximum supported number of neighbors is 20. The database can be changed via the cmd parameter ``--database`` which can be `[openimages, artbench-art_nouveau, artbench-baroque, artbench-expressionism, artbench-impressionism, artbench-post_impressionism, artbench-realism, artbench-renaissance, artbench-romanticism, artbench-surrealism, artbench-ukiyo_e]`. -#### RDM with image-to-image retrieval (maybe?, TODO) -- simple modification of above section, support image encoding #### Coming Soon - better models - more resolutions +- image-to-image retrieval ## Text-to-Image ![text2img-figure](assets/txt2img-preview.png) diff --git a/scripts/knn2img.py b/scripts/knn2img.py index 6bb4299e6..7139726f1 100644 --- a/scripts/knn2img.py +++ b/scripts/knn2img.py @@ -65,8 +65,8 @@ def __init__(self, database, retriever_version='ViT-L/14'): assert database in DATABASES # self.database = self.load_database(database) self.database_name = database - self.searcher_savedir = f'models/searchers/{self.database_name}' - self.database_path = f'data/retrieval_databases/{self.database_name}' + self.searcher_savedir = f'data/rdm/searchers/{self.database_name}' + self.database_path = f'data/rdm/retrieval_databases/{self.database_name}' self.retriever = self.load_retriever(version=retriever_version) self.database = {'embedding': [], 'img_id': [], @@ -291,7 +291,7 @@ def __call__(self, x, n): parser.add_argument( "--database", type=str, - default=DATABASES[0], + default='artbench-surrealism', choices=DATABASES, help="The database used for the search", ) From f0fa9680d197c2af815531a5b477317e16149f96 Mon Sep 17 00:00:00 2001 From: ablattmann Date: Tue, 26 Jul 2022 16:47:12 +0200 Subject: [PATCH 06/10] add todo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 027a1c0d3..2307f3d99 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ We also provide trained [ScaNN]() search indices [here](TODO). Download and extr ```bash mkdir -p data/rdm/searchers wget -O data/rdm/searchers/artbench.zip https://ommer-lab.com/files/rdm/artbench_searchers.zip -wget -O data/rdm/searchers/openimages.zip https://ommer-lab.com/files/rdm/openimages_searcher.zip +wget -O data/rdm/searchers/openimages.zip https://ommer-lab.com/files/rdm/openimages_searcher.zip TODO not yet uploaded unzip data/rdm/searchers/artbench.zip -d data/rdm/searchers unzip data/rdm/searchers/openimages.zip -d data/rdm/searchers From e09dbdaab9b82f4bc0e7fbd63276fef923e51b80 Mon Sep 17 00:00:00 2001 From: ablattmann Date: Tue, 26 Jul 2022 23:54:50 +0200 Subject: [PATCH 07/10] add script for training the searcher --- README.md | 21 +++--- scripts/train_searcher.py | 147 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 159 insertions(+), 9 deletions(-) create mode 100644 scripts/train_searcher.py diff --git a/README.md b/README.md index 2307f3d99..5f6ec808b 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,11 @@ If you use any of these models in your work, we are always happy to receive a [c ![rdm-figure](assets/rdm-preview.jpg) We include inference code to run our retrieval-augmented diffusion models (RDMs) as described in [https://arxiv.org/abs/2204.11824](https://arxiv.org/abs/2204.11824). -To get started, download the trained weights: +To get started, install the additionally required python packages into your ldm environment +```shell script +pip install transformers==4.19.2 scann kornia==0.6.4 +``` +and download the trained weights: ```bash mkdir models/rdm/rdm768x768/ wget -O models/rdm/rdm768x768/model.ckpt https://ommer-lab.com/files/rdm/model.ckpt @@ -80,21 +84,20 @@ wget -O data/rdm/retrieval_databases/openimages.zip https://ommer-lab.com/files/ unzip data/rdm/retrieval_databases/artbench.zip -d data/rdm/retrieval_databases/ unzip data/rdm/retrieval_databases/openimages.zip -d data/rdm/retrieval_databases/ ``` -We also provide trained [ScaNN]() search indices [here](TODO). Download and extract via +We also provide trained [ScaNN]() search indices for ArtBench [here](TODO). Download and extract via ```bash mkdir -p data/rdm/searchers wget -O data/rdm/searchers/artbench.zip https://ommer-lab.com/files/rdm/artbench_searchers.zip -wget -O data/rdm/searchers/openimages.zip https://ommer-lab.com/files/rdm/openimages_searcher.zip TODO not yet uploaded -unzip data/rdm/searchers/artbench.zip -d data/rdm/searchers unzip data/rdm/searchers/openimages.zip -d data/rdm/searchers - ``` -and install [ScaNN]() into the ldm environment with -```shell script -pip install scann + +Since the index for OpenImages is large (~21 GB), we provide a script to create and save it for usage during sampling. Note however, +that sampling with the OpenImages database will not be possible without this index. Run the script via +```bash +python scripts/train_searcher.py ``` -Run this mode via +After this, retrieval based text-guided sampling with visual nearest neighbors can be started via ``` python scripts/knn2img.py --prompt "a happy bear reading a newspaper, oil on canvas" --use_neighbors --knn ``` diff --git a/scripts/train_searcher.py b/scripts/train_searcher.py new file mode 100644 index 000000000..1e7904889 --- /dev/null +++ b/scripts/train_searcher.py @@ -0,0 +1,147 @@ +import os, sys +import numpy as np +import scann +import argparse +import glob +from multiprocessing import cpu_count +from tqdm import tqdm + +from ldm.util import parallel_data_prefetch + + +def search_bruteforce(searcher): + return searcher.score_brute_force().build() + + +def search_partioned_ah(searcher, dims_per_block, aiq_threshold, reorder_k, + partioning_trainsize, num_leaves, num_leaves_to_search): + return searcher.tree(num_leaves=num_leaves, + num_leaves_to_search=num_leaves_to_search, + training_sample_size=partioning_trainsize). \ + score_ah(dims_per_block, anisotropic_quantization_threshold=aiq_threshold).reorder(reorder_k).build() + + +def search_ah(searcher, dims_per_block, aiq_threshold, reorder_k): + return searcher.score_ah(dims_per_block, anisotropic_quantization_threshold=aiq_threshold).reorder( + reorder_k).build() + +def load_datapool(dpath): + + + def load_single_file(saved_embeddings): + compressed = np.load(saved_embeddings) + database = {key: compressed[key] for key in compressed.files} + return database + + def load_multi_files(data_archive): + database = {key: [] for key in data_archive[0].files} + for d in tqdm(data_archive, desc=f'Loading datapool from {len(data_archive)} individual files.'): + for key in d.files: + database[key].append(d[key]) + + return database + + print(f'Load saved patch embedding from "{dpath}"') + file_content = glob.glob(os.path.join(dpath, '*.npz')) + + if len(file_content) == 1: + data_pool = load_single_file(file_content[0]) + elif len(file_content) > 1: + data = [np.load(f) for f in file_content] + prefetched_data = parallel_data_prefetch(load_multi_files, data, + n_proc=min(len(data), cpu_count()), target_data_type='dict') + + data_pool = {key: np.concatenate([od[key] for od in prefetched_data], axis=1)[0] for key in prefetched_data[0].keys()} + else: + raise ValueError(f'No npz-files in specified path "{dpath}" is this directory existing?') + + print(f'Finished loading of retrieval database of length {data_pool["embedding"].shape[0]}.') + return data_pool + + +def train_searcher(opt, + metric='dot_product', + partioning_trainsize=None, + reorder_k=None, + # todo tune + aiq_thld=0.2, + dims_per_block=2, + num_leaves=None, + num_leaves_to_search=None,): + + data_pool = load_datapool(opt.database) + k = opt.knn + + if not reorder_k: + reorder_k = 2 * k + + # normalize + # embeddings = + searcher = scann.scann_ops_pybind.builder(data_pool['embedding'] / np.linalg.norm(data_pool['embedding'], axis=1)[:, np.newaxis], k, metric) + pool_size = data_pool['embedding'].shape[0] + + print(*(['#'] * 100)) + print('Initializing scaNN searcher with the following values:') + print(f'k: {k}') + print(f'metric: {metric}') + print(f'reorder_k: {reorder_k}') + print(f'anisotropic_quantization_threshold: {aiq_thld}') + print(f'dims_per_block: {dims_per_block}') + print(*(['#'] * 100)) + print('Start training searcher....') + print(f'N samples in pool is {pool_size}') + + # this reflects the recommended design choices proposed at + # https://github.com/google-research/google-research/blob/aca5f2e44e301af172590bb8e65711f0c9ee0cfd/scann/docs/algorithms.md + if pool_size < 2e4: + print('Using brute force search.') + searcher = search_bruteforce(searcher) + elif 2e4 <= pool_size and pool_size < 1e5: + print('Using asymmetric hashing search and reordering.') + searcher = search_ah(searcher, dims_per_block, aiq_thld, reorder_k) + else: + print('Using using partioning, asymmetric hashing search and reordering.') + + if not partioning_trainsize: + partioning_trainsize = data_pool['embedding'].shape[0] // 10 + if not num_leaves: + num_leaves = int(np.sqrt(pool_size)) + + if not num_leaves_to_search: + num_leaves_to_search = max(num_leaves // 20, 1) + + print('Partitioning params:') + print(f'num_leaves: {num_leaves}') + print(f'num_leaves_to_search: {num_leaves_to_search}') + # self.searcher = self.search_ah(searcher, dims_per_block, aiq_thld, reorder_k) + searcher = search_partioned_ah(searcher, dims_per_block, aiq_thld, reorder_k, + partioning_trainsize, num_leaves, num_leaves_to_search) + + print('Finish training searcher') + searcher_savedir = opt.target_path + os.makedirs(searcher_savedir, exist_ok=True) + searcher.serialize(searcher_savedir) + print(f'Saved trained searcher under "{searcher_savedir}"') + +if __name__ == '__main__': + sys.path.append(os.getcwd()) + parser = argparse.ArgumentParser() + parser.add_argument('--database', + '-d', + default='data/rdm/retrieval_databases/openimages', + type=str, + help='path to folder containing the clip feature of the database') + parser.add_argument('--target_path', + '-t', + default='data/rdm/searchers/openimages', + type=str, + help='path to the target folder where the searcher shall be stored.') + parser.add_argument('--knn', + '-k', + default=20, + type=int, + help='number of nearest neighbors, for which the searcher shall be optimized') + + opt, _ = parser.parse_known_args() + + train_searcher(opt,) \ No newline at end of file From 693cd2ba42e03836dd50010cdb0b7ffd0e660f2e Mon Sep 17 00:00:00 2001 From: Robin Rombach Date: Tue, 26 Jul 2022 23:58:15 +0200 Subject: [PATCH 08/10] annot --- README.md | 6 +++++- scripts/knn2img.py | 44 ++++++++++++++++++++------------------------ 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 3193a91cd..1ebc2262b 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,11 @@ If you use any of these models in your work, we are always happy to receive a [c ![rdm-figure](assets/rdm-preview.jpg) We include inference code to run our retrieval-augmented diffusion models (RDMs) as described in [https://arxiv.org/abs/2204.11824](https://arxiv.org/abs/2204.11824). -To get started, download the weights: +To get started, install the following dependencies into the `ldm` conda environment, +```bash +pip install transformers==4.19.2 scann kornia +``` +and download the weights: ```bash mkdir -p models/rdm/rdm768x768 wget -O models/rdm/rdm768x768/model.ckpt TODO diff --git a/scripts/knn2img.py b/scripts/knn2img.py index 6bb4299e6..44168fd45 100644 --- a/scripts/knn2img.py +++ b/scripts/knn2img.py @@ -13,13 +13,11 @@ import time from multiprocessing import cpu_count - from ldm.util import instantiate_from_config, parallel_data_prefetch from ldm.models.diffusion.ddim import DDIMSampler from ldm.models.diffusion.plms import PLMSSampler from ldm.modules.encoders.modules import FrozenClipImageEmbedder, FrozenCLIPTextEmbedder - DATABASES = [ "openimages", "artbench-art_nouveau", @@ -69,8 +67,8 @@ def __init__(self, database, retriever_version='ViT-L/14'): self.database_path = f'data/retrieval_databases/{self.database_name}' self.retriever = self.load_retriever(version=retriever_version) self.database = {'embedding': [], - 'img_id': [], - 'patch_coords': []} + 'img_id': [], + 'patch_coords': []} self.load_database() self.load_searcher() @@ -105,10 +103,8 @@ def load_multi_files(self, data_archive): def load_database(self): - print(f'Load saved patch embedding from "{self.database_path}"') - file_content = glob.glob(os.path.join(self.database_path,'*.npz')) - + file_content = glob.glob(os.path.join(self.database_path, '*.npz')) if len(file_content) == 1: self.load_single_file(file_content[0]) @@ -117,15 +113,14 @@ def load_database(self): prefetched_data = parallel_data_prefetch(self.load_multi_files, data, n_proc=min(len(data), cpu_count()), target_data_type='dict') - self.database = {key: np.concatenate([od[key] for od in prefetched_data], axis=1)[0] for key in self.database} + self.database = {key: np.concatenate([od[key] for od in prefetched_data], axis=1)[0] for key in + self.database} else: raise ValueError(f'No npz-files in specified path "{self.database_path}" is this directory existing?') print(f'Finished loading of retrieval database of length {self.database["embedding"].shape[0]}.') - - def load_retriever(self,version='ViT-L/14',): - + def load_retriever(self, version='ViT-L/14', ): model = FrozenClipImageEmbedder(model=version) if torch.cuda.is_available(): model.cuda() @@ -137,15 +132,14 @@ def load_searcher(self): self.searcher = scann.scann_ops_pybind.load_searcher(self.searcher_savedir) print('Finished loading searcher.') - def search(self, x, k): if self.searcher is None and self.database['embedding'].shape[0] < 2e4: - self.train_searcher(k) + self.train_searcher(k) # quickly fit searcher on the fly for small databases assert self.searcher is not None, 'Cannot search with uninitialized searcher' - if isinstance(x,torch.Tensor): + if isinstance(x, torch.Tensor): x = x.detach().cpu().numpy() if len(x.shape) == 3: - x = x[:,0] + x = x[:, 0] query_embeddings = x / np.linalg.norm(x, axis=1)[:, np.newaxis] start = time.time() @@ -169,9 +163,11 @@ def search(self, x, k): def __call__(self, x, n): return self.search(x, n) + if __name__ == "__main__": parser = argparse.ArgumentParser() # TODO: add n_neighbors and modes (text-only, text-image-retrieval, image-image retrieval etc) + # TODO: add 'image variation' mode when knn=0 but a single image is given instead of a text prompt? parser.add_argument( "--prompt", type=str, @@ -293,7 +289,7 @@ def __call__(self, x, n): type=str, default=DATABASES[0], choices=DATABASES, - help="The database used for the search", + help="The database used for the search, only applied when --use_neighbors=True", ) parser.add_argument( "--use_neighbors", @@ -308,7 +304,6 @@ def __call__(self, x, n): help="The number of included neighbors, only applied when --use_neighbors=True", ) - opt = parser.parse_args() config = OmegaConf.load(f"{opt.config}") @@ -344,7 +339,7 @@ def __call__(self, x, n): os.makedirs(sample_path, exist_ok=True) base_count = len(os.listdir(sample_path)) grid_count = len(os.listdir(outpath)) - 1 - + print(f"sampling scale for cfg is {opt.scale:.2f}") searcher = None @@ -360,15 +355,15 @@ def __call__(self, x, n): if isinstance(prompts, tuple): prompts = list(prompts) c = clip_text_encoder.encode(prompts) + uc = None if searcher is not None: - nn_dict = searcher(c,opt.knn) - c = torch.cat([c,torch.from_numpy(nn_dict['nn_embeddings']).cuda()],dim=1) - uc = None + nn_dict = searcher(c, opt.knn) + c = torch.cat([c, torch.from_numpy(nn_dict['nn_embeddings']).cuda()], dim=1) if opt.scale != 1.0: uc = torch.zeros_like(c) if isinstance(prompts, tuple): prompts = list(prompts) - shape = [16, opt.H//16, opt.W//16] # note: currently hardcoded for f16 model + shape = [16, opt.H // 16, opt.W // 16] # note: currently hardcoded for f16 model samples_ddim, _ = sampler.sample(S=opt.ddim_steps, conditioning=c, batch_size=c.shape[0], @@ -380,11 +375,12 @@ def __call__(self, x, n): ) x_samples_ddim = model.decode_first_stage(samples_ddim) - x_samples_ddim = torch.clamp((x_samples_ddim+1.0)/2.0, min=0.0, max=1.0) + x_samples_ddim = torch.clamp((x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0) for x_sample in x_samples_ddim: x_sample = 255. * rearrange(x_sample.cpu().numpy(), 'c h w -> h w c') - Image.fromarray(x_sample.astype(np.uint8)).save(os.path.join(sample_path, f"{base_count:05}.png")) + Image.fromarray(x_sample.astype(np.uint8)).save( + os.path.join(sample_path, f"{base_count:05}.png")) base_count += 1 all_samples.append(x_samples_ddim) From 7cc4a3921c0e42a6d0ec56a22704d822b164baff Mon Sep 17 00:00:00 2001 From: Robin Rombach Date: Wed, 27 Jul 2022 01:41:33 +0200 Subject: [PATCH 09/10] finalize rdm inference --- README.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 53971a3eb..4bf01eb1f 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ ## News ### July 2022 -- Inference code and model weights to run our [retrieval-augmented diffusion models](https://arxiv.org/abs/2204.11824) are now available. See [this section](#rdm). +- Inference code and model weights to run our [retrieval-augmented diffusion models](https://arxiv.org/abs/2204.11824) are now available. See [this section](#retrieval-augmented-diffusion-models). ### April 2022 - Thanks to [Katherine Crowson](https://github.com/crowsonkb), classifier-free guidance received a ~2x speedup and the [PLMS sampler](https://arxiv.org/abs/2202.09778) is available. See also [this PR](https://github.com/CompVis/latent-diffusion/pull/51). @@ -45,19 +45,20 @@ conda activate ldm A general list of all available checkpoints is available in via our [model zoo](#model-zoo). If you use any of these models in your work, we are always happy to receive a [citation](#bibtex). -## Retrieval Augmented Diffusion Models (WIP) +## Retrieval Augmented Diffusion Models ![rdm-figure](assets/rdm-preview.jpg) We include inference code to run our retrieval-augmented diffusion models (RDMs) as described in [https://arxiv.org/abs/2204.11824](https://arxiv.org/abs/2204.11824). -To get started, install the additionally required python packages into your ldm environment +To get started, install the additionally required python packages into your `ldm` environment ```shell script -pip install transformers==4.19.2 scann kornia==0.6.4 +pip install transformers==4.19.2 scann kornia==0.6.4 torchmetrics==0.6.0 +pip install git+https://github.com/arogozhnikov/einops.git ``` -and download the trained weights: +and download the trained weights (preliminary ceckpoints): ```bash -mkdir models/rdm/rdm768x768/ +mkdir -p models/rdm/rdm768x768/ wget -O models/rdm/rdm768x768/model.ckpt https://ommer-lab.com/files/rdm/model.ckpt ``` As these models are conditioned on a set of CLIP image embeddings, our RDMs support different inference modes, @@ -74,8 +75,7 @@ python scripts/knn2img.py --prompt "a happy bear reading a newspaper, oil on ca To be able to run a RDM conditioned on a text-prompt and additionally images retrieved from this prompt, you will also need to download the corresponding retrieval database. We provide two distinct databases extracted from the [Openimages-](https://storage.googleapis.com/openimages/web/index.html) and [ArtBench-](https://github.com/liaopeiyuan/artbench) datasets. -Interchanging the databases results in different capabilities -of the resulting semi-parametric model as visualized below #TODO although the learned weights are the same in both cases. +Interchanging the databases results in different capabilities of the model as visualized below, although the learned weights are the same in both cases. Download the retrieval-databases which contain the retrieval-datasets ([Openimages](https://storage.googleapis.com/openimages/web/index.html) (~11GB) and [ArtBench](https://github.com/liaopeiyuan/artbench) (~82MB)) compressed into CLIP image embeddings: ```bash @@ -89,7 +89,7 @@ We also provide trained [ScaNN](https://github.com/google-research/google-resear ```bash mkdir -p data/rdm/searchers wget -O data/rdm/searchers/artbench.zip https://ommer-lab.com/files/rdm/artbench_searchers.zip -unzip data/rdm/searchers/openimages.zip -d data/rdm/searchers +unzip data/rdm/searchers/artbench.zip -d data/rdm/searchers ``` Since the index for OpenImages is large (~21 GB), we provide a script to create and save it for usage during sampling. Note however, @@ -98,11 +98,13 @@ that sampling with the OpenImages database will not be possible without this ind python scripts/train_searcher.py ``` -After this, retrieval based text-guided sampling with visual nearest neighbors can be started via +Retrieval based text-guided sampling with visual nearest neighbors can be started via ``` -python scripts/knn2img.py --prompt "a happy bear reading a newspaper, oil on canvas" --use_neighbors --knn +python scripts/knn2img.py --prompt "a happy bear reading a newspaper" --use_neighbors --knn ``` -Note that the maximum supported number of neighbors is 20. The database can be changed via the cmd parameter ``--database`` which can be `[openimages, artbench-art_nouveau, artbench-baroque, artbench-expressionism, artbench-impressionism, artbench-post_impressionism, artbench-realism, artbench-renaissance, artbench-romanticism, artbench-surrealism, artbench-ukiyo_e]`. +Note that the maximum supported number of neighbors is 20. +The database can be changed via the cmd parameter ``--database`` which can be `[openimages, artbench-art_nouveau, artbench-baroque, artbench-expressionism, artbench-impressionism, artbench-post_impressionism, artbench-realism, artbench-renaissance, artbench-romanticism, artbench-surrealism, artbench-ukiyo_e]`. +For using `--database openimages`, the above script (`scripts/train_searcher.py`) must be executed before. From 513f009724fb4b47f2d769df7db4d2356a7b6801 Mon Sep 17 00:00:00 2001 From: Robin Rombach Date: Wed, 27 Jul 2022 01:44:19 +0200 Subject: [PATCH 10/10] formatting and info --- README.md | 4 ++-- ldm/util.py | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 4bf01eb1f..7bdf52a17 100644 --- a/README.md +++ b/README.md @@ -100,12 +100,12 @@ python scripts/train_searcher.py Retrieval based text-guided sampling with visual nearest neighbors can be started via ``` -python scripts/knn2img.py --prompt "a happy bear reading a newspaper" --use_neighbors --knn +python scripts/knn2img.py --prompt "a happy pineapple" --use_neighbors --knn ``` Note that the maximum supported number of neighbors is 20. The database can be changed via the cmd parameter ``--database`` which can be `[openimages, artbench-art_nouveau, artbench-baroque, artbench-expressionism, artbench-impressionism, artbench-post_impressionism, artbench-realism, artbench-renaissance, artbench-romanticism, artbench-surrealism, artbench-ukiyo_e]`. For using `--database openimages`, the above script (`scripts/train_searcher.py`) must be executed before. - +Due to their relatively small size, the artbench datasetbases are best suited for creating more abstract concepts and do not work well for detailed text control. #### Coming Soon diff --git a/ldm/util.py b/ldm/util.py index 5d6c654ec..8ba38853e 100644 --- a/ldm/util.py +++ b/ldm/util.py @@ -45,7 +45,7 @@ def ismap(x): def isimage(x): - if not isinstance(x,torch.Tensor): + if not isinstance(x, torch.Tensor): return False return (len(x.shape) == 4) and (x.shape[1] == 3 or x.shape[1] == 1) @@ -71,7 +71,7 @@ def mean_flat(tensor): def count_params(model, verbose=False): total_params = sum(p.numel() for p in model.parameters()) if verbose: - print(f"{model.__class__.__name__} has {total_params*1.e-6:.2f} M params.") + print(f"{model.__class__.__name__} has {total_params * 1.e-6:.2f} M params.") return total_params @@ -92,12 +92,13 @@ def get_obj_from_str(string, reload=False): importlib.reload(module_imp) return getattr(importlib.import_module(module, package=None), cls) + def _do_parallel_data_prefetch(func, Q, data, idx, idx_to_fn=False): # create dummy dataset instance # run prefetching if idx_to_fn: - res = func(data,worker_id=idx) + res = func(data, worker_id=idx) else: res = func(data) Q.put([idx, res]) @@ -105,7 +106,7 @@ def _do_parallel_data_prefetch(func, Q, data, idx, idx_to_fn=False): def parallel_data_prefetch( - func: callable, data, n_proc, target_data_type="ndarray",cpu_intensive=True,use_worker_id=False + func: callable, data, n_proc, target_data_type="ndarray", cpu_intensive=True, use_worker_id=False ): # if target_data_type not in ["ndarray", "list"]: # raise ValueError( @@ -149,7 +150,7 @@ def parallel_data_prefetch( arguments = [ [func, Q, part, i, use_worker_id] for i, part in enumerate( - [data[i : i + step] for i in range(0, len(data), step)] + [data[i: i + step] for i in range(0, len(data), step)] ) ] processes = [] @@ -199,4 +200,4 @@ def parallel_data_prefetch( out.extend(r) return out else: - return gather_res \ No newline at end of file + return gather_res