gauravkgehlot/dlp-nppe3-lowlight-sr
031
Low-Light Denoising + 4x Super-Resolution — DLP 26T2 NPPE-3
EDSR-style residual CNN with two PixelShuffle(x2) upsampling stages. Takes a noisy, low-light low-resolution image and outputs the denoised image at 4x resolution.
Training
- Loss: Charbonnier (
sqrt(err^2 + eps^2)) - Optimiser: AdamW, lr 0.0002, cosine schedule with 500-step warmup
- Augmentation: aligned random crops (64 -> 256) + D4 flips/rotations
- Mixed precision, EMA of weights (decay 0.999)
Results
Usage
import json, torch
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
from modeling import LowLightSR # also in this repo
cfg = json.load(open(hf_hub_download("gauravkgehlot/dlp-nppe3-lowlight-sr", "config.json")))
model = LowLightSR(cfg["in_channels"], cfg["out_channels"], cfg["n_feats"],
cfg["n_blocks"], cfg["scale"], cfg["res_scale"])
model.load_state_dict(load_file(hf_hub_download("gauravkgehlot/dlp-nppe3-lowlight-sr", "model.safetensors")))
model.eval()
# x: float tensor (B, 3, H, W) in [0, 1] -> (B, C, 4H, 4W)