{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Noise2Self for Neural Nets\n", "\n", "This is a simple notebook demonstrating the principle of using self-supervision to train denoising networks.\n", "\n", "For didactic purposes, we use a simple dataset (Gaussian noise on MNIST), a simple model (a small UNet), and a short training (100 iterations on a CPU). This notebook runs on a MacBook Pro in under one minute." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%gui qt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import sys\n", "sys.path.append(\"..\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from util import show, plot_images, plot_tensors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We demonstrate the use of a self-supervised denoising objective on a synthetically noised version of MNIST." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "from torchvision.datasets import MNIST\n", "from torchvision import transforms\n", "from torch.utils.data import Dataset\n", "\n", "mnist_train = MNIST('../data/MNIST', download = True,\n", " transform = transforms.Compose([\n", " transforms.ToTensor(),\n", " ]), train = True)\n", "\n", "mnist_test = MNIST('../data/MNIST', download = True,\n", " transform = transforms.Compose([\n", " transforms.ToTensor(),\n", " ]), train = False)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from torch import randn\n", "def add_noise(img):\n", " return img + randn(img.size())*0.4\n", "\n", "class SyntheticNoiseDataset(Dataset):\n", " def __init__(self, data, mode='train'):\n", " self.mode = mode\n", " self.data = data\n", " \n", " def __len__(self):\n", " return len(self.data)\n", " \n", " def __getitem__(self, index):\n", " img = self.data[index][0]\n", " return add_noise(img), img" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "noisy_mnist_train = SyntheticNoiseDataset(mnist_train, 'train')\n", "noisy_mnist_test = SyntheticNoiseDataset(mnist_test, 'test')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will try to learn to predict the clean image on the right from the noisy image on the left." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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uX8866yzUrnu7u70zOy2ef78+emZjz76aCp3++23p2eyefaAAgAAUIUCCgAAQBUKKAAAAFUooAAAAFShgAIAAFCFAgoAAEAVCigAAABVKKAAAABUoYACAABQhQIKAABAFQooAAAAVSigAAAAVKGAAgAAUIUCCgAAQBVd22KhPT09cc899ww6d8IJJ6RnXnHFFancmDFj0jOvvfbaVK63tzc9c9asWanc+vXr0zNXrFiRyn33u99Nzzz++ONTufHjx6dnPvLII6ncokWL0jPvv//+VK6npyc9s5SSyp166qnpmY8//ngqt3r16vTM+fPnp3LTpk1Lz7zhhhtSuf333z8987777kvlli1blp65cuXKVO6UU05J5a688sr03xA8nWUeK/VZtWpVKjdy5Mj0zB3F3LlzU7ns46WIiEMPPTSVG8rju89+9rPpLAyFPaAAAABUoYACAABQhQIKAABAFQooAAAAVSigAAAAVKGAAgAAUIUCCgAAQBUKKAAAAFUooAAAAFShgAIAAFCFAgoAAEAVCigAAABVKKAAAABU0bUtFrrzzjvHi1/84kHnent70zPf9KY3pXJXXXVVeuasWbNSub333js983Of+1wq95rXvCY9c9q0aancT37yk/TMn//856ncS1/60vTMBQsWpHJz5sxJz+zp6Unl7r///vTME088MZX7/ve/n565bNmyVO5f//Vf0zPHjRuXymV/JxERp5xySir3vve9Lz1z2LBhqdxRRx2Vnrl06dJU7h/+4R9SuYcffjiVg6e7J554Ip390Ic+lMqddtpp6Zk33XRTKpf9vz8U2W16RMT06dNTue7u7vTMo48+OpX7+Mc/np4J24s9oAAAAFShgAIAAFCFAgoAAEAVCigAAABVKKAAAABUoYACAABQhQIKAABAFQooAAAAVSigAAAAVKGAAgAAUIUCCgAAQBUKKAAAAFUooAAAAFShgAIAAFBF17ZYaCklhg8fPujc3Llz0zN33333VO6QQw5Jz9ywYUMq9+ijj6Znjh8/vvrMO+64I5W7+eab0zOnTJmSyk2dOjU9c/LkyancwoUL0zMXLFiQyr3pTW9Kz1y0aFEqd/XVV6dn7rRT7rmu17zmNemZ73jHO1K5V7/61emZ119/fSo3Y8aM9MylS5emctddd116Zk9PTyo3e/bsVG7evHmxatWqVBaerc4///xU7tvf/nZ65rJly1K5F7/4xemZJ554Yir3b//2b+mZ3d3d6WzWL37xi1RuKNss2F7sAQUAAKAKBRQAAIAqFFAAAACqUEABAACoQgEFAACgCgUUAACAKhRQAAAAqlBAAQAAqEIBBQAAoAoFFAAAgCoUUAAAAKpQQAEAAKhCAQUAAKCKrm2x0BUrVsQ111wz6Fwm0+e+++5L5Y477rj0zOuuuy6Ve/nLX56e2d3dncpdeOGF6ZmjR49O5ZYsWZKeuf/++6dyjz32WHrmqlWrUrmDDjooPfPGG29M5davX5+e2dvbW33mPffck8rtuccT5CQAABP6SURBVOee6Zl/93d/l8qtW7cuPXPt2rWp3OrVq9Mzf/KTn6Ry55xzTnrmz372s1Ru0aJFqdxOO3muFLaWpUuXVp+5ePHi6jPPPPPMdPaLX/xiKrdhw4b0TNiR2KoDAABQhQIKAABAFQooAAAAVSigAAAAVKGAAgAAUIUCCgAAQBUKKAAAAFUooAAAAFShgAIAAFCFAgoAAEAVCigAAABVKKAAAABUoYACAABQhQIKAABAFV3bYqGllOjqGvyijznmmPTM17/+9ancmDFj0jOvuuqqVO7AAw9Mz5w7d24qt99++6Vn3n///anci170ovTMxx9/PJX7zne+k5756le/OpUbPXp0eubIkSNTuVJKeubdd9+dyv3t3/5teub555+fyt15553pmUcffXQql719IiK++tWvpnIf+9jH0jO/8pWvpHLZ+5KIiJ6enlSuu7s7lduwYUMqBzw9vPOd70xnjzrqqFTu4IMPTs887bTTUrmLL744PRN2JPaAAgAAUIUCCgAAQBUKKAAAAFUooAAAAFShgAIAAFCFAgoAAEAVCigAAABVKKAAAABUoYACAABQhQIKAABAFQooAAAAVSigAAAAVKGAAgAAUEVpmmbrLrCUOWPGjDnysMMOG3T2la98ZXrutddem8qdeOKJ6ZkjRoxI5c4///z0zKOOOiqV++pXv5qe+eY3vzmVe+KJJ9Izp0+fnsodffTR6ZnDhw9P5X7961+nZ77mNa9J5W688cb0zN133z2Vu+qqq9IzV61alcqNHTs2PfPWW29N5ZYsWZKe+eEPfziVy95/ReRvow0bNqRn9vb2pnJTpkxJ5T7/+c/HQw89dGvTNLk7QKKUMicijtze6wGDNW3atFTutttuS8/s6elJ5ebMmZOeed1116Vy//iP/5ieubU7ADuk1LbZHlAAAACqUEABAACoQgEFAACgCgUUAACAKhRQAAAAqlBAAQAAqEIBBQAAoAoFFAAAgCoUUAAAAKpQQAEAAKhCAQUAAKAKBRQAAIAqFFAAAACqUEABAACoomtbLLRpmli7du2gczvvvHN6Zk9PTyr34IMPpmdedNFFqdwHP/jB9MyJEyemcgsWLEjPHD58eCq3//77p2cuXLgwlfvCF76QnnnyySencv/1X/+Vnpm9jbq68v91995771RuxowZ6ZmLFi1K5R566KH0zNe97nWp3FDuE37wgx+kcscee2x65s0335zK3XXXXemZhx12WCq3ZMmSVG7dunWpHPDMd88996Ry7373u9Mzs48lZs+enZ6ZzY4dOzY983Of+1wqN3/+/PRMiLAHFAAAgEoUUAAAAKpQQAEAAKhCAQUAAKAKBRQAAIAqFFAAAACqUEABAACoQgEFAACgCgUUAACAKhRQAAAAqlBAAQAAqEIBBQAAoAoFFAAAgCq6tsVCJ0yYEKeffvqgc0uXLk3PPP7441O54447Lj3ziiuuSOX23Xff9MzrrrsulZs6dWp65v3335/KDeW27e7uTuUOO+yw9MwlS5akcrvuumt65k475Z4D2n///dMzV65cmcrNnj07PbOrK3dX85nPfCY9c/78+alc9v91RMSMGTNSudtvvz09c+LEiancfvvtl565atWqVG7KlCmp3IgRI1I5YMd13nnnpbN33nln9ZmHHHJIKveBD3wgPfPAAw9M5d773vemZ/72t79NZ3n2sAcUAACAKhRQAAAAqlBAAQAAqEIBBQAAoAoFFAAAgCoUUAAAAKpQQAEAAKhCAQUAAKAKBRQAAIAqFFAAAACqUEABAACoQgEFAACgCgUUAACAKhRQAAAAqujaFgtdsWJF/PjHPx50bsaMGemZe+yxRyq3bNmy9Mz3vOc9qdyaNWvSM2+//fZU7vjjj0/PHDFiRCo3d+7c9Mzs38IDDzyQnnnUUUelcnfddVd65s9+9rNUbih/Q7Nnz07l1q1bl565dOnSVG7y5Mnpmd/85jdTuZkzZ6ZnHnLIIancokWL0jOz/z/32muv9MwpU6akctdff30qt3r16lQOIOPmm29O5WbNmpWe+da3vjWV+/SnP52eecopp6Ryz3ve89IzDz300HSWZw97QAEAAKhCAQUAAKAKBRQAAIAqFFAAAACqUEABAACoQgEFAACgCgUUAACAKhRQAAAAqlBAAQAAqEIBBQAAoAoFFAAAgCoUUAAAAKpQQAEAAKiia1ssdLfddovTTz990LmDDjooPfPaa69N5X7961+nZz700EOp3LHHHpue+ZznPCeVGzVqVHpmKSWVy65rRMSCBQtSuYkTJ6ZnXn755ancK17xivTMM844I5V797vfnZ7Z09OTyq1evTo9s7e3N5U77LDD0jN//vOfp3L33ntveuasWbNSuYULF6Znjh8/PpW75JJL0jNf9apXpXI//elPU7nu7u5UDqCmxYsXp7Of/exnU7lPfepT6ZnZx3cHH3xweuZrX/vaVO7b3/52eiZPP/aAAgAAUIUCCgAAQBUKKAAAAFUooAAAAFShgAIAAFCFAgoAAEAVCigAAABVKKAAAABUoYACAABQhQIKAABAFQooAAAAVSigAAAAVKGAAgAAUIUCCgAAQBVd22Kha9asifvuu2/QuR/+8IfpmRMnTkzlmqZJz5w9e3Yqd88996Rn/vEf/3Eqt3Tp0vTMUkoqd/XVV6dn7rHHHqncEUcckZ65bt26VO473/lOeuZHP/rRVO4lL3lJeuY111yTyk2dOjU989BDD03lbrvttvTMV7/61ancsmXL0jMvv/zyVG7fffdNz9xzzz1TuaOOOio985xzzknl3v72t6dy5513Xjz66KOpLMBgzZgxI5XL3scNZeZOO9XflzSU++OhPGbi2cMeUAAAAKpQQAEAAKhCAQUAAKAKBRQAAIAqFFAAAACqUEABAACoQgEFAACgCgUUAACAKhRQAAAAqlBAAQAAqEIBBQAAoAoFFAAAgCoUUAAAAKro2hYL7e3tjQULFgw699rXvjY985FHHknlnnjiifTMSy65JJXbZ5990jMffPDBVG7lypXpmRMmTEjlurryf14nnnhiKnfdddelZ/7sZz9L5U4++eT0zJkzZ6Zyt956a3rm+9///lTujjvuSM9csWJFKtfT05Oemf2/cs0116RnvvKVr0zlsn97ERHr169P5Xp7e9MzzzjjjFQue983YsSIVA545ps+fXoqd9ZZZ6Vn/sEf/EEqN3bs2PTM7WHDhg2p3FAeO2dn8uxiDygAAABVKKAAAABUoYACAABQhQIKAABAFQoo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\n", "image/svg+xml": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 236, "width": 464 } }, "output_type": "display_data" } ], "source": [ "noisy, clean = noisy_mnist_train[0]\n", "plot_tensors([noisy[0], clean[0]], ['Noisy Image', 'Clean Image'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Masking\n", "\n", "The strategy is to train a $J$-invariant version of a neural net by replacing a grid of pixels with the average of their neighbors, then only evaluating the model on the masked pixels." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from mask import Masker\n", "masker = Masker(width = 4, mode='interpolate')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "net_input, mask = masker.mask(noisy.unsqueeze(0), 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A mask; the data; the input to the neural net, which doesn't depend on the values of $x$ inside the mask; and the difference between the neural net input and $x$." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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OtF0BAAAAAAAADrRdAQAAAAAAAA60XQEAAAAAAAAOtF0BAAAAAAAADrRdAQAAAAAAAA60XQEAAAAAAAAOtF0BAAAAAAAADrRdAQAAAAAAAA60XQEAAAAAAAAOpkxFg+6ZMmSWLZsWd+5zByD2Yy+Ukrfmam8bhHWb1cwldctYmqv31ReN+ps2rQpbrrppr5zT3/606vGu/TSS6tyu+++e1Xuyiuv7DuzefPmqrFOPvnkqtyWLVuqcuvXr6/KffnLX67KnXLKKVW5vfbaqyr305/+tCq3evXqvjO33npr1VibNm2qytW+pp511llVuXvvvbcqt3HjxqrcnXfeWZU76qijqnJXX311Ve6www7rO3PLLbdUjbVu3bqq3AMPPFCVe85zntPX8pdddlnVOERMmzatqkYtWLCgarzxrqPf/e53+85Mljp61113VeVWrFhRlRvvOrpmzZqq3A033NB3ZrzraG29qH0ux7uO7rnnnlW5yVBHb7755qqx1NGpa++9944XvOAFfecuvvjiMZjN6Kt53Vm7du0YzGT01b427rfffqM8k7FRWzMmw+/vaU97WlXuiiuuGOWZjI0zzzyzKvev//qvozyT0feLX/yiKrfbbruN8kx2HY50BAAAAAAAADrRdAQAAAAAAAA60XQEAAAAAAAAOtF0BAAAAAAAADrRdAQAAAAAAAA60XQEAAAAAAAAOtF0BAAAAAAAADrRdAQAAAAAAAA60XQEAAAAAAAAOtF0BAAAAAAAADrRdAQAAAAAAAA60XQEAAAAAAAAOtF0BAAAAAAAADrJUsroPmDmsohYMqoPCsBktryUcvxET2KyyMxlBx544JJXvOIVfWfnzJlTNeb+++9flbv88surcqeffnrfmVtuuaVqrK9//etVubPPPrsq99znPrcq99WvfrUqt+eee1blnvrUp1blrr766qrcsmXL+s5s2rSpaqxbb721KnfGGWdU5WbPnl2VW7NmTVXu+9//flVu3rx5Vblp0+r2UXz7299elXv961/fd2b69OlVYx1/fF1pWr9+fVWu39fMH/zgBxER8cADD2TVgI9S6mhv6mhv6uj21NHe1NHtqaNTU5c6CsDUccEFF0RExN133913HXWkIwAAAAAAANCJpiMAAAAAAADQiaYjAAAAAAAA0ImmIwAAAAAAANCJpiMAAAAAAADQiaYjAAAA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\n", "image/svg+xml": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ], "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 227, "width": 910 } }, "output_type": "display_data" } ], "source": [ "plot_tensors([mask, noisy[0], net_input[0], net_input[0] - noisy[0]],\n", " [\"Mask\", \"Noisy Image\", \"Neural Net Input\", \"Difference\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For our model, we use a short UNet with two levels of up- and down- sampling" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "from models.babyunet import BabyUnet\n", "model = BabyUnet()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Training" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "from torch.nn import MSELoss\n", "from torch.optim import Adam\n", "from torch.utils.data import DataLoader\n", "\n", "loss_function = MSELoss()\n", "optimizer = Adam(model.parameters(), lr=0.001)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Visualization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We lazily convert the torch tensors to NumPy arrays and concatenate them into dask arrays containing all the data. We do this for the training (noisy) data, the ground truth, and the model output.\n", "\n", "There's a bit of reshaping because torch data comes with extra dimensions that we want to squeeze out, to only get a `(nsamples, size_y, size_x)` volume." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "import dask\n", "import dask.array as da\n", "\n", "noisy_test_dask = da.stack(\n", " [\n", " da.from_delayed(\n", " dask.delayed(lambda i: noisy_mnist_test[i][0].detach().numpy())(i),\n", " shape=(1, 28, 28),\n", " dtype=np.float32\n", " ).reshape((28, 28))\n", " for i in range(len(noisy_mnist_test))\n", " ]\n", ")\n", "\n", "clean_test_dask = da.stack(\n", " [\n", " da.from_delayed(\n", " dask.delayed(lambda i: noisy_mnist_test[i][1].detach().numpy())(i),\n", " shape=(1, 28, 28),\n", " dtype=np.float32\n", " ).reshape((28, 28))\n", " for i in range(len(noisy_mnist_test))\n", " ]\n", ")" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "import torch\n", "\n", "def test_numpy_to_result_numpy(i):\n", " \"\"\"Convert test NumPy array to model output and back to NumPy.\"\"\"\n", " out = model(\n", " torch.Tensor(np.array(noisy_test_dask[i:i+1, np.newaxis]))\n", " ).detach().numpy().squeeze()\n", " return out\n", "\n", "# build the results dask array\n", "model_output_dask = da.stack(\n", " [\n", " da.from_delayed(\n", " dask.delayed(test_numpy_to_result_numpy)(i),\n", " shape=(28, 28),\n", " dtype=np.float32\n", " )\n", " for i in range(len(noisy_mnist_test))\n", " ]\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Build the napari viewer for all three volumes simultaneously:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "import napari\n", "\n", "\n", "viewer = napari.Viewer()\n", "_ = viewer.add_image(clean_test_dask) # returns layer, we don't care\n", "_ = viewer.add_image(noisy_test_dask)\n", "model_layer = viewer.add_image(\n", " model_output_dask,\n", " contrast_limits=(\n", " np.min(noisy_test_dask[0:10]).compute(),\n", " np.max(noisy_test_dask[0:10]).compute()\n", " )\n", ") # this layer though, we're gonna play with\n", "viewer.grid_view()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We turn off dask caching because we want the model to re-evaluate each time we view a model output." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from napari.utils import resize_dask_cache\n", "resize_dask_cache(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, build a loss plot and refresh the viewer on each batch:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "from napari.qt import thread_worker\n", "from matplotlib.backends.backend_qt5agg import FigureCanvas\n", "from matplotlib.figure import Figure\n", "\n", "NUM_ITER = 100\n", "\n", "\n", "# build the plot, but don't display it yet\n", "# — we'll add it to the napari viewer later\n", "with plt.style.context('dark_background'):\n", " loss_canvas = FigureCanvas(Figure(figsize=(5, 3)))\n", " loss_axes = loss_canvas.figure.subplots()\n", " lines = loss_axes.plot([], []) # make empty plot\n", " loss_axes.set_xlim(0, NUM_ITER)\n", " loss_axes.set_xlabel('batch number')\n", " loss_axes.set_ylabel('loss')\n", " loss_canvas.figure.tight_layout()\n", " loss_line = lines[0]\n", "\n", "\n", "# when getting a new loss, update the plot\n", "def update_plot(loss):\n", " x, y = loss_line.get_data()\n", " new_y = np.append(y, loss)\n", " new_x = np.arange(len(new_y))\n", " loss_line.set_data(new_x, new_y)\n", " loss_axes.set_ylim(\n", " np.min(new_y) * (-0.05), np.max(new_y) * (1.05)\n", " )\n", " loss_canvas.draw()\n", "\n", "\n", "# and update the model output layer\n", "def update_viewer(loss):\n", " model_layer.refresh()\n", " viewer.help = f'loss: {loss}'\n", "\n", "\n", "# define a function to train the model in a new thread,\n", "# connecting the yielded loss values to our update functions\n", "@thread_worker(connect={'yielded': [update_viewer, update_plot]})\n", "def train(model, data_loader, n_iter):\n", "\n", " for i, batch in zip(range(n_iter), data_loader):\n", " noisy_images, clean_images = batch\n", "\n", " net_input, mask = masker.mask(noisy_images, i)\n", " net_output = model(net_input)\n", "\n", " loss = loss_function(net_output*mask, noisy_images*mask)\n", "\n", " optimizer.zero_grad()\n", "\n", " loss.backward()\n", "\n", " optimizer.step()\n", "\n", " yield round(loss.item(), 4)\n", "\n", "\n", "# finally, add the plot to the viewer, and start training!\n", "data_loader = DataLoader(noisy_mnist_train, batch_size=32, shuffle=True)\n", "\n", "viewer.window.add_dock_widget(loss_canvas)\n", "worker = train(model, data_loader, NUM_ITER)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from napari.utils import nbscreenshot\n", "\n", "nbscreenshot(viewer)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# J-invariant reconstruction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With our trained model, we have a choice. We may do a full $J$-invariant reconstruction, or we may just run the noisy data through the network unaltered." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "test_data_loader = DataLoader(noisy_mnist_test,\n", " batch_size=32,\n", " shuffle=False,\n", " num_workers=3)\n", "i, test_batch = next(enumerate(test_data_loader))\n", "noisy, clean = test_batch" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "simple_output = model(noisy)\n", "invariant_output = masker.infer_full_image(noisy, model)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "type(simple_output)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "np.asarray(simple_output)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`torch.Tensor.__array__` is hampered because the developers want to prevent accidentally dropping gradient. See:\n", "\n", "https://discuss.pytorch.org/t/should-it-really-be-necessary-to-do-var-detach-cpu-numpy/35489\n", "\n", "For demo purposes, we increase the magic of torch Tensors." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import torch" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def array(self, dtype=None):\n", " if dtype is None:\n", " return self.detach().numpy()\n", " else:\n", " return self.detach().numpy().astype(dtype, copy=False)\n", "\n", "torch.Tensor.__array__ = array" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "np.array(simple_output)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import napari\n", "\n", "viewer = napari.Viewer()\n", "\n", "viewer.add_image(\n", " noisy, name='noisy',\n", " contrast_limits=[-1.5, 2.5],\n", ")\n", "viewer.add_image(\n", " simple_output, name='simple output',\n", " contrast_limits=[-0.5, 1.5],\n", ")\n", "viewer.add_image(\n", " invariant_output, name='j-invariant output',\n", " contrast_limits=[-0.5, 1.5],\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While both the simple and invariant output are significantly denoised, the invariant output has a mild pixelation. \n", "\n", "This is due to the fact that neighboring pixels are denoised using different information, leading to discontinuities in the reconstructed output." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.2" } }, "nbformat": 4, "nbformat_minor": 2 }