finds.dev← search

// the find

junyanz/CycleGAN

★ 12,865 · Lua · NOASSERTION · updated Sep 2023

Software that can generate photos from paintings, turn horses into zebras, perform style transfer, and more.

The original Torch/Lua implementation of CycleGAN, the 2017 ICCV paper that figured out how to do image-to-image translation without paired training data. If you want to turn horse photos into zebra photos without collecting matched pairs, this is where that idea came from. Historical significance aside, this is a research artifact, not a usable library.

The cycle-consistency loss idea is genuinely clever — training two generators simultaneously so A→B→A reconstruction enforces consistency without paired supervision. Comes with a decent model zoo covering style transfer, semantic segmentation, and map/satellite pairs, so you can verify it works before committing to training. The training configuration is simple environment variables rather than a config file maze. The failure cases section in the README is honest and saves you from wasting GPU time on domain pairs that won't work.

Written in Lua/Torch, which has been effectively dead since 2017 — Torch is no longer maintained and LuaRocks dependencies are a graveyard. The README itself tells you to use the PyTorch rewrite instead, so adopting this version is actively wrong. No Python, no pip install, no modern ML tooling integration. The Lua codebase is roughly 1000 lines with minimal abstraction, fine for reading but not for extending. GPU required — CPU mode is documented as untested and the codebase is from an era before MPS or reasonable CPU training times.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →