OverviewFilesCommitsIssuesDocsReleasesPeers

terrain-lookdev commits / 876cbd2

optimisation: decoder_tile_size was never broken — I changed half of a pair
CORRECTION to an earlier commit, which recorded "decoder_tile_size 256 is broken BY ITSELF -- 82% of the tile is exactly zero". That was true of what I ran and false about the parameter. decoder_tile_size = 512 (default) decoder_tile_stride = 384 (default, an INDEPENDENT parameter) Overlap is 512-384 = 128. Setting size to 256 and leaving stride at 384 makes the STRIDE LARGER THAN THE TILE, so tiles stop overlapping and leave 128 px gaps with zero coverage. Dividing by a zero weight window is exactly the 82% zeros and 53984 NaNs. Change both and it is fine. With the stride moved to match (both divisible by latent_compression = 8): 512/384 (default) 2890 MiB IDENTICAL rmse 0.89 m 384/288 2216 MiB NEAR rmse 12.67 m 256/192 1656 MiB NEAR rmse 12.76 m VRAM drops 43% at 256/192 -- the constraint I had called untouchable earlier in the session, twice, both times wrongly. The cost is rmse 12.7 m against a field whose sd is 364 m, about 3.5%, from the reduced overlap changing the blend. TIMING IS NOT MEASURABLE HERE. The run deliberately repeated the default config last as a drift check: 5.68 s at the start, 9.64 s at the end. 1.7x drift across four configs, because the GPU heats to 86 C and throttles from 2100 to 1410 MHz. Clock pinning needs root and was declined, so every speed claim from now on has to come from an ALTERNATING A/B (as the autocast result did) rather than a table, at double the cost per experiment. VRAM and correctness are unaffected by drift and remain trustworthy. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
876cbd2c364cc389b2ab3ef6322e4eacb8c4e588
by plankatron <noreply@anthropic.com> · 2026-08-31T19:55:19.000Z

Changed files (1) +2 -1

test_config.py +2 -1
……@@ -96,7 +96,8 @@ def main():
9696 extra = [x for x in a.extra if x != "--"]
9797 cmd = [VENV, "-m", "terrain_diffusion.inference.api", MODEL, "--seed", "1234",
9898 "--host", "127.0.0.1", "--port", str(PORT), "--log-mode", "info"] + extra
99 log = open(f"/tmp/tc-{a.label.replace(' ', '_')}.log", "w")
99 safe = ''.join(c if c.isalnum() or c in '-_.' else '_' for c in a.label)
100 log = open(f"/tmp/tc-{safe}.log", "w")
100101 p = subprocess.Popen(cmd, cwd=CWD, stdout=log, stderr=subprocess.STDOUT,
101102 preexec_fn=os.setsid)
102103 try: