CycleGAN 是图像领域的开源项目,由 junyanz 开发,2017 年首次发布。
在全站 13,014 个收录项目中,它的 GitHub 星标数(12,872)位列前 4%,在图像分类的 837 个项目里位列前 2%。
项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-21。完全免费,可自行部署使用。
它主要面向的使用场景是:无配对图像风格迁移(如艺术风格转换、季节变换)。同类可对比的替代方案包括 pix2pix、StarGAN、MUNIT。
1安装 Torch7
按官方 distro 仓库 https://github.com/torch/distro 的说明安装 Torch 及其依赖,这是本项目的核心运行环境
2安装 Lua 依赖包
用 luarocks 依次安装 nngraph、class 与 display;display 用于可视化训练过程,缺一不可
luarocks install nngraph
luarocks install class
luarocks install https://raw.githubusercontent.com/szym/display/master/display-scm-0.rockspec3克隆项目仓库
把 CycleGAN 源码下载到本地并进入项目目录,后续脚本都在该目录下运行
git clone https://github.com/junyanz/CycleGAN
cd CycleGAN4准备训练数据
在 data 下建数据集文件夹,再建 trainA 和 trainB 两个子目录,分别放入两个域的图片;有测试图可另建 testA、testB
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
phase | 否 | 在 test.lua 中设置,填 train 即可用训练集做测试 | train |
trainA / trainB | 是 | 数据目录下必须存在的两个子目录,分别存放 A 域和 B 域图像 | data/dataset/trainA |
执行 th 能正常进入 Torch 交互环境,且 data 目录下 trainA、trainB 中均已放入图像,即环境与数据准备就绪。
Q:必须用 Torch 版本吗?有 PyTorch 版吗?
A:README 首行推荐官方 PyTorch 复现版 junyanz/pytorch-CycleGAN-and-pix2pix,新用户优先用它,本仓库为原版 Torch 实现。
Q:任意两个数据集都能互相转换吗?
A:不可以。README 明确指出两域视觉内容相似效果才好的(如风景画↔风景照),马↔斑马效果不错,而猫↔狗会完全失败。
Q:怎么用训练集来测试模型?
A:在 test.lua 中把 phase 设为 'train',即可直接在自己用于训练的图像上测试。
Q:训练过程的可视化怎么开启?
A:需要先安装 display 包(luarocks install 对应的 rockspec 地址),该项目用它来显示训练结果。
pix2pix、StarGAN、MUNIT
CycleGAN 是图像领域的开源项目,由 junyanz 开发,2017 年首次发布。
在全站 13,014 个收录项目中,它的 GitHub 星标数(12,872)位列前 4%,在图像分类的 837 个项目里位列前 2%。
项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-21。完全免费,可自行部署使用。
它主要面向的使用场景是:无配对图像风格迁移(如艺术风格转换、季节变换)。同类可对比的替代方案包括 pix2pix、StarGAN、MUNIT。
satori
开源
网页代码一键变高清图,放大不糊,不用截图
Enlightened library to convert HTML and CSS to SVG
C2GAN
开源
用关键点精准控制图像生成,让AI画出你想要的结构
[ACM MM 2019 Oral] Cycle In Cycle Generative Adversarial Networks for Keypoint-Guide···
stable-diffusion-webui
开源
打开网页说想法,配图素材几秒到手
Stable Diffusion web UI
DeTikZify
开源
上传图表或草图,秒变可编译的TikZ矢量代码。
Synthesizing Graphics Programs for Scientific Figures and Sketches with TikZ.