CycleGAN

照片拖进去,秒变手绘名画,马也能变斑马

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 图像生成 🍴 复刻 1947 🐛 待处理 59 👀 关注 378
GitHub ↗
GitHub 星标 ★ 12876
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,完全免费,可自行部署使用。

项目预览

CycleGAN 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类图像生成
开发团队junyanz
定价模式🏷️完全免费
价格说明开源项目,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议NOASSERTION
主要语言Lua
技术栈/模型computer-graphics,computer-vision,cyclegan,deep-learning,gan,gans,generative-adversarial-network,image-generation,image-manipulation,pix2pix,torch
GitHub 星标★ 12876
上线时间2017-03-30 00:00:00
代码更新2023-09-12
仓库体积12.5 MB
本站数据更新2026-11-08
维护状态低维护
收录时间2026-08-09
浏览次数8

项目介绍

经典无监督图像风格迁移框架,无需成对数据即可实现照片转绘画、马变斑马等趣味效果,广泛应用于风格迁移与图像翻译领域,是计算机视觉领域教科书级的开源项目。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 12876

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:高级 约 60 分钟 部署方式:本地安装 4 步

环境要求

  • Torch7(Lua 深度学习框架),需按官方 distro 仓库说明安装
  • luarocks 可用(随 Torch 安装),用于安装 nngraph、class、display 三个包
  • 数据目录下需含 trainA 与 trainB 两个子目录,分别存放 A、B 两个域的图像
  • 可选:testA / testB 子目录存放测试图像
  • 两个域的图像视觉内容应相似(如马↔斑马),否则效果很差

安装与启动步骤

  1. 1安装 Torch7

    按官方 distro 仓库 https://github.com/torch/distro 的说明安装 Torch 及其依赖,这是本项目的核心运行环境

  2. 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.rockspec
  3. 3克隆项目仓库

    把 CycleGAN 源码下载到本地并进入项目目录,后续脚本都在该目录下运行

    git clone https://github.com/junyanz/CycleGAN
    cd CycleGAN
  4. 4准备训练数据

    在 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 地址),该项目用它来显示训练结果。

注意事项

  • Torch7 已停止维护,安装依赖较繁琐,新手建议改用官方 PyTorch 版本。
  • README 顶部推荐了后续工作 CUT(contrastive-unpaired-translation),训练更快、更省显存。
  • 数据集组合不要随意搭配,优先选择内容相近的两个域。

核心亮点

  • 首创循环一致性损失,实现无配对图像的风格迁移,突破传统GAN需成对训练数据的限制
  • 代码结构清晰,基于Torch实现,训练和测试流程完整,易于复现和二次开发
  • 提供丰富的预训练模型和示例(如斑马↔马、油画↔照片),社区验证充分,应用广泛

不足之处

  • 依赖Lua/Torch生态,相比现代PyTorch框架维护较少,新手入门门槛较高
  • 训练不稳定且耗时较长,对超参数敏感,生成图像分辨率有限
  • 文档/社区待观察

适用场景

  • 无配对图像风格迁移(如艺术风格转换、季节变换)
  • 图像域转换(如卫星图到地图、素描到彩色)
  • 数据增强(生成合成数据辅助下游任务)

替代项目

pix2pix、StarGAN、MUNIT

上一篇:satori

下一篇:pix2pix

同类项目推荐

Simple_Prompt_Generator 开源

不会写提示词?一键生成高质量 AI 绘画咒语

A user-friendly tool for generating high-quality text prompts for AI image generatio···

★ 166 2026-08-09
Infographic 开源

输入文字,AI 自动生成专业信息图,省时省力。

An Infographic Generation and Rendering Framework, bring words to life with AI!

★ 7075 2026-08-09
DiffStyle 开源

用扩散模型一键切换多种艺术风格,保留原图结构

DiffStyle: Leverage Diffusion Prior to One-for-All Style Transfer. Course project of···

★ 93 2026-08-09
OASIS 开源

只用对抗损失,就能生成高质量语义图像

Official implementation of the paper "You Only Need Adversarial Supervision for Sema···

★ 339 2026-08-09
smart-comfyui-gallery 开源

不开 ComfyUI,用自然语言管理你的 AI 图片库

SmartGallery DAM is a local-first, browser-based Digital Asset Manager for ComfyUI. ···

★ 402 2026-08-09
MirrorGAN 开源

让AI根据文字画出精准匹配的图片,语义不跑偏

Pytorch implementation of MirrorGAN

★ 132 2026-08-09
discoart 开源

一行代码,用文本生成惊艳的 Disco Diffusion 艺术画作

Create Disco Diffusion artworks in one line

★ 3810 2026-08-09
NFTgenerator 开源

拖拽图层,一键生成上千个NFT变体。

SickAlien NFT Art Generator is an interactive tool to generate 1000s of NFTs just by···

★ 131 2026-08-09