std1.0.0-beta-7 SafeC docs

Module ml::unet

#include <std/ml/unet.h> source

U-Net: a small encoder/decoder CNN with skip connections (Ronneberger et al. 2015), the convolutional backbone classic DDPM-style diffusion models denoise with.

A fixed 2-level (2 downsample/upsample stages) U-Net over std::FeatureMap (see cnn.h): each encoder stage is Conv2D(3x3,pad1) -> ReLU -> MaxPool2D(2x2), the bottleneck is one more Conv2D -> ReLU, and each decoder stage is FeatureMap::upsample2x_nearest -> concat_channels(skip) -> Conv2D(3x3,pad1) -> ReLU (the final decoder stage skips the trailing ReLU, since this produces the network's raw output — e.g. a predicted noise map, not a bounded activation). Forward-only, like the rest of std/ml.

Structs

UNet