SAVRN
Search Contact SAVRN

mini-unet-colorizer · Model Card

mini-unet-colorizer: Model Card

Written by Joe Bloggs, published under apache-2.0, revision 8c54d9496599, read 2026-09-28. Shown as written; SAVRN's own facts about this model are on its page.

Mini U-Net Colorizer — broader-data trained candidate

Status: evaluated app-testing candidate. Some broad color patches and incorrect object hues remain. Predicted colors are not evidence of original historical colors.

This checkpoint has 3,968,892 learned parameters and 236 fixed color bins. It starts from the audited bin-mapping repair of main commit 6c47ea40724d8fcd67d4f36ce837dc1cb5b1b2a8 and changes all 65 learned parameter tensors. The color vocabulary is unchanged. The selected weights are update 748 of a completed 1,122-update BF16 L4 run using a 17,325-photo mixed training pool (11,943 Imagenette plus 5,382 COCO), batch 32, initial learning rate 1e-5, weighted classification loss and frozen BatchNorm running statistics.

Selection compared Imagenette50 and reserved COCO200 validation images. The selected model retained color strength better than spatial-loss candidates. It was then scored on separate Imagenette200 and COCO-val100 checks.

Test sample Previous repaired error This release error Fine excess-edge reduction
Imagenette 200 13.318 12.847 85.8%
COCO-val 100 15.266 14.532 84.3%

Error is mean Lab chroma distance. The release includes guided8 decoding; raw learned weights alone improve error by 1.97% and 3.25%, respectively. Excess-edge reductions are proxies, not counts of visible blotches removed. COCO is a convenience sample; older upstream training exposure is unknown.

Use the complete pipeline

python -m pip install -r requirements.txt
python inference.py --model . --output-dir colorized photo.jpg
from PIL import Image
from model import load_model
from inference import colorize
model = load_model('.')
colorize(model, Image.open('photo.jpg')).save('colorized.png')

Defaults: temperature 0.38, guided radius 8, epsilon 0.001, one network pass. The wrapper preserves aspect ratio and original luminance. Old app code that only loads safetensors will not automatically gain guided filtering.

For ONNX without PyTorch:

python -m pip install -r requirements-onnx.txt
python colorize_onnx.py --model colorizer.onnx --output-dir colorized photo.jpg

The 15.9MB ONNX graph includes the model and guided decoder, with dynamic batch/spatial sizes and verified PyTorch parity. See DEPLOYMENT.md for the Lab input contract, CPU timings, publication commands and integration limits. See RESEARCH_ROUND2.md and reports/round2/ for complete measured evidence.

Limitations

Smoothing removes fine color fluctuations but can suppress true small color details, especially without luminance boundaries. Semantically wrong hues remain. The coffee and rocket failure examples are retained. Browser/mobile performance, video consistency and general production quality are unvalidated. The separate experiment bundle contains all runs and reproduction code; GPU optimizer state is not included. This is a weights-only continuation point.