Download experiments/round5-20260927/source/PROTOCOL.md from User-2468/mini-unet-colorizer: direct link, hf CLI and curl.
- Browser
- Download file 5.39 kB
-
https://huggingface.co/User-2468/mini-unet-colorizer/resolve/915de375b4f97d217f62fedcf467e8a4e52b3094/experiments/round5-20260927/source/PROTOCOL.md
- Command line
-
hf download hf://User-2468/mini-unet-colorizer@915de375b4f97d217f62fedcf467e8a4e52b3094/experiments/round5-20260927/source/PROTOCOL.md
-
curl -L -o PROTOCOL.md https://huggingface.co/User-2468/mini-unet-colorizer/resolve/915de375b4f97d217f62fedcf467e8a4e52b3094/experiments/round5-20260927/source/PROTOCOL.md
Round 4 — semantic guidance and broad color patches
Status: experiment protocol, not a result or release claim.
Research and rationale
DDColor uses multi-scale semantic features and color queries to reduce color bleeding: https://arxiv.org/abs/2212.11613 . The authors' model notes warn that their colorfulness loss can generate unwanted color blocks and describe an artistic checkpoint trained without that loss: https://github.com/piddnad/DDColor/blob/master/MODEL_ZOO.md . This does not prove that our different round-3 chroma-retention loss caused all artifacts, but it motivates removing extra saturation pressure and measuring the effect.
The previous fine-edge proxy missed broad colored clouds. Round 3 reduced missed color but increased neutral-region spill, and its actual images still contained patches. This run therefore measures color differences across regions separated by 4–64 pixels, in areas where ground-truth color is locally consistent, before and after the existing guided decoder. It still requires visual review: no scalar proxy proves that blotches are gone.
Design
- Start from v2 revision 704fa80d792c3d759db91daa00b2dcfe6f0f6412, checked against SHA256 0e4c417375684a044860f8af3ac3a2fb44e1a5729254ca33abda758ea71aea6e. Do not continue the round-3 color-strength loss.
- Compare matched 3,000-step structure-only and structure-plus-distillation arms: seed 409, batch 16, learning rate 3e-5 decaying to 3e-6, frozen BatchNorm, BF16 student convolution, gradient clipping 1.
- Use the existing 16,230-image training pool; fixed 150 validation and 300 test memberships. These are previous development holdouts. Teacher pretraining overlap is unknown, especially for Imagenette derived from ImageNet.
- Ordinary-gray training inputs with flips and mild luminance augmentation. Gray and deterministic film-style inputs for validation/test.
- Remove inverse-frequency class reweighting and explicit chroma-strength pressure. Keep soft color-bin classification; add supervised multiscale color-gradient matching and a neutral-target penalty.
- Distillation arm also learns local ab predictions from piddnad/ddcolor_artistic, with confidence reduced when teacher colors strongly disagree with original ground truth. Teacher predictions are fallible and are not labels for original historical colors.
- Teacher: upstream DDColor code pinned at 2adb63f2656ac41cbdf7b894cddd94121a3faf13, checkpoint revision resolved once and recorded. Neutral sRGB input at 512 square, raw teacher Lab ab output. Full precision inference. Training teacher targets cached at 64 square after area pooling; student remains 256 square. The grayscale input contract follows the upstream pipeline; fixed 256-to-512 resizing is an experimental comparison choice.
- Evaluate the full pretrained teacher independently as a possible larger deployment option. No claim that distilling it guarantees the small model inherits its semantic capabilities.
Selection gates
Every 500 steps, both gray/film validation conditions must satisfy all gates relative to v2: at least 15% less broad-patch excess after guided decoding; at least 10% less raw broad-patch excess; ab error no more than 5% higher; neutral spill and missed color no more than 1 percentage point higher; color coverage at least 95% of baseline. Rank eligible checkpoints by broad-patch proxy with smaller neutral/error terms. Keep baseline if none qualifies. Final test and real grayscale diagnostic montage are required before release.
Persistence and compute
One L4 job, four-hour hard timeout and internal 3.5-hour graceful deadline checked through cache/training/evaluation loops. Expected roughly 1–3 hours, dependent on teacher inference speed. At the verified $0.80/hour L4 rate, four hours is about $3.20. No automatic write to main or stable: current direct-write permission was rejected in the previous attempt.
The job's finally block exports selected weights (or baseline if rejected), metrics, provenance, source and visual probes as a ZIP in ARTIFACT_BEGIN/ARTIFACT_CHUNK/ARTIFACT_END log records with SHA256. An ordinary failure is exported with status.json; hardware failure or a hard kill can still interrupt export. The teacher checkpoint is referenced by immutable Hub revision rather than duplicated. Optimizer state and the disposable teacher cache are not exported. Recover logs with an adequate tail and verify checksum before extraction.
Known limitation: the matched experiment isolates the extra teacher term, not every other change from v2. No claim of a clean causal attribution to any one of the shared changes.
Round5 rerun — 2026-09-27
The previous round4 result was lost because stdout exceeded the archive cap. This rerun keeps the matched experiment design. Every 250 steps it commits model/config, optimizer and scheduler states to main under experiments/round5-20260927 and downloads changed files at the returned commit to verify SHA256. Evaluation and best selection are saved every 500 steps. Initial baseline and sources are saved before teacher/GPU work. Failed persistence aborts training after three attempts. The app's root checkpoint is only replaced after visual review; all candidates are available on main. Stdout contains compact status and metrics only. Optimizer state is saved for manual continuation, not an exact data-order resume implementation.