{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Diffusion unet" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import os\n", "# os.environ['CUDA_VISIBLE_DEVICES']='1'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import timm, torch, random, datasets, math, fastcore.all as fc, numpy as np, matplotlib as mpl, matplotlib.pyplot as plt\n", "import k_diffusion as K, torchvision.transforms as T\n", "import torchvision.transforms.functional as TF,torch.nn.functional as F\n", "\n", "from torch.utils.data import DataLoader,default_collate\n", "from pathlib import Path\n", "from torch.nn import init\n", "from fastcore.foundation import L\n", "from torch import nn,tensor\n", "from datasets import load_dataset\n", "from operator import itemgetter\n", "from torcheval.metrics import MulticlassAccuracy\n", "from functools import partial\n", "from torch.optim import lr_scheduler\n", "from torch import optim\n", "\n", "from miniai.datasets import *\n", "from miniai.conv import *\n", "from miniai.learner import *\n", "from miniai.activations import *\n", "from miniai.init import *\n", "from miniai.sgd import *\n", "from miniai.resnet import *\n", "from miniai.augment import *\n", "from miniai.accel import *" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from fastprogress import progress_bar\n", "from diffusers import UNet2DModel, DDIMPipeline, DDPMPipeline, DDIMScheduler, DDPMScheduler" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "torch.set_printoptions(precision=5, linewidth=140, sci_mode=False)\n", "torch.manual_seed(1)\n", "mpl.rcParams['image.cmap'] = 'gray_r'\n", "mpl.rcParams['figure.dpi'] = 70\n", "\n", "import logging\n", "logging.disable(logging.WARNING)\n", "\n", "set_seed(42)\n", "if fc.defaults.cpus>8: fc.defaults.cpus=8" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "be41a4f8fd1e4263b58cd76f45fd32ec", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/2 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(exponent);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "torch.Size([100, 8])" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "emb = tsteps[:,None].float() * exponent.exp()[None,:]\n", "emb.shape" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(emb[0])\n", "plt.plot(emb[10])\n", "plt.plot(emb[20])\n", "plt.plot(emb[50])\n", "plt.plot(emb[-1]);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "torch.Size([100, 16])" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "emb = torch.cat([torch.sin(emb), torch.cos(emb)], dim=-1)\n", "emb.shape" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(emb[:,0])\n", "plt.plot(emb[:,1])\n", "plt.plot(emb[:,2])\n", "plt.plot(emb[:,3])\n", "plt.plot(emb[:,4]);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(emb[:,8])\n", "plt.plot(emb[:,9])\n", "plt.plot(emb[:,10]);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_image(emb.T, figsize=(7,7));" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def timestep_embedding(tsteps, emb_dim, max_period= 10000):\n", " exponent = -math.log(max_period) * torch.linspace(0, 1, emb_dim//2, device=tsteps.device)\n", " emb = tsteps[:,None].float() * exponent.exp()[None,:]\n", " emb = torch.cat([emb.sin(), emb.cos()], dim=-1)\n", " return F.pad(emb, (0,1,0,0)) if emb_dim%2==1 else emb" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_image(timestep_embedding(tsteps, 32, max_period=1000).T, figsize=(7,7));" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAACHCAYAAADjoKV5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAArEAAAKxAFmbYLUAAAUoklEQVR4nO2dy64dtdaFHS6HJBByD0lAAh4AiS5I0KDNI8BT0eRdeBMIQlFuhCTknnDJabE1PfbyGJl/7QT+w/e11pRrVblsV1kew3Ydevbs2bMBAACwg1f+7gwAAMA/FzoJAABYQicBAABL6CQAAGAJnQQAACx5zSV++umnU3z+/PllfPHixSlNY/3vO++8M8WnT5/e+338+PEp7c0335zi119/fYoPHTo0xb///vve74cPH05pd+/eneJbt25N8Y0bN6b42rVre7+vXr06pV25cmWKNb3+V899+/btKe3+/ftTrPn+888/x4rDhw9P8VtvvTXFJ06cmOIzZ85M8blz5/Z+X7hwYUrTetR0jeu59DqaD63X//znP1Nc67XW6RhjPHr0aIq1XrV8a9lfv359StN67NTrzz//bK+r+dJ8631V3njjjSk+evToFGt5nj17du93rYcxcr25etZzpXrV9lfvQ5/VP/74Y4q1fO7duzfFtXy17PV56zyv7lkdY/97Quu1Pq+uTsfY385dvZ46dWpK0/emvlfffffdKa71qHWu59L3/V8wkgAAgCV0EgAAsIROAgAAlhxyK65//PHHKX777benuGppqrO98src/+hlfvvttymuWqTq87/++usUqz74yy+/THHVKlVbTPHNmzeXcfIRHjx4MMVPnjyZYucrqM+iPoPq91W3TJ5D1arH2K8x11jT9L/VOxpjjJMnT07xsWPHlnnWe3r11VeHo2q7jx8/ntK0rLWNaF3VNqJatsbqWWh6bTPaFvW6mi/Nd72vpGXrM3XkyJEpruWtvoBq21qPWs81Vu16SxtRv1HzqW1En4uK+hn6vKmv5/wNfYfoe0DfE66NaHvRcyV/o75X1KN5+vTpcKjnU/0gbS9aF5cuXdp5TkYSAACwhE4CAACW0EkAAMASu05C9WbV+KrWluapa6y6XD1X8hw6OrDqkBqr5qdeidOJVf9T/VT11urhaFrV8sfY7zOozls1Zk1zx+6Kaz3rddWHUp9B53hXb+q1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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_image(timestep_embedding(tsteps, 32, max_period=10).T, figsize=(7,7));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Timestep model" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from functools import wraps" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def lin(ni, nf, act=nn.SiLU, norm=None, bias=True):\n", " layers = nn.Sequential()\n", " if norm: layers.append(norm(ni))\n", " if act : layers.append(act())\n", " layers.append(nn.Linear(ni, nf, bias=bias))\n", " return layers" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class EmbResBlock(nn.Module):\n", " def __init__(self, n_emb, ni, nf=None, ks=3, act=nn.SiLU, norm=nn.BatchNorm2d):\n", " super().__init__()\n", " if nf is None: nf = ni\n", " self.emb_proj = nn.Linear(n_emb, nf*2)\n", " self.conv1 = unet_conv(ni, nf, ks, act=act, norm=norm) #, bias=not norm)\n", " self.conv2 = unet_conv(nf, nf, ks, act=act, norm=norm)\n", " self.idconv = fc.noop if ni==nf else nn.Conv2d(ni, nf, 1)\n", "\n", " def forward(self, x, t):\n", " inp = x\n", " x = self.conv1(x)\n", " emb = self.emb_proj(F.silu(t))[:, :, None, None]\n", " scale,shift = torch.chunk(emb, 2, dim=1)\n", " x = x*(1+scale) + shift\n", " x = self.conv2(x)\n", " return x + self.idconv(inp)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def saved(m, blk):\n", " m_ = m.forward\n", "\n", " @wraps(m.forward)\n", " def _f(*args, **kwargs):\n", " res = m_(*args, **kwargs)\n", " blk.saved.append(res)\n", " return res\n", "\n", " m.forward = _f\n", " return m" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class DownBlock(nn.Module):\n", " def __init__(self, n_emb, ni, nf, add_down=True, num_layers=1):\n", " super().__init__()\n", " self.resnets = nn.ModuleList([saved(EmbResBlock(n_emb, ni if i==0 else nf, nf), self)\n", " for i in range(num_layers)])\n", " self.down = saved(nn.Conv2d(nf, nf, 3, stride=2, padding=1), self) if add_down else nn.Identity()\n", "\n", " def forward(self, x, t):\n", " self.saved = []\n", " for resnet in self.resnets: x = resnet(x, t)\n", " x = self.down(x)\n", " return x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class UpBlock(nn.Module):\n", " def __init__(self, n_emb, ni, prev_nf, nf, add_up=True, num_layers=2):\n", " super().__init__()\n", " self.resnets = nn.ModuleList(\n", " [EmbResBlock(n_emb, (prev_nf if i==0 else nf)+(ni if (i==num_layers-1) else nf), nf)\n", " for i in range(num_layers)])\n", " self.up = upsample(nf) if add_up else nn.Identity()\n", "\n", " def forward(self, x, t, ups):\n", " for resnet in self.resnets: x = resnet(torch.cat([x, ups.pop()], dim=1), t)\n", " return self.up(x)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class EmbUNetModel(nn.Module):\n", " def __init__( self, in_channels=3, out_channels=3, nfs=(224,448,672,896), num_layers=1):\n", " super().__init__()\n", " self.conv_in = nn.Conv2d(in_channels, nfs[0], kernel_size=3, padding=1)\n", " self.n_temb = nf = nfs[0]\n", " n_emb = nf*4\n", " # TODO: remove act func from 1st MLP layer\n", " self.emb_mlp = nn.Sequential(lin(self.n_temb, n_emb, norm=nn.BatchNorm1d),\n", " lin(n_emb, n_emb))\n", " self.downs = nn.ModuleList()\n", " for i in range(len(nfs)):\n", " ni = nf\n", " nf = nfs[i]\n", " self.downs.append(DownBlock(n_emb, ni, nf, add_down=i!=len(nfs)-1, num_layers=num_layers))\n", " self.mid_block = EmbResBlock(n_emb, nfs[-1])\n", "\n", " rev_nfs = list(reversed(nfs))\n", " nf = rev_nfs[0]\n", " self.ups = nn.ModuleList()\n", " for i in range(len(nfs)):\n", " prev_nf = nf\n", " nf = rev_nfs[i]\n", " ni = rev_nfs[min(i+1, len(nfs)-1)]\n", " self.ups.append(UpBlock(n_emb, ni, prev_nf, nf, add_up=i!=len(nfs)-1, num_layers=num_layers+1))\n", " self.conv_out = unet_conv(nfs[0], out_channels, act=nn.SiLU, norm=nn.BatchNorm2d, bias=False)\n", "\n", " def forward(self, inp):\n", " x,t = inp\n", " temb = timestep_embedding(t, self.n_temb)\n", " emb = self.emb_mlp(temb)\n", " x = self.conv_in(x)\n", " saved = [x]\n", " for block in self.downs: x = block(x, emb)\n", " saved += [p for o in self.downs for p in o.saved]\n", " x = self.mid_block(x, emb)\n", " for block in self.ups: x = block(x, emb, saved)\n", " return self.conv_out(x)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "model = EmbUNetModel(in_channels=1, out_channels=1, nfs=(32,64,128,256), num_layers=2)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "lr = 1e-2\n", "epochs = 25\n", "opt_func = partial(optim.Adam, eps=1e-5)\n", "tmax = epochs * len(dls.train)\n", "sched = partial(lr_scheduler.OneCycleLR, max_lr=lr, total_steps=tmax)\n", "cbs = [DeviceCB(), ProgressCB(plot=True), MetricsCB(), BatchSchedCB(sched), MixedPrecision()]\n", "model = EmbUNetModel(in_channels=1, out_channels=1, nfs=(32,64,128,256), num_layers=2)\n", "learn = Learner(model, dls, nn.MSELoss(), lr=lr, cbs=cbs, opt_func=opt_func)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lossepochtrain
0.4090train
0.3040eval
0.2211train
0.3381eval
0.1932train
0.2152eval
0.1823train
0.2193eval
0.1754train
0.2014eval
0.1695train
0.2065eval
0.1656train
0.2406eval
0.1627train
0.1807eval
0.1578train
0.1868eval
0.1559train
0.2229eval
0.15310train
0.19010eval
0.15111train
0.16411eval
0.14912train
0.18612eval
0.14813train
0.15813eval
0.14614train
0.14614eval
0.14515train
0.15215eval
0.14316train
0.14816eval
0.14317train
0.14217eval
0.14218train
0.14218eval
0.14019train
0.14019eval
0.13920train
0.13820eval
0.13921train
0.13921eval
0.13722train
0.13922eval
0.13723train
0.13823eval
0.13824train
0.13724eval
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "learn.fit(epochs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sampling" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from miniai.fid import ImageEval" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cmodel = torch.load('models/data_aug2.pkl')\n", "del(cmodel[8])\n", "del(cmodel[7])\n", "\n", "bs = 2048\n", "tds2 = dsd.with_transform(transformi)\n", "dls2 = DataLoaders.from_dd(tds, bs, num_workers=fc.defaults.cpus)\n", "\n", "dt = dls2.train\n", "xb,yb = next(iter(dt))\n", "\n", "ie = ImageEval(cmodel, dls2, cbs=[DeviceCB()])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sz = (512,1,32,32)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sz = (2048,1,32,32)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def sigmas_karras(n, sigma_min=0.01, sigma_max=80., rho=7.):\n", " ramp = torch.linspace(0, 1, n)\n", " min_inv_rho = sigma_min**(1/rho)\n", " max_inv_rho = sigma_max**(1/rho)\n", " sigmas = (max_inv_rho + ramp * (min_inv_rho-max_inv_rho))**rho\n", " return torch.cat([sigmas, tensor([0.])]).cuda()\n", "\n", "def denoise(model, x, sig):\n", " sig = sig[None] #* torch.ones((len(x),1), device=x.device)\n", " c_skip,c_out,c_in = scalings(sig)\n", " return model((x*c_in, sig))*c_out + x*c_skip" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def get_ancestral_step(sigma_from, sigma_to, eta=1.):\n", " if not eta: return sigma_to, 0.\n", " var_to,var_from = sigma_to**2,sigma_from**2\n", " sigma_up = min(sigma_to, eta * (var_to * (var_from-var_to)/var_from)**0.5)\n", " return (var_to-sigma_up**2)**0.5, sigma_up\n", "\n", "@torch.no_grad()\n", "def sample_euler_ancestral(x, sigs, i, model, eta=1.):\n", " sig,sig2 = sigs[i],sigs[i+1]\n", " denoised = denoise(model, x, sig)\n", " sigma_down,sigma_up = get_ancestral_step(sig, sig2, eta=eta)\n", " x = x + (x-denoised)/sig*(sigma_down-sig)\n", " return x + torch.randn_like(x)*sigma_up" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "@torch.no_grad()\n", "def sample_euler(x, sigs, i, model):\n", " sig,sig2 = sigs[i],sigs[i+1]\n", " denoised = denoise(model, x, sig)\n", " return x + (x-denoised)/sig*(sig2-sig)\n", "\n", "@torch.no_grad()\n", "def sample_heun(x, sigs, i, model, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1.):\n", " sig,sig2 = sigs[i],sigs[i+1]\n", " n = len(sigs)\n", " gamma = min(s_churn/(n-1), 2**0.5-1) if s_tmin<=sig<=s_tmax else 0.\n", " eps = torch.randn_like(x) * s_noise\n", " sigma_hat = sig * (gamma+1)\n", " if gamma > 0: x = x + eps * (sigma_hat**2-sig**2)**0.5\n", " denoised = denoise(model, x, sig)\n", " d = (x-denoised)/sig\n", " dt = sig2-sigma_hat\n", " x_2 = x + d*dt\n", " if sig2==0: return x_2\n", " denoised_2 = denoise(model, x_2, sig2)\n", " d_2 = (x_2-denoised_2)/sig2\n", " d_prime = (d+d_2)/2\n", " return x + d_prime*dt" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def sample(sampler, model, steps=100, sigma_max=80., **kwargs):\n", " preds = []\n", " x = torch.randn(sz).cuda()*sigma_max\n", " sigs = sigmas_karras(steps, sigma_max=sigma_max)\n", " for i in progress_bar(range(len(sigs)-1)):\n", " x = sampler(x, sigs, i, model, **kwargs)\n", " preds.append(x)\n", " return preds" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", " \n", " 100.00% [20/20 00:04<00:00]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "preds = sample_lms(model, steps=20, order=3)\n", "# preds = sample(sample_euler_ancestral, model, steps=100, eta=1.)\n", "# preds = sample(sample_euler, model, steps=100)\n", "# preds = sample(sample_heun, model, steps=20, s_churn=0.5)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(tensor(-1.09312, device='cuda:0'), tensor(1.43464, device='cuda:0'))" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s = preds[-1]\n", "s.min(),s.max()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_images(s[:25].clamp(-1,1), imsize=1.5)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(6.195896366748002, 0.011938275769352913, torch.Size([2048, 1, 32, 32]))" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# lms 20\n", "ie.fid(s),ie.kid(s),s.shape" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", " \n", " 100.00% [20/20 00:04<00:00]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(4.967668251150826, 0.01714729703962803, torch.Size([2048, 1, 32, 32]))" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "preds = sample_lms(model, steps=20, order=3)\n", "s = preds[-1]\n", "ie.fid(s),ie.kid(s),s.shape" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", " \n", " 100.00% [20/20 00:04<00:00]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(4.607266664456915, 0.0245591439306736, torch.Size([2048, 1, 32, 32]))" ] }, "execution_count": null, "metadata": {}, "output_type": "execute_result" } ], "source": [ "preds = sample_lms(model, steps=20, order=3)\n", "s = preds[-1]\n", "ie.fid(s),ie.kid(s),s.shape" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from scipy import integrate" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def linear_multistep_coeff(order, t, i, j):\n", " if order-1 > i: raise ValueError(f'Order {order} too high for step {i}')\n", " def fn(tau):\n", " prod = 1.\n", " for k in range(order):\n", " if j == k: continue\n", " prod *= (tau-t[i-k]) / (t[i-j]-t[i-k])\n", " return prod\n", " return integrate.quad(fn, t[i], t[i+1], epsrel=1e-4)[0]\n", "\n", "@torch.no_grad()\n", "def sample_lms(model, steps=100, order=4, sigma_max=80.):\n", " preds = []\n", " x = torch.randn(sz).cuda()*sigma_max\n", " sigs = sigmas_karras(steps, sigma_max=sigma_max)\n", " ds = []\n", " for i in progress_bar(range(len(sigs)-1)):\n", " sig = sigs[i]\n", " denoised = denoise(model, x, sig)\n", " d = (x-denoised)/sig\n", " ds.append(d)\n", " if len(ds) > order: ds.pop(0)\n", " cur_order = min(i+1, order)\n", " coeffs = [linear_multistep_coeff(cur_order, sigs, i, j) for j in range(cur_order)]\n", " x = x + sum(coeff*d for coeff, d in zip(coeffs, reversed(ds)))\n", " preds.append(x)\n", " return preds" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "python3", "language": "python", "name": "python3" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "0abad3eee1904c2bb8a2f963fed5fba6": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "13c327d321444b32aa4349ec81e98cde": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "184b1cfa56be41c7845062a4e7c5fa59": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "250c148b80734613a53fec26ab1b3db8": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "33691922e1a0401890529b929d0169b7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "ProgressStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "ProgressStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "bar_color": null, "description_width": "" } }, "3b7a1d8560004241b9b06700bcdb5b1c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "success", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_63c702b2fa6a4270b88479f5319a6ae2", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_33691922e1a0401890529b929d0169b7", "value": 1 } }, "4979c4212a1b46ceb5664a9a8680b665": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "DescriptionStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "StyleView", "description_width": "" } }, "56f6e898da4248ea9a64658f6b284a3b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "60553a0615334106a03d52877861569a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6172b7637810408ebe9e2118c5d02c04": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_250c148b80734613a53fec26ab1b3db8", "placeholder": "​", "style": "IPY_MODEL_0abad3eee1904c2bb8a2f963fed5fba6", "value": "100%" } }, "63c702b2fa6a4270b88479f5319a6ae2": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "6a7fe0a8c7d844c9b92ab9dab247ec79": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "72f566c251ba4cf6a0282ed4340e1f08": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HTMLModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HTMLModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HTMLView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_56f6e898da4248ea9a64658f6b284a3b", "placeholder": "​", "style": "IPY_MODEL_184b1cfa56be41c7845062a4e7c5fa59", "value": " 1/1 [00:00<00:00, 27.33it/s]" } }, "8f31a65e904f4bde91cc6fea6636c0a8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "FloatProgressModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "FloatProgressModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "ProgressView", "bar_style": "", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_60553a0615334106a03d52877861569a", "max": 1, "min": 0, "orientation": "horizontal", "style": "IPY_MODEL_13c327d321444b32aa4349ec81e98cde", "value": 1 } }, "a4e5d6ce3657424eada1a68d0ff884b1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "LabelModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "LabelModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "LabelView", "description": "", "description_tooltip": null, "layout": "IPY_MODEL_d99f9f7346f34b1cbaaa865b0106a952", "placeholder": "​", "style": "IPY_MODEL_4979c4212a1b46ceb5664a9a8680b665", "value": "139.511 MB of 139.511 MB uploaded (0.000 MB deduped)\r" } }, "aa9daced7eee485a918d1e398d228f51": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "HBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "HBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "HBoxView", "box_style": "", "children": [ "IPY_MODEL_6172b7637810408ebe9e2118c5d02c04", "IPY_MODEL_3b7a1d8560004241b9b06700bcdb5b1c", "IPY_MODEL_72f566c251ba4cf6a0282ed4340e1f08" ], "layout": "IPY_MODEL_6a7fe0a8c7d844c9b92ab9dab247ec79" } }, "c76eba57c2af4a40b73731dc10b74c57": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "d99f9f7346f34b1cbaaa865b0106a952": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "1.2.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "1.2.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "overflow_x": null, "overflow_y": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "dee95d2f12434f91b42f903656cc1ae8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "VBoxModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_model_name": "VBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "1.5.0", "_view_name": "VBoxView", "box_style": "", "children": [ "IPY_MODEL_a4e5d6ce3657424eada1a68d0ff884b1", "IPY_MODEL_8f31a65e904f4bde91cc6fea6636c0a8" ], "layout": "IPY_MODEL_c76eba57c2af4a40b73731dc10b74c57" } } } } }, "nbformat": 4, "nbformat_minor": 4 }