You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<h2>Part 2 – Implementing the UNet from scratch</h2>
926
926
927
927
Now that we know how we can generate images with the help of a UNet in a denoising model, we will go through implementing one from scratch. More specifically, we will be attempting to generate digits similar to those in the MNIST dataset from pure noise using a denoising UNet that we will create.
@@ -932,7 +932,7 @@ <h3>Training an Unconditioned UNet</h3>
932
932
933
933
<br>To create a noisy image, we can use the process z = x + σε where σ ∈ [0, 1] and ε ~ 𝒩(0, 𝐈). Here, 𝒩 is the standard normal distribution. To visualize the kind of images this process will result in, below is an example of an MNIST digit with progressively more noise as σ gradually increases from 0 to 1:
934
934
935
-
<divclass="image-row">
935
+
<divalign="center">
936
936
<figure>
937
937
<imgsrc="images/unet/00.png" alt="00.png" />
938
938
<figcaption>σ = 0.0</figcaption>
@@ -1052,7 +1052,52 @@ <h4>Forward and Sampling Operations</h4>
1052
1052
</div>
1053
1053
1054
1054
Although the results are not perfect, the improvements starting from the 1st epoch up to the 10th are already noticeable.
1055
+
1056
+
<h4>Adding Class-Conditioning to Time-Conditioned UNet</h4>
1057
+
To make more improvements to our image generation, we can condition our UNet on the class of digits 0-9. This require adding an additional FCBlock for each time condition, where the class vector <code>c</code> is a one-hot vector.
1058
+
1059
+
<h4>Class-Conditioned Forward and Sampling Operations</h4>
0 commit comments