{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Conditional Denoising Diffusion Probabilistic Models (DDPMs) with fastai\n", "By Tanishq Abraham and Thomas Capelle\n", "\n", "In this notebook, we will implement [Denoising Diffusion Probabilistic Models](https://arxiv.org/abs/2006.11239), a seminal paper in the diffusion model literature.\n", "\n", "A one-sentence summary: Train a denoising model conditioned on the amount of noise present in the image, and generate samples by iteratively denoising from pure noise to a final sample conditioned to the label of the image.\n", "\n", "The final model is capable to generate an image form a label!\n", "\n", "Let's get started with the implementation!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Imports\n", "\n", "Here are all our imports. The unet file is taken from [lucidrains' DDPM implementation](https://github.com/lucidrains/denoising-diffusion-pytorch) just to focus on implementing the training process rather than architectural details." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "id": "rCPJR6JRrqUp" }, "outputs": [], "source": [ "from fastai.vision.all import *\n", "from fastai.vision.gan import *\n", "from unet import Unet\n", "from copy import deepcopy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Dataloading\n", "\n", "Let's load our data. We'll work with the famous MNIST dataset." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "okr8kAqSvIUD" }, "outputs": [], "source": [ "bs = 256 # batch size\n", "size = 32 # image size" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "id": "B8nsEdKXvKim" }, "outputs": [], "source": [ "path = untar_data(URLs.MNIST)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the highly flexible DataBlock API in fastai to create our DataLoaders.\n", "\n", "~~Note that we start with pure noise, generated with the obviously named `generate_noise` function.~~" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's use a labelled dataset and train a conditional model on the label" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "id": "DQF8UdVvvP4R" }, "outputs": [], "source": [ "dblock = DataBlock(blocks = (ImageBlock(cls=PILImageBW), CategoryBlock()),\n", " get_items = get_image_files,\n", " get_y = lambda p: p.parent.name,\n", " splitter = IndexSplitter(range(bs)),\n", " item_tfms=Resize(size), \n", " batch_tfms = Normalize.from_stats(torch.tensor([0.5]), torch.tensor([0.5])))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "id": "L6iHHHFRvRPx" }, "outputs": [], "source": [ "dls = dblock.dataloaders(path, path=path, bs=bs)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(torch.Size([256, 1, 32, 32]), torch.Size([256]))" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xb, yb = next(iter(dls.train))\n", "xb.shape, yb.shape" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "id": "ANw0OdjzvRvY" }, "outputs": [ { "data": { "image/png": "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77777mGtLl38t1QASCmltra2bB4991NK6YEHHsjm0QkG++23X1hre3wmb3+/IgAAADoVjS0AAABF09gCAABQNI0tAAAARdPYAgAAUDSNLQAAAEVz3A9AB4tG+EfH+sybNy+sdeutt2bzG264IVzz2muvZfPW1tZs3rVr/ChobGzM5mvWrAnXQCmie/WDrlVrezxWA/hw1q1bl80rHed30UUXZfMTTzwxm//sZz8La3Xv3r3C7srknRYAAICiaWwBAAAomsYWAACAomlsAQAAKJrGFgAAgKKZirwNiSamrlq1KptXmmTap0+fbF5fX1/9xoC/Umli6saNG7P5K6+8ks2/8pWvhLUefPDBbL5+/foKu8vr1q1bNh82bFi45sgjj8zm48aNy+Z1dXVV7ws6SnRftrS0ZPNoKmlKKS1btiybb9q0KZv36NEjrNW/f/9sHt2Tla6ZsAxliU4kiE4wmDVrVlgresZ69v4f3h0BAAAomsYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaqchbWTSZMaWUFixYkM1POeWUbD5+/Piw1g9+8INsPnDgwHBNNE2y0vTXiKmNbC+in/8NGzaEa15//fVsft5552XzRx55JKwVTWCtNAGxe/fu2XzUqFHZ/IwzzghrXXDBBdm80gRY6AjVTjhOKZ5IHt2T1113XVjrJz/5STZvbm7O5pMmTQprnXrqqdl8//33D9fsueee2Tx6jld67pqYCltWpc/Ka9asyeZz587N5tFpCCnFz96ePXtm88527+s+AAAAKJrGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomsYWAACAotW1tecsF9pt9erV4bWbb745m1944YXZPBrtnVJKTzzxRDYfOXJkuGblypXZ/K233srm0ZEiKaW0yy67ZPNu3bpVlUOtvfPOO9n817/+dbjmpptuyubRsT7RkT6V9O/fP7x2zDHHZPPPfe5z2Xzy5Mlhrfr6+mze2Y4QYMuJjuhZvnx5Nr/mmmvCWtGz7+WXX87mr7zyStX7ij42RfdKSvHzcvDgweGa6Pig008/PZtPmzYtrNXY2JjNK+0Z2HyVPt//8Ic/zOZXXnllNu/du3dY68wzz8zm0dF8AwYMCGttj89x39gCAABQNI0tAAAARdPYAgAAUDSNLQAAAEXT2AIAAFC0rrXeQGdTafrpsmXLsnk0gXGvvfYKa/Xp0yebd+kS/7eMXr16ZfNoknI0LTallH72s59l8yFDhmTzE088MazV0NCQzbfHaW7Uzttvv53N//u//zubX3XVVWGtFStWZPP2TD+O7tlzzjknXHP22Wdn8+he7trVo4COET2vNmzYEK6JJobOnj07mz///PNhraampmze0tKSzaPJx+1R6f5ev359No/ed1KKPxM89dRT2fy3v/1tWOu8887L5gcffHC4Bvhr0XvcM888E6554IEHsnl0GkmlCef//M//nM2jk1I622dl39gCAABQNI0tAAAARdPYAgAAUDSNLQAAAEXT2AIAAFC04kdhvvfee9l8wYIF4ZpoauK4ceOyeTSVt5LVq1dn87vvvjtcc/3112fzaKJZNPk4pZTq6+sr7C4vmuT67rvvZvMlS5aEtebOnZvN58+fn80nT54c1hoxYkQ2N8mVar355pvhtauvvjqbX3vttdl80aJFHbKnD3LSSSdl89NPPz1cM2rUqGzevXv3DtkTtLa2ZvM1a9Zk8xtuuCGsFU0ej57j0YTjrSV6JkdTSVNKaccdd8zm3bp1C9dEz+ToRILf/e53Ya3oOX744Ydn8zPOOCOsNXTo0GzumUxn8Morr2Tz6DSQlFJ6+OGHs3k0YbnS5/vevXtX2B2+sQUAAKBoGlsAAACKprEFAACgaBpbAAAAiqaxBQAAoGgaWwAAAIpW/Gz26LifRx55JFzzxhtvZPPdd989m1c67mfTpk1VvcZtt90W1vrzn/+czfv165fNjznmmLBWtOd169aFa1566aVs/j//8z/Z/MUXXwxrPfPMM9k8+rVUOvIgOloBItH9Fx3pk1J83Falo8OqFf0sR8dnpJTSPvvsk82jeyyleM/R61R6/YEDB2bzvn37hmvY/q1atSqbR/fRT3/607DW66+/ns2jI4VqrUuX/HcCf/M3fxOuueiii7J5pXvv+eefz+YPPvhgVXlKKc2ZMyebz5s3L5tXOs7v+OOPz+b7779/Nq90PInnO9uiDRs2hNduv/32bH7fffeFa9avX5/No+O2TjjhhLAWlfnGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomsYWAACAohU/FTmamrho0aJwzZAhQ7J5NOmwkpaWlmweTWV96qmnwlrRdMBhw4Zl85NOOimsFU1F3rhxY7gm+r2MpiVXmvC8ww47ZPNzzjknm0eTV1Nq358LnUM0Ff3WW2/N5jfeeGNYa/78+R2wo4733HPPZfNoWnlKKTU3N2fzXXfdNZvvsssuYa3Ro0dn80MOOSSb77bbbmGtPn36ZPP6+vpwDdumd955J5tfeeWV2Tx6jmzLop/XadOmZfOTTz45rDV9+vRs3qNHj3DNxIkTs/nkyZOz+V577RXWiqZVv/nmm9n85z//eVgrmqT89a9/PZvvu+++Ya3GxsZs7j2BrSH63Bu9v6WU0j333JPNFy9eHK456KCDsvl5552XzadMmRLWojIdAwAAAEXT2AIAAFA0jS0AAABF09gCAABQNI0tAAAARSt+KnIkmgqcUkpHH310VWva2trCWkuWLMnmf/rTn6r691OKpwNGEwV33HHHsFbXrvk/2iivVK9fv37ZPJrinFJKgwYNyuZ///d/n80r/XlVeh22f9HUwpTiyYW///3vs/nChQvDWpXu844SvUalaYo333xzh73+008/nc0rTR6P7v/9998/m5944olhrY997GPZfOjQodm8W7duYS1qa+3atdn8xRdfzObb6vt4pWfimDFjsvnFF1+czaMpxilVfsZFoqnMEyZMyObDhw8Pa0X32Ny5c7P5r3/967BW9P46cuTIbL569eqw1qRJk7J5dLICtEf0OaKpqSmbz5w5M6z1+OOPZ/N169aFa4444ohsfvjhh2fz3r17h7WozDe2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0bbb434qHRMRHUUTHXmxcePGsNbdd9+dzW+66aZsvmLFiqr3ddBBB2XzSkd0tMd7771XVV7pmIRhw4Zl8+hIoW31KAi2nugonObm5nDNrbfems2jcfzr16+vel9bQ6V7OTompG/fvlXXi34vKx1TEL1nRe99DzzwQFhr2bJl2fyCCy7I5oMHDw5rec+oreh+jfJa/3lFR+eMHTs2XHPcccdl8/Hjx2fzrXVsXVSr0v1y2mmnZfPouJFK9/Grr76aza+66qpsftddd4W1vvOd72TzU089NVwD1Yo+xz/yyCPZ/Hvf+15YK3omVjqiavTo0dm8R48e4Rraxze2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAUrfipyNH0z5122ilcU19fn82jSYOrV68Oaz399NPZfP78+dk8mjCcUkq9e/fO5gceeGA2b8+UxWhiZUopLV68OJtHv5ZownFKKR122GHZPJpMCdG98cwzz4Rrrrjiimz+7rvvdsie2it6X4qmtUcT0VNKady4cdl82rRp4ZroPnv++eez+cMPPxzWin7/ownTlSZPX3PNNdn8qKOOyub9+/cPa1WafM+WFz1/aj39uHv37tn8mGOOyeaXXHJJWGu//fbL5h19IsHWEJ1iMHTo0Gxeaep69BmqpaUlm0efIT7oGlSjtbU1vLZq1apsft1111X176eUUs+ePbP5F77whXDNRz/60WwevV/RfuW9OwMAAMD/Q2MLAABA0TS2AAAAFE1jCwAAQNE0tgAAABSt+KnIDQ0N2fyII44I1zQ2NmbzaJrjTTfdFNa67bbbsnlzc3NVr5FSSgMGDMjmI0eOzObtmczY1NQUXvvjH/+YzZ999tlsvs8++4S1oimnEIkmGlaacBz9PFeajthRoveRlOJ7dsqUKdn8vPPOC2vttddeVb9+JJqKvnDhwnDNf/zHf2Tzq666Kptv2rQprBW9zpw5c7L5mDFjwlpDhgwJr7F9i6byppTSaaedls3POeecbL7HHnuEtUqcfhyJPpM89NBD2fytt94Ka1U63QFqJZrKnVI8ffvGG2/M5pV+xr/0pS9l8zPPPDNcE00fr/UU+e3R9vOuDQAAQKeksQUAAKBoGlsAAACKprEFAACgaBpbAAAAiqaxBQAAoGjFH/cTjf3v3bt3uKba8dobN24Mr1UaL54THbeRUjyO/N///d+zed++fcNaO++8czZ/8sknwzWzZ8/O5uvWrcvmb775Zljr97//fTbff//9s3m3bt3CWnQO0X121113hWu2xrETu+66azY/66yzwjUXXHBBNo+OJ6t0dE/37t2zeUceEzBixIjw2uc///ls/rvf/S6bVzo6KDqGKfpzrPR+Sed18sknh9cuvPDCbB4dm7U9PXvWr18fXnv66aez+S233JLNV65cGdbaGsepQWTDhg3ZPPoZTymlr33ta9m8PZ8hxo8fn8179eoVrnGsz9bjG1sAAACKprEFAACgaBpbAAAAiqaxBQAAoGgaWwAAAIpW/FTkSJcuHdez77777uG1nXbaKZtXmhgcWb58eTafMWNGNo8mQqcUT2eLXiOleApiNAFxyZIlYa0//vGP2fzcc8/N5kOHDg1rmSbXOUSTDu+9995wTUdORY7up4MOOiibV5rMWunneVsU/d6nlNJLL72UzZctW5bNK00yjqbVR5One/ToEdaitqL7pWfPntm80sTeSP/+/bP5tGnTwjVjxozJ5tFE8m1ZdOrC6tWrs/n9998f1vrpT3+azZ999tlsXuk9IRL9TBx++OHhmoMPPrjq16Fza25uzuZPPPFEuObBBx/M5tHny379+oW1hg0bls27dt1uW6qi+MYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomtnUmyE67iOllL773e9m87lz52bzefPmhbXeeOONbB4dkREda5BSPHb/d7/7XbgmOr5n9OjR2fzYY48Nax199NHZPDqGCDZt2pTNly5dGq6pdLRMtSZPnpzNTznllGw+atSoDnvtWmtqagqvRUd3rVu3rurXGThwYDYfO3ZsNnfcz7YrOtLqU5/6VDb/+c9/XvVrRMdn9O3bN1xT6Ri8Woreq955551wzZNPPpnNo2N9HnroobDWww8/nM2jI4XaY/r06dn8s5/9bLhm0qRJHfb6dA4bN27M5itWrAjXRM+r6P3igAMOCGvttttu2bx79+7hGrYe39gCAABQNI0tAAAARdPYAgAAUDSNLQAAAEXT2AIAAFA0U5E3QzT9MaWUDjvssGy+3377ZfP58+eHtaLprw0NDdl8+PDhYa1oatyrr74arlmwYEE2j6YWVpp0OG7cuGweTbmEWhs/fnw233vvvbP5tjyxN7r/33777WxeaVp6NIG1PXbddddsPnjw4Gzu/WLb1a9fv2z+0Y9+NJtff/31Ya3o53Xt2rXZ/K677gprRZNJ23Mfv/LKK9k82m8l0VTku+++O1wTXYtOV1izZk3V+4pUmi79kY98JJufe+652fxv//Zvw1rRqQ/Q3NyczV966aVs/uijj4a1unXrls133333bH7hhReGtXbaaadsvq1OZO9sfGMLAABA0TS2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRjJz8kKIpaP3798/mEydO3HKb+X8sX748m/fs2TNcE01fHjlyZDbfZZddwlqmmVKtaGphNK04pZTmzp2bzTdt2lT1669YsSKbv/vuu9m80lTyurq6bB69X7S0tHzA7v5aNDE2pZRee+21bH7DDTdk8+uuuy6sFf2+RL+WAw88MKx1wgknZPOBAweGa9g2Re/xe+yxRzY/9NBDw1pz5szJ5uvXr8/mlSYsP/jgg9n8yCOPzOZDhgwJa82cOTObV7r3ItFU5IULF4Zr2vM61Yru4ylTpoRrvvjFL2bz6M/Y5GMilZ7VL7/8cja/5pprsvntt98e1urbt282nzZtWlV5Sik1NjaG16g939gCAABQNI0tAAAARdPYAgAAUDSNLQAAAEXT2AIAAFA0jS0AAABFcybLduqNN97I5suWLQvX7Lzzztk8OqKoT58+Ve8LIj169Mjmn/zkJ8M1f/rTn7L5unXrqn79+++/P5sPHTo0m69ZsyasFR0HsMMOO2Tzt956K6wVHYcQHWuSUkp33313Nn/mmWeyeaVjRaJfS3SsyxVXXBHW2m+//bJ5pWPI2DZFPxf77LNPNv/GN74R1vr85z+fzRcsWJDNm5qawlrRz3iUb08qHbMXHam15557ZvOvfvWrYa3DDjssmzsGhWo1NzeH126++eZsfuONN2bzSkcHRc+YAw44IJs7srJcvrEFAACgaBpbAAAAiqaxBQAAoGgaWwAAAIqmsQUAAKBoxn5tp5566qls/vbbb4dr9t1332w+duzYbN6li/8uQsepr6/P5hMmTAjXDB48OJsvWrQom7e0tIS1lixZks1/8pOfVJWnFE8HHTVqVDZ/8cUXw1qtra3htWpF92ylCecHHnhgNv/2t7+dzSv9eUW/L3V1deEaytLQ0JDNp0yZEq75wQ9+kM2vvfbabH7nnXeGtaL7OJqYWmmSaq1Fk1m7deuWzaOTDVJK6fTTT8/m//RP/5TNK00qj96roVobNmwIr61YsSKbr1+/PptX+kwa/Tz36tUrm3smlUtnAgAAQNE0tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0UxF3k49+eST2XzZsmVbeSeweaJpqgcccEC4ZsaMGdn8iiuuyOZz5swJazU1NVXYXXWam5uzeTT9uCMnH1cybty4bH7GGWeEa04++eRsvssuu2RzE1PJiSb8ppTSwQcfnM3333//bH7VVVeFtZ5//vls/sorr2Tz++67L6xVa1OnTs3mH/3oR7N5pffKSZMmZfNoWqypsGwNN954Y3ht9uzZVdWKnkkppXTBBRdk8+OPPz6be46Vyze2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0Rz3U4C2trZsvnr16nDNc889V/WaPffcM5tXGqEOW1q3bt3Ca9FxIF/84hez+eTJk8Nat912WzZ//PHHK+yuOh15rE+PHj3Ca3/3d3+Xzc8///xsHv0+ppRSY2NjNnccAh0l+lmKfsbPPvvssFZLS0s237hxYzbvyGO+OlqfPn2yea9evbJ5pffK7t27Z3PH+lBLGzZsCK9F9/LOO++czc8888yw1mc+85ls7jm2/fGNLQAAAEXT2AIAAFA0jS0AAABF09gCAABQNI0tAAAARTMVuQDRVOT58+eHaxYtWpTNhw8fHq458MADs3n//v3DNVBLDQ0N2Tz6WZ4wYUJY65RTTsnmlSaJ11KlaY4DBw7M5kOHDs3mlSYsQ61EE3ujacHtEd0T24Lo12+SMZ1ZNMX/xBNPDNf069dvS22HbYxvbAEAACiaxhYAAICiaWwBAAAomsYWAACAomlsAQAAKJqpyAVobW3N5vfcc0+4ZuXKldl87733DteMGDEim3ft6seEsvTq1auqPKWUBg0atKW2A3SgjpwKbMIw1E6lScbjxo3L5tEk8z322COs5T7vPHxjCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0TS2AAAAFM05LtuQtra2bL5+/fpsfuedd4a1Vq1alc0HDBgQrmloaKiwOwAA6Bi77bZbu65BxDe2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAUzVTkbUg0FXnTpk3ZfOzYsWGtESNGZPNJkyaFa/r37x9vDgAAYBvlG1sAAACKprEFAACgaBpbAAAAiqaxBQAAoGgaWwAAAIpW1xaN4gUAAIAC+MYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomsYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomsYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomsYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomsYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomsYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomsYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomsa2IGeddVaqq6sL/3n44YdrvUWgCnPnzk3Tp09PAwYMSD169EhjxoxJ3/72t2u9LWAzeCbD9mHNmjXpK1/5Spo6dWoaMmRIqqurS9/85jdrvS3aoa6tra2t1ptg87z66qtpyZIlf5WfcMIJqaGhIS1YsCDV19fXYGdAtWbMmJHOOOOMdMopp6RPf/rTqXfv3unVV19Nb7/9dvrGN75R6+0BH8AzGbYP8+fPTxMnTkz77rtv2mOPPdLVV1+dLrvsMs1tgbrWegNsvt133z3tvvvu78vmzJmTli5dmr72ta95gEIhFi5cmM4999x03nnnpR//+Mf/mx9xxBE13BVQDc9k2D7suuuuacWKFamuri4tXbo0XX311bXeEu2ksS3cNddck+rq6tLZZ59d660Am+nqq69Oa9euTZdeemmttwJ0IM9kKE9dXV2tt0AH8XdsC7Zq1ao0c+bMdOSRR6ZRo0bVejvAZrr//vvTwIED0wsvvJAmTpyYunbtmoYOHZrOP//8tHr16lpvD2gHz2SA2tLYFuyGG25I69evT//4j/9Y660AVVi4cGFat25dOvnkk9MnP/nJ9Ic//CFdcskl6dprr03Tp09PRh9AeTyTAWrL/4pcsGuuuSYNGjQoffzjH6/1VoAqtLa2pubm5nTZZZelr371qymllA4//PDUvXv3dPHFF6e77747HXXUUTXeJVANz2SA2vKNbaGeeeaZ9Nhjj6XTTz89NTQ01Ho7QBUGDRqUUkrpmGOOeV9+7LHHppRSeuKJJ7b6noD280wGqD2NbaGuueaalFJKn/3sZ2u8E6BaEyZMyOZ/+V+Qu3Tx1gwl8UwGqD2fngq0YcOG9Ktf/SodeOCBae+99671doAqnXTSSSmllGbPnv2+fNasWSmllKZMmbLV9wS0j2cywLbB37Et0K233pqWL1/uvwxDoaZOnZpOOOGE9K1vfSu1tramKVOmpMceeyxdfvnl6fjjj0+HHHJIrbcIbCbPZCjf7Nmz09q1a9OaNWtSSin9+c9/TjNnzkwppTR9+vTUs2fPWm6PzVTXZvxmcaZOnZoefPDBtGjRotSnT59abwdoh/Xr16fLL788zZgxIy1atCgNGzYsnXbaaemyyy7zd/SgIJ7JUL6RI0emBQsWZK+9/vrraeTIkVt3Q7SLxhYAAICi+Tu2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0TS2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0TS2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0TS2AAAAFK1rrTcAQMdau3ZtNp87d242v+uuu8JaRx99dDafNm1a9RsDANhCfGMLAABA0TS2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRTEUGKFBLS0t47bHHHsvm3//+97P5Qw89FNZatWpVNj/iiCOyeUNDQ1gLAGBL8Y0tAAAARdPYAgAAUDSNLQAAAEXT2AIAAFA0jS0AAABFMxUZoEAbN24Mr91zzz3ZfM6cOVXXeumll7J5U1NTNu/evXtYq66uLrwGAJ1JdLrBu+++G66JTj3o1q1bNj/00EPDWj179szmXbqU+71nuTsHAACApLEFAACgcBpbAAAAiqaxBQAAoGgaWwAAAIqmsQUAAKBojvsBitXc3JzNGxoasvn2dNzMhg0bwmvLly/P5uvXr8/mlY7oaWxszObb0+8lAGxtq1evzuY33XRTuObrX/96Nu/du3c2/8Mf/hDWGjt2bDZ33A8AAADUiMYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaqcjANq2trS28Fk3/HTJkSDbv1q1bh+xpW7B48eLw2pIlS6qqFf1+pZTSIYccks0HDhxY1WsAQGfU0tKSzV988cVsPnv27LBWtadBrF27NqzV2toaXiuVb2wBAAAomsYWAACAomlsAQAAKJrGFgAAgKJpbAEAACjaFp2KHE3bas8UrkqTUasVvX6XLvk+v66ururXiNZEr9He14HtXaX7YvDgwdm8a9ftZ+B79H7185//PFxzxx13ZPPo93LkyJFhraOPPjreHNRAez4PRGsqfR6p9nXaU6vSZ4L6+vqqcmDbtGjRomz+m9/8Jps/8MADYa3u3btn8zFjxmTzcePGhbW2p5Mi/sI3tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0TS2AAAAFE1jCwAAQNE+9JkYlcbhv/zyy9n8ySefzOZLly4Nay1fvjybv/nmm9l8l112CWtF47VPPPHEbD5o0KCwVuSAAw7I5nvvvXe4JjqKIxrt39DQUPW+YHsSjb3fnrzwwgvZfN68eeGatWvXZvOePXtm80mTJoW1Kl2DLSn6fLFkyZJwzYYNG7J59PnivvvuC2vNnz8/m2/atCmbV7ono/t4/Pjx4Zrvfve72fzAAw/M5o4MhNppaWkJr0XvM7fddls2b25uDmuNHj06m//oRz/K5r169QprVTpurFTb368IAACATkVjCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAU7UNPRX7vvffCa9dff302v/HGG7N5NMkzpXgK4caNG7N5pWmpq1atyuZvv/12No+mElfSu3fvbN6/f/9wTTTlePjw4dk8mrycUkpdu+b/aKdOnRquGTVqVFX7AqrT2tqazZ9//vlwzb/+679m8zlz5oRrovfL4447Lpufe+65YS33Px2h0gkK0QTQK6+8MpvPnj07rBVNTI5eY82aNWGtaMJy9GupNMk0qrVy5cpwzbXXXpvNBw4cmM3HjBkT1gK2rJtvvjm89oMf/CCbR5PXK00rjk59mTBhQjZvTw9TMt/YAgAAUDSNLQAAAEXT2AIAAFA0jS0AAABF09gCAABQtA89FTmavptSPIFz2bJl2fzZZ58Naw0YMCCb77bbbtm80nTA1atXZ/OHHnoom69YsSKsFU00e+2117J5NK00pXhyWWNjYzZ/5JFHwlp1dXXZ/I477gjXHHzwwdn84x//eDYfO3ZsWKvSzwVs76L7fOnSpdn88ssvD2vdc8892bypqSlcc8QRR2Tzs846K5tXer+M3kugo0TP2FmzZmXzuXPnhrUqndSwLao0Sfmtt97K5suXL99S2wFSfOJKSvHn/ttuuy1cM2/evGweTT8+5JBDwlrRSQmVToPpTHxjCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0TS2AAAAFO1Dn8kSjapOKaUJEyZk8y996UvZPDoGKKV4jHV0DFC/fv3CWtFxAMcee2w2rzT2+4033sjmCxYsyOaVjvuJjtVoa2vL5osXLw5rvfzyy9n84YcfDtc899xzVdU644wzwlrRqPLo6CIoTWtra3gtOr7kyiuvzObRsSYppbR27dpsfuihh4ZrzjnnnGw+ZcqUbO6+pJa6deuWzQcOHJjN+/btW3Wt6EirXXbZJawV3ePRZ4I+ffqEtaIjQp566qlwzZo1a7L5hg0bwjXA5ovu8eeffz5c89Of/jSb33///eGa6J6Njs38xCc+EdaaPHlyeA3f2AIAAFA4jS0AAABF09gCAABQNI0tAAAARdPYAgAAULQPPRW5kh49emTz3Xbbrap8axk8eHDVa6LJz9Hk5faIpiKvXr06XPPWW29l8z/+8Y/hmjvvvLOqfP369WGtHXfcMZvvvffe4RooSTSxNKWUbrvttmx+1VVXZfN169aFtXbaaadsfuaZZ4Zrpk6dms0rTYuHLSma+p9SPE34oosuyubR1P2UUurZs2c2j6YiDxkyJKwVTUyNnu+9evUKa82dOzebL126NFwTTVJ+7bXXsvlBBx0U1oqmRUNn0NLSks0XLlyYzaPJxymldNNNN2Xz6DSElFLaeeeds/lJJ52UzU844YSwVvQex//hG1sAAACKprEFAACgaBpbAAAAiqaxBQAAoGgaWwAAAIq2RacidwYNDQ1V5R0pmiSZUkrDhw/P5vvuu2+4JpoKfcUVV2TzP/3pT2GtWbNmZfPx48dn8y5d/DcWtk3RxOJKP//f//73s/nixYuzeaWJpZ/+9Kez+bHHHhuuGThwYDavNJkWaqWxsTGbH3HEEdm80lTk6FlSX19f/cY60KZNm7L5DTfcEK6ZM2dONn/uueeyeaWTCkxFZnsXnSCSUvwcv/baa7P5jBkzwlrRiQjRSTAppXTMMcdk8+j5Hk1R5oPpJgAAACiaxhYAAICiaWwBAAAomsYWAACAomlsAQAAKJrGFgAAgKI57qeTiY5VSCml3XbbLZtHRwc99dRTYa1XXnklm0dHHjjuh1rbsGFDNn/66aez+ZVXXhnWmjdvXjbv2bNnNj/wwAPDWl/4whey+Y477hiucawP27MSj65pbW3N5pWOKImel2vXrs3m0XsYdAbvvfdeeG3+/PnZ/Be/+EU2b2pqCmtF9+yhhx4aromO9Rk1alQ29wxvP90EAAAARdPYAgAAUDSNLQAAAEXT2AIAAFA0jS0AAABFMxWZDxRNZ6s0mbJ3795V1YJae/HFF7P5j370o2x+6623hrWi6cdTpkzJ5j/72c/CWkOGDMnm0ZTVlFJqaWnJ5tH9V19fH9YysRw+vFdffTWbL126dCvvBLZPy5cvD69dd9112TyallxJdLrId7/73XDNfvvtV/Xr0D4+sQAAAFA0jS0AAABF09gCAABQNI0tAAAARdPYAgAAUDRTkWm3devWhdcWLlyYzaNprV27+lFky4t+/lJK6a677srmt99+ezav9DO79957Z/Mf/vCH2XzYsGFhrTfffDOb33fffeGa2bNnV/U6n/vc58JaY8aMCa8Bmye6j5uamrbyTqBszc3N2fzJJ58M10SnG7RH9LwcMWJEh70G7ecbWwAAAIqmsQUAAKBoGlsAAACKprEFAACgaBpbAAAAiqaxBQAAoGjOWOlk3nvvvfDaE088kc2fe+65bF5XVxfWio5CqbQGOsqmTZuy+S233BKuuemmm7J5dBzH6NGjw1qnn356Nh86dGg2v+KKK8Jad955ZzafP39+uGbVqlXZvE+fPtm8d+/eYa1vfOMb2byhoSFcA51R9L6TUkoPPPBANn/nnXfCNV265L97qK+vr+rfh+1JdHTWr3/963DNhg0bsnm3bt2y+dFHHx3WOv/887P5wIEDwzVsPd4FAQAAKJrGFgAAgKJpbAEAACiaxhYAAICiaWwBAAAomqnInUylqY3Lly/P5itWrMjmO+64Y1hrjz32yObRBDroSAsXLszmt99+e7hm3rx52XynnXbK5tOnTw9rTZw4MZt/73vfy+aVpjm+/fbb2bylpSVcE1m/fn02f/TRR8M1L7zwQjbfd999q3592B60tbVl8yVLloRrXnnllWze3Nwcronee8aPH5/No6nnUKJly5Zl89tuuy2bz5o1K6wVffbca6+9svnXv/71sNbw4cOzeXQaCFuXb2wBAAAomsYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICimU3dyaxZsya8tnTp0mweHSsyePDgsNYBBxyQzbt08d9S2PKisf8PP/xwuCY6CmeHHXbI5pXupd/+9rfZ/Be/+EU2j47aSik+WqQ96urqsnmvXr3CNX379u2w14ftQXRPVnpPWLduXVW1Ukppl112yebRcXrdu3cPa8G26J133gmv3Xrrrdl85syZ2Tz6DJtSSiNGjMjmn/vc57J5pePs3GfbNl0GAAAARdPYAgAAUDSNLQAAAEXT2AIAAFA0jS0AAABFMxW5k1m4cGF4bfHixVXViqbFppTSmDFjqqoFHenxxx/P5suWLau61ooVK7L5vffeG66JJiy35/U70o477pjNoynmKaU0bNiwLbUdoILRo0dn85122mkr7wQ+nNbW1mz+6KOPhmtuvvnmbP7MM89k8/79+4e1jjrqqGz+iU98Ips3NDSEtaLTBdg2+MYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICimYrcySxfvjy8Fk1/jSbA9enTJ6w1aNCg6jYGHahr1457a1u1alVV+bYgumcnTZqUzY8++uiwVqXpkMD/1dTUFF5raWnJ5oMHDw7X7L///tl8+PDh1W0Mauzll1/O5rfffnu45tlnn83m0fNtypQpYa3Pfvaz2bzSJGXK5BtbAAAAiqaxBQAAoGgaWwAAAIqmsQUAAKBoGlsAAACKprEFAACgaI776WRWr14dXlu7dm027969ezbv0aNHWKu+vr66jUEHGj9+fDYfOHBguCY6vqetra1D9tTRovsypZR22mmnbB4dhzBmzJgO2RN0Bq2trdn8scceC9dEz9fJkyeHaw477LBs3q9fvwq7g9p57733svmll16aze+8886qa+2xxx7Z/GMf+1hYq9JRQGxffGMLAABA0TS2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRTEXuZObMmRNee+6557L5DjvskM332WefsFbv3r2r2xh0oLPPPjubRz/jKaV0/fXXZ/N169Zl80rTkuvq6rJ5NC28S5f4vzFGayrdf5dcckk2P/bYY7N5r169wlrA+23atCmb33HHHeGalStXZvNKJwhE16L3F9gaoqngKaX06quvZvMXX3wxmzc3N4e1evbsmc2PPPLIbD5t2rSwFp2Hb2wBAAAomsYWAACAomlsAQAAKJrGFgAAgKJpbAEAACiaqcidzJo1a8Jr0XS67t27Z/NoYl1KlSc9wpYW/Wx++ctfrnrNjTfemM3feeedsFaPHj2y+cEHH5zNx44dG9YaPnx4Nv/0pz9d9Rr3JWy+lpaWbP7mm29m84cffjisVWn6K5Qkui9SSum//uu/snn0vKx0IsCECROy+XHHHZfNo+cenYtvbAEAACiaxhYAAICiaWwBAAAomsYWAACAomlsAQAAKJrGFgAAgKI57qeTaW1trfpapTWwLaqrq8vmI0eODNdcfvnl2fzSSy/N5ps2bQprRUcYNDQ0ZPOuXeO34qhWY2NjuKZSPeD/qnR0yfz587P5qaeems2XLFkS1vIcpTTRM27FihXhmgceeCCbr1u3rurX33nnnbP50KFDs3n03Kdz8Y0tAAAARdPYAgAAUDSNLQAAAEXT2AIAAFA0jS0AAABFMzqzk9ljjz3Ca8OGDcvm0VTWKIdtVbdu3aq+1rdv3y21HaDGKk0rXrVqVTZ/8skns3mlSelQmugzXqVn4pe//OVs/rWvfS2bVzqp4PTTT8/mlT7Hgs4EAACAomlsAQAAKJrGFgAAgKJpbAEAACiaxhYAAICimYrcyVSaJjdixIhsvnjx4mze1NQU1oqmQ9bX11fYHQBsPZWeSdH01wEDBmTzZcuWhbXa2tqy+ejRo8M10evA1lBXV5fNGxsbwzUnnnhiNh8+fHg2rzRheezYsdm8d+/e4RrwjS0AAABF09gCAABQNI0tAAAARdPYAgAAUDSNLQAAAEXT2AIAAFA0x/10Mv379w+v9erVK5uvWrUqm7/88sthreXLl2fzIUOGxJsDgK2o0nE/0XE7EydOzOb33ntvWKtbt27Z/CMf+Ui4ZvDgweE1qJXoGKCUUurXr182P/LII7fUduB9fGMLAABA0TS2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRTEXuZKLJxylVP7F46dKl4bWVK1d2yGsAQC306NEjm0+bNi2bP/TQQ2Gt3XbbLZuPHz++6tcHIM83tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0TS2AAAAFM1U5E5m1KhR4bWjjjoqm0eTlCdNmhTW2nnnnavbGABsQxobG7P56aefns0rTUWePHlyNndSAEDH8Y0tAAAARdPYAgAAUDSNLQAAAEXT2AIAAFA0jS0AAABF09gCAABQtLq2tra2Wm8CAAAA2ss3tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0TS2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAUTWMLAABA0TS2AAAAFE1jCwAAQNE0tgAAABRNYwsAAEDRNLYAAAAU7f8DQXD/J4UCzHMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dls.show_batch(max_n=8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conditional DDPM Training as a Callback\n", "\n", "Same as DDPM callback but:\n", "- We invert the x,y structure of the original callback\n", "- Generates noise on the callback for the whole batch\n", "- The sampling \"before_batch_sampling\" is done with labels that are fixed to [0,1,2,3,4...9,0,1,2,3....]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "id": "N-IV1WO0wyMT" }, "outputs": [], "source": [ "class ConditionalDDPMCallback(Callback):\n", " def __init__(self, n_steps, beta_min, beta_max, tensor_type=TensorImage):\n", " store_attr()\n", "\n", " def before_fit(self):\n", " self.beta = torch.linspace(self.beta_min, self.beta_max, self.n_steps).to(self.dls.device) # variance schedule, linearly increased with timestep\n", " self.alpha = 1. - self.beta \n", " self.alpha_bar = torch.cumprod(self.alpha, dim=0)\n", " self.sigma = torch.sqrt(self.beta)\n", "\n", "\n", " def before_batch_training(self):\n", " x0 = self.xb[0] # original images, x_0 \n", " eps = self.tensor_type(torch.randn(x0.shape, device=x0.device)) # noise, x_T\n", " \n", " batch_size = x0.shape[0]\n", " t = torch.randint(0, self.n_steps, (batch_size,), device=x0.device, dtype=torch.long) # select random timesteps\n", " alpha_bar_t = self.alpha_bar[t].reshape(-1, 1, 1, 1)\n", " \n", " xt = torch.sqrt(alpha_bar_t)*x0 + torch.sqrt(1-alpha_bar_t)*eps #noisify the image\n", " self.learn.xb = (xt, t, self.yb[0]) # input to our model is noisy image and timestep\n", " self.learn.yb = (eps,) # ground truth is the noise \n", "\n", "\n", " def before_batch_sampling(self):\n", " xt = self.tensor_type(self.xb[0]) # a full batch at once!\n", " batch_size = xt.shape[0]\n", " label = torch.arange(10, dtype=torch.long, device=xt.device).repeat(batch_size//10 + 1).flatten()[0:batch_size]\n", " for t in progress_bar(reversed(range(self.n_steps)), total=self.n_steps, leave=False):\n", " t_batch = torch.full((batch_size,), t, device=xt.device, dtype=torch.long)\n", " z = torch.randn(xt.shape, device=xt.device) if t > 0 else torch.zeros(xt.shape, device=xt.device)\n", " alpha_t = self.alpha[t] # get noise level at current timestep\n", " alpha_bar_t = self.alpha_bar[t]\n", " sigma_t = self.sigma[t]\n", " xt = 1/torch.sqrt(alpha_t) * (xt - (1-alpha_t)/torch.sqrt(1-alpha_bar_t) * self.model(xt, t_batch, label=label)) + sigma_t*z # predict x_(t-1) in accordance to Algorithm 2 in paper\n", " self.learn.pred = (xt,)\n", " raise CancelBatchException\n", "\n", " def before_batch(self):\n", " if not hasattr(self, 'gather_preds'): self.before_batch_training()\n", " else: self.before_batch_sampling()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have to add the conditioning to the Unet, to do so, we just subclass it and inject the encoded label on the `forward` pass." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "@delegates(Unet)\n", "class ConditionalUnet(Unet):\n", " def __init__(self, dim, num_classes=None, **kwargs):\n", " super().__init__(dim=dim, **kwargs)\n", " if num_classes is not None:\n", " self.label_emb = nn.Embedding(num_classes, dim * 4)\n", " \n", " def forward(self, x, time, label=None):\n", " x = self.init_conv(x)\n", " \n", "\n", " t = self.time_mlp(time)\n", " if label is not None:\n", " t += self.label_emb(label)\n", " \n", " return super().forward_blocks(x, t)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now initialize our model:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "model = ConditionalUnet(dim=32, channels=1, num_classes=10).cuda()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can create a fastai Learner with our DataLoaders, Callback (with the appropriate number of timesteps and noise schedule) and the simple MSE loss that we use to train DDPM." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "id": "cGfe6KqaH0iP" }, "outputs": [], "source": [ "ddpm_learner = Learner(dls, model, \n", " cbs=[ConditionalDDPMCallback(n_steps=1000, beta_min=0.0001, beta_max=0.02, tensor_type=TensorImageBW)], \n", " loss_func=nn.MSELoss()).to_fp16()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's use fastai's amazing LR finder to select a good LR for training:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 300 }, "id": "i1N52U5QLEOp", "outputId": "6b691a2c-81ad-481f-d2b9-aa051cdbd947" }, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "SuggestedLRs(valley=5.248074739938602e-05)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ddpm_learner.lr_find()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now let's train with one-cycle LR schedule:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 538 }, "id": "gXKdZ3mRR_4G", "outputId": "8b128c9b-a2d8-490e-ce11-1ba064f66877" }, "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", "
epochtrain_lossvalid_losstime
00.1352990.09797700:46
10.0383140.04895000:46
20.0270580.02801500:45
30.0233990.02419400:45
40.0211880.02535900:46
50.0199090.02382600:45
60.0187470.02304300:45
70.0182310.01906900:45
80.0178470.02077200:45
90.0176040.02647100:45
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ddpm_learner.fit_one_cycle(10,3e-4)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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s2aNcnJydPbZZ+v73/++Kisrw+doy47V1NRIkrKzsyXx3eyNU9syhO9m9w24MFJVVSW/36/c3NyI47m5uaqoqLCoVn3P5ZdfrhdffFGrV6/Wv/3bv6miokKTJk1SdXV1uJ06a8OKigo5nU4NGjSowzIDUazarqKiQjk5OW1ePycnZ0C179SpU7Vs2TK9/fbbevLJJ/Xhhx/qmmuukcfjkURbdsQ0Tc2bN09XXXWVxo0bJ4nvZk+115YS381o9Yu79saDYRgRz03TbHNsIJs6dWr49wsuuEATJ07UmWeeqX//938PT8LqSRvSzkGxaLv2yg+09p0+fXr493HjxmnChAkaOXKkXn/9dd1yyy0dXjfQ2/Kee+7RJ598onfffbfNOb6b0emoLfluRmfA9YwMGTJEdru9TaqsrKxs8/8IcEJaWpouuOAC7dq1K7yqprM2zMvLk9fr1bFjxzosMxDFqu3y8vJ0+PDhNq9/5MiRAd2++fn5GjlypHbt2iWJtmzPT37yE61cuVLvvPOOhg8fHj7OdzN6HbVle/hudm7AhRGn06mioiKVlJREHC8pKdGkSZMsqlXf5/F4tGPHDuXn52v06NHKy8uLaEOv16u1a9eG27CoqEhJSUkRZcrLy/X3v/99QLdzrNpu4sSJqqmp0QcffBAu8/7776umpmZAt291dbXKysqUn58vibY8mWmauueee7RixQq9/fbbGj16dMR5vpvd11VbtofvZhcSPmW2D/jLX/5iJiUlmc8995y5fft2c+7cuWZaWpq5b98+q6vWZ9x///3mmjVrzD179pibNm0yb7rpJjMjIyPcRr/61a9Mt9ttrlixwvz000/N7373u2Z+fr5ZW1sbfo05c+aYw4cPN9966y3zo48+Mq+55hpz/Pjxps/ns+pjJURdXZ25detWc+vWraYkc9GiRebWrVvN/fv3m6YZu7a7/vrrzQsvvNDcuHGjuXHjRvOCCy4wb7rppoR/3njqrC3r6urM+++/39ywYYO5d+9e85133jEnTpxoDhs2jLZsxw9/+EPT7Xaba9asMcvLy8OPxsbGcBm+m93TVVvy3YzegAwjpmmaf/zjH82RI0eaTqfTvOSSSyKWZME0p0+fbubn55tJSUlmQUGBecstt5ifffZZ+HwgEDAfffRRMy8vz3S5XOY//MM/mJ9++mnEazQ1NZn33HOPmZ2dbaakpJg33XSTWVpamuiPknDvvPOOKanN48477zRNM3ZtV11dbd5+++1mRkaGmZGRYd5+++3msWPHEvQpE6OztmxsbDSLi4vNoUOHmklJSeaIESPMO++8s0070ZZB7bWjJPP5558Pl+G72T1dtSXfzegZpmmaieuHAQAAiDTg5owAAIC+hTACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEv9fxr7UAMkWLQUAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ddpm_learner.recorder.plot_loss()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sample generation\n", "\n", "Since we implemented sampling in the Callback, we simply can call fastai's built-in `get_preds` function to get our predictions." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "preds = ddpm_learner.get_preds()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "we are passing a labels vector that looks like `[0,1,2,3,4,5,6,7,8,9,0,1,2,3,4.....]`" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nrows=5\n", "ncols = int(math.ceil(25/10))\n", "axs = subplots(nrows, 10)[1].flat\n", "for pred, ax in zip(preds[0], axs): \n", " pred.show(ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Awesome, we got a simple MNIST digit!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another useful thing to check is the prediction of the completely denoised image at some timestep. Our sampling takes our prediction of noise in the image but takes only a fraction of it to remove from the noisy image during the iterative process. But we can also try to see the full denoising prediction by fully subtracting out the prediction. Of course, at higher noise levels this will be inaccurate, but at lower noise levels it should be quite accurate." ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "eps = TensorImageBW(torch.randn(xb.shape, device=xb.device))\n", "x0 = xb # original images\n", "batch_size = x0.shape[0]\n", "with torch.no_grad():\n", " t = torch.randint(0, ddpm_learner.conditional_ddpm.n_steps, (batch_size,), device=x0.device, dtype=torch.long)\n", " alpha_bar_t = ddpm_learner.conditional_ddpm.alpha_bar[t].reshape(-1, 1, 1, 1)\n", " xt = torch.sqrt(alpha_bar_t)*x0 + torch.sqrt(1-alpha_bar_t)*eps # noisy images\n", " x0hat = (xt - torch.sqrt(1-alpha_bar_t)*ddpm_learner.model(xt,t))/torch.sqrt(alpha_bar_t) # predicted denoised images" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Timestep 73 is closer to 0 so less noisy but noise is still visible." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([252]),)" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.where((t==73).cpu())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can see the original clean image (x0), the noisy image (xt), and the model's attempt to remove the noise (x0hat)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAs0AAAD1CAYAAACr+choAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA4R0lEQVR4nO3deXxV1b3//3cgCRkJSchAGAIEQaUMoiKCA6hoRdCqaK3WgVuVTk7VgtNXBL21RbS2inpri9Rex6q11VtnaLEQClorBUHGAAHCEAgEMpDA/v3hL6kx67M2Z5NC1Nfz8fAPPyeftcdz9uKQ9SYuCIJAAAAAAExtDvcOAAAAAK0dk2YAAAAgBJNmAAAAIASTZgAAACAEk2YAAAAgBJNmAAAAIASTZgAAACAEk2YAAAAgBJNmAAAAIAST5hY2f/58XXTRRerUqZMSExOVn5+vsWPHqri4+IDHuPvuuxUXFxdp+3/5y18UFxenv/zlL5H6D9Tw4cM1fPjw/+g2gC+CmTNnKi4uTklJSVq7dm2z14cPH66vfe1rMY/LewytVcM93/BffHy8unTponHjxmnDhg2HZB+6d++uq666qvH/oz775s2bp7vvvlsVFRUtun+SdNVVV6l79+6R+z9/jIdTwzUvKSk5pNttbZ+DTJpb0MMPP6xhw4aptLRUU6dO1TvvvKNp06Zpw4YNOumkk/TII48c0DhXX311TJPszxo0aJCKi4s1aNCgSP0AoqmtrdWdd97ZYuM9+uijevTRR1tsPKClPfnkkyouLtbbb7+ta665Rs8++6xOPvlk7dmz55DvS9Rn37x58zR58uT/yKT5y+Scc85RcXGxOnXqdLh35bCKP9w78GUxd+5c3XjjjRo1apT+8Ic/KD7+36f2kksu0fnnn68bbrhBxxxzjIYNG+Yco6qqSikpKerSpYu6dOkSaT/at2+vIUOGROoFEN3Xv/51PfPMM7rllls0YMCAgx7v6KOPboG9Av5zvva1r+m4446TJI0YMUL79u3TPffco1deeUWXXXaZs6fhOdfSePb9Z+Xk5CgnJ+dw78ZhxzfNLeS+++5TXFycHnvssSYTZkmKj4/Xo48+qri4OP30pz+V9O9fwfjHP/6hsWPHKjMzU0VFRU1e+6za2lrdfPPNys/PV0pKik455RR98MEHB/RXVFdddZXS0tK0cuVKjRo1Smlpaeratatuvvlm1dbWNtnO5MmTdcIJJygrK0vt27fXoEGD9Jvf/EZBELTg2QK+fCZMmKDs7GxNnDjR+3M1NTW67bbb1KNHDyUmJqpz5876wQ9+0OybLtdfSz722GMaMGCA0tLSlJ6eriOPPFK33367JKmkpETx8fG67777mm1zzpw5iouL0+9///uDOkbAp2HS2vBrSg3Pnn/9618688wzlZ6ertNPP12StHfvXt1777068sgj1a5dO+Xk5GjcuHHaunVrkzHr6uo0YcKExmffSSedpAULFjTbtvXrGX//+981ZswYZWdnKykpSUVFRbrxxhslffqs/fGPfyxJ6tGjR+Ovm3x2jOeff14nnniiUlNTlZaWprPOOksffvhhs+3PnDlTffr0Ubt27XTUUUfpqaeeOuDzdqDHKEllZWUaP368unTposTERPXo0UOTJ09WfX1948+UlJQoLi5O06ZN04MPPqgePXooLS1NJ554oubPn99szD/96U868cQTlZKSovT0dI0cObLZ33a7fj3jww8/1OjRo5Wbm6t27dqpoKBA55xzjkpLSxt/JggCPfrooxo4cKCSk5OVmZmpsWPHavXq1U3GD4JAU6dOVWFhoZKSkjRo0CC9/vrrB3wODxW+aW4B+/bt0+zZs3XccceZ3xB37dpVxx57rGbNmqV9+/Y11i+44AJdcskl+u53v+v9K61x48bp+eef14QJE3Taaafp448/1vnnn69du3Yd0D7W1dXp3HPP1Xe+8x3dfPPNmjNnju655x5lZGTorrvuavy5kpISjR8/Xt26dZP06e9oX3fdddqwYUOTnwPQVHp6uu68807dcMMNmjVrlk477bRmPxMEgb7xjW/o3Xff1W233aaTTz5ZixYt0qRJk1RcXKzi4mK1a9fOOf5zzz2n73//+7ruuus0bdo0tWnTRitXrtTHH38s6dPffzz33HP1+OOPa8KECWrbtm1j7yOPPKKCggKdf/75/5mDByStXLlSkpp8I7l3716de+65Gj9+vG699VbV19dr//79Ou+88/Tee+9pwoQJGjp0qNauXatJkyZp+PDhev/995WcnCxJuuaaa/TUU0/plltu0ciRI7V48WJdcMEFqqysDN2fN998U2PGjNFRRx2lBx98UN26dVNJSYneeustSZ/+KuT27dv18MMP6+WXX2781YOGv+X5yU9+ojvvvFPjxo3TnXfeqb179+r+++/XySefrAULFjT+3MyZMzVu3Didd955euCBB7Rz507dfffdqq2tVZs24d9NHugxlpWVafDgwWrTpo3uuusuFRUVqbi4WPfee69KSkr05JNPNvn56dOn68gjj9RDDz0kSfp//+//adSoUVqzZo0yMjIkSc8884wuu+wynXnmmXr22WdVW1urqVOnavjw4Xr33Xd10kknOfd5z549GjlypHr06KHp06crLy9PZWVlmj17dpP9Hj9+vGbOnKnrr79eP/vZz7R9+3ZNmTJFQ4cO1UcffaS8vDxJn35hN3nyZH3nO9/R2LFjtX79el1zzTXat2+f+vTpE3oOD5kAB62srCyQFFxyySXen/vmN78ZSAo2b94cTJo0KZAU3HXXXc1+ruG1BkuWLAkkBRMnTmzyc88++2wgKbjyyisba7Nnzw4kBbNnz26sXXnllYGk4IUXXmjSP2rUqKBPnz7m/u7bty+oq6sLpkyZEmRnZwf79+9vfO3UU08NTj31VO/xAl8FTz75ZCApWLhwYVBbWxv07NkzOO644xrfL6eeemrQt2/fIAiC4I033ggkBVOnTm0yxvPPPx9ICn71q1811j7/HvvhD38YdOjQwbsvDe//P/zhD421DRs2BPHx8cHkyZMP8kiBTzXc8/Pnzw/q6uqCysrK4LXXXgtycnKC9PT0oKysLAiCfz97ZsyY0aS/4dn10ksvNakvXLgwkBQ8+uijQRAEwdKlSwNJwU033dTk555++ukDevYVFRUFRUVFQXV1tXks999/fyApWLNmTZP6unXrgvj4+OC6665rUq+srAzy8/ODiy++OAiCT5+TBQUFwaBBg5o8I0tKSoKEhISgsLDQ3Hasxzh+/PggLS0tWLt2bZOfnTZtWiApWLJkSRAEQbBmzZpAUtCvX7+gvr6+8ecWLFgQSAqeffbZJvver1+/YN++fU2OMTc3Nxg6dGhjreGaN5yn999/P5AUvPLKK+axFRcXB5KCBx54oEl9/fr1QXJycjBhwoQgCIJgx44dQVJSUnD++ec3+bm5c+cGklrVXINfzziEgv//Vxw++6sXF154YWjfX//6V0nSxRdf3KQ+duzYZr8KYomLi9OYMWOa1Pr3799stf+sWbN0xhlnKCMjQ23btlVCQoLuuusulZeXa8uWLQe0LeCrKjExUffee6/ef/99vfDCC81enzVrliQ1WxF/0UUXKTU1Ve+++6459uDBg1VRUaFvfetb+uMf/6ht27Y1+5nhw4drwIABmj59emPt8ccfV1xcnK699tqIRwW4DRkyRAkJCUpPT9fo0aOVn5+v119/vfHbwwaff8699tpr6tChg8aMGaP6+vrG/wYOHKj8/PzGX4+YPXu2JDX7/eiLL7449Nm3fPlyrVq1St/5zneUlJQU87G9+eabqq+v1xVXXNFkH5OSknTqqac27uMnn3yijRs36tJLL23ybC8sLNTQoUNDtxPLMb722msaMWKECgoKmuzT2WefLenfc4UG55xzTpO/cerfv7+kf//6TMO+X3755U2+EU9LS9OFF16o+fPnq6qqyrnfvXr1UmZmpiZOnKjHH3+88W+8Pr+/cXFx+va3v91kf/Pz8zVgwIDGc1hcXKyamppm52Do0KEqLCx0n7jDhElzC+jYsaNSUlK0Zs0a78+VlJQoJSVFWVlZjbUDWYlaXl4uSc0+iOLj45WdnX1A+5iSktLsg6Ndu3aqqalp/P8FCxbozDPPlCQ98cQTmjt3rhYuXKg77rhDklRdXX1A2wK+yi655BINGjRId9xxh+rq6pq8Vl5ervj4+GYLauLi4pSfn9/4Xne5/PLLNWPGDK1du1YXXnihcnNzdcIJJ+jtt99u8nPXX3+93n33XX3yySeqq6vTE088obFjxyo/P7/lDhKQ9NRTT2nhwoX68MMPtXHjRi1atKjZQveUlBS1b9++SW3z5s2qqKhQYmKiEhISmvxXVlbW+AfChvfD5+/dA3n2NfxudNRF9Zs3b5YkHX/88c328fnnnw/dR6v2ebEc4+bNm/Xqq68225++fftKUrM/SH++v+FXvxqe5Q3bds1DCgoKtH//fu3YscO53xkZGfrrX/+qgQMH6vbbb1ffvn1VUFCgSZMmNX7ubd68WUEQKC8vr9k+z58/v8XO4aHE7zS3gLZt22rEiBF64403VFpa6nyTlpaW6oMPPtDZZ5/d5E9+B5LH3HDjb968WZ07d26s19fXex+ysXruueeUkJCg1157rckE+5VXXmmxbQBfdnFxcfrZz36mkSNH6le/+lWT17Kzs1VfX6+tW7c2mTgHQaCysjIdf/zx3rHHjRuncePGac+ePZozZ44mTZqk0aNHa/ny5Y3fyFx66aWaOHGipk+friFDhqisrEw/+MEPWv5A8ZV31FFHNaZnWFzPuI4dOyo7O1tvvPGGsyc9PV3Sv599ZWVlMT/7Gt5fn12UFouOHTtKkl588UXvt52f3cfPc9V8/WHH2LFjR/Xv31///d//7RyroKAgdHuubW/atKnZaxs3blSbNm2UmZlp9vfr10/PPfecgiDQokWLNHPmTE2ZMkXJycm69dZb1bFjR8XFxem9995zrtVoqIWdw4PJum5pfNPcQm677TYFQaDvf//7TRb6SZ8uFPze976nIAh02223xTz2KaecIunTVbyf9eKLLzZZMXuwGkLqPzupr66u1u9+97sW2wbwVXDGGWdo5MiRmjJlinbv3t1Yb0gO+N///d8mP//SSy9pz549ja+HSU1N1dlnn6077rhDe/fu1ZIlSxpfS0pK0rXXXqvf/va3evDBBzVw4EAz5hI4HEaPHq3y8nLt27dPxx13XLP/GhZ+NaTHPP300036X3jhhdBnX+/evVVUVKQZM2Y0S4n6rM9/+9rgrLPOUnx8vFatWuXcx4Y/LPTp00edOnXSs88+2yRlau3atZo3b17ouYjlGEePHq3FixerqKjIuT+xTpr79Omjzp0765lnnmmy73v27NFLL73UmKgRJi4uTgMGDNDPf/5zdejQQf/4xz8a9zcIAm3YsMG5v/369ZP06a/5JCUlNTsH8+bNc/6DUYcT3zS3kGHDhumhhx7SjTfeqJNOOkk//OEP1a1bN61bt07Tp0/X3//+dz300EMH9DtOn9e3b19961vf0gMPPKC2bdvqtNNO05IlS/TAAw8oIyPjgFbnHohzzjlHDz74oC699FJde+21Ki8v17Rp08zV/ABsP/vZz3Tsscdqy5YtjX99OnLkSJ111lmaOHGidu3apWHDhjWmZxxzzDG6/PLLzfGuueYaJScna9iwYerUqZPKysp03333KSMjo9k31N///vc1depUffDBB/r1r3/9Hz1OIFaXXHKJnn76aY0aNUo33HCDBg8erISEBJWWlmr27Nk677zzdP755+uoo47St7/9bT300ENKSEjQGWecocWLF2vatGnNfuXDZfr06RozZoyGDBmim266qfGZ/OabbzZO0Bombr/4xS905ZVXKiEhQX369FH37t01ZcoU3XHHHVq9erW+/vWvKzMzU5s3b9aCBQuUmpqqyZMnq02bNrrnnnt09dVX6/zzz9c111yjiooK3X333Qf0qwWxHOOUKVP09ttva+jQobr++uvVp08f1dTUqKSkRH/+85/1+OOPx/TrKG3atNHUqVN12WWXafTo0Ro/frxqa2t1//33q6KiojEi1+W1117To48+qm984xvq2bOngiDQyy+/rIqKCo0cOVLSp/Oia6+9VuPGjdP777+vU045Rampqdq0aZP+9re/qV+/fvre976nzMxM3XLLLbr33nt19dVX66KLLtL69esP+BweUodrBeKXVXFxcTB27NggLy8viI+PD3Jzc4MLLrggmDdvXpOfa0jI2Lp1a7MxPp+eEQRBUFNTE/zoRz8KcnNzg6SkpGDIkCFBcXFxkJGR0WTVrZWekZqaekDbmTFjRtCnT5+gXbt2Qc+ePYP77rsv+M1vftNsdTHpGcCnPpue8XmXXnppIKkxPSMIgqC6ujqYOHFiUFhYGCQkJASdOnUKvve97wU7duxo0vv599hvf/vbYMSIEUFeXl6QmJgYFBQUBBdffHGwaNEi534NHz48yMrKCqqqqlrkOIEGvnv+s6xnTxAEQV1dXTBt2rRgwIABQVJSUpCWlhYceeSRwfjx44MVK1Y0/lxtbW1w8803N3v2FRYWhqZnBMGnz+Szzz47yMjICNq1axcUFRU1S6q47bbbgoKCgqBNmzbNxnjllVeCESNGBO3btw/atWsXFBYWBmPHjg3eeeedJmP8+te/Do444oggMTEx6N27dzBjxozgyiuvDE3PiOUYgyAItm7dGlx//fVBjx49goSEhCArKys49thjgzvuuCPYvXt3EAT/Ts+4//77m21LUjBp0qQmtVdeeSU44YQTgqSkpCA1NTU4/fTTg7lz5zb5mc+nZyxbtiz41re+FRQVFQXJyclBRkZGMHjw4GDmzJnNtjljxozghBNOCFJTU4Pk5OSgqKgouOKKK4L333+/8Wf2798f3HfffUHXrl2DxMTEoH///sGrr77a6uYacUHAv1rxRTVv3jwNGzZMTz/9tC699NLDvTsAWoktW7aosLBQ1113naZOnXq4dwcAvhSYNH9BvP322youLtaxxx6r5ORkffTRR/rpT3+qjIwMLVq0KFKkDoAvl9LSUq1evVr333+/Zs2apeXLlzdZXAQAiI7faf6CaN++vd566y099NBDqqysVMeOHXX22WfrvvvuY8IM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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ctxs = get_grid(3,1,3)\n", "ax1 = x0[5].show(ctx=ctxs[0], title='Original')\n", "ax2 = xt[5].show(ctx=ctxs[1], title='Noisy')\n", "ax3 = x0hat[5].show(ctx=ctxs[2], title='Predicted denoised')" ] } ], "metadata": { "accelerator": "GPU", "colab": { "collapsed_sections": [], "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.4" } }, "nbformat": 4, "nbformat_minor": 4 }