PyTorch-CycleGAN

用无配对图片训练,轻松实现风格迁移和图像转换

这是一个基于PyTorch的CycleGAN清洁可读实现,用于无配对图像到图像的转换。它解决了传统GAN需要成对训练数据的问题,通过循环一致性损失实现两个域之间的风格迁移,例如将照片转换为油画、马变斑马等。核心能力包括:完整的训练和测试流程、多种数据集支持、可配置的模型参数、以及清晰的代码结构便于学习和二次开发。项目提供了预训练模型和示例脚本,降低了使用门槛。

开源 free 图像生成
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1320
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类图像生成
开发团队aitorzip
所属国家
官网地址
定价模式free
价格说明开源项目,GPL-3.0许可,可自行部署使用,完全免费。
访问状态
是否开源是
开源协议GPL-3.0
主要语言Python
技术栈/模型artificial-intelligence,computer-graphics,computer-vision,cyclegan,deep-learning,generative-adversarial-network,image-generation,image-processing,pytorch
GitHub 星标★ 1320
30天Star增速
HF 下载量
上线时间2017-12-12 00:00:00
最近更新2026-09-22 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数2

使用教程

难度:入门 约 20 分钟 部署方式:本地安装 5 步

环境要求

  • Python 3.6.x(README 明确代码针对该版本,未在更早版本测试)
  • PyTorch 与 torchvision(按 pytorch.org 上对应环境的说明安装)
  • Visdom(用于绘制损失曲线并可视化图像)
  • 训练数据:可直接下载 UC Berkeley 已有数据集,或按目录结构自建

安装与启动步骤

  1. 1获取项目代码

    从 GitHub 克隆 PyTorch-CycleGAN 仓库到本地,然后进入项目根目录执行后续操作。

    git clone https://github.com/aitorzip/PyTorch-CycleGAN.git
    cd PyTorch-CycleGAN
  2. 2安装 PyTorch 环境

    README 要求按 pytorch.org 官网针对你当前系统与 CUDA 版本的说明安装 PyTorch 和 torchvision,本项目未给出固定安装命令。

  3. 3安装 Visdom

    Visdom 用于绘制损失曲线并在浏览器中查看生成图像,README 给出的安装命令如下。

    pip3 install visdom
  4. 4下载标准数据集

    使用仓库自带脚本下载 UC Berkeley 提供的数据集,把 替换为下方合法数据集名称之一。

    ./download_dataset horse2zebra
  5. 5准备自定义数据集

    若不用现成数据集,按 README 目录结构自建:datasets/<数据集名>/train 与 test 下各有 A、B 两个域图片文件夹。

如何确认成功

数据集下载完成后,datasets/<数据集名>/ 下应出现 train 与 test 目录及其中的 A、B 子目录;Visdom 能正常导入即环境就绪。

常见问题

Q:Python 版本不是 3.6.x 可以运行吗?

A:README 说明代码面向 Python 3.6.x,且未在更早版本测试过,建议使用 3.6.x 环境以减少兼容问题。

Q:download_dataset 支持哪些数据集?

A:apple2orange、summer2winter_yosemite、horse2zebra、monet2photo、cezanne2photo、ukiyoe2photo、vangogh2photo、maps、cityscapes、facades、iphone2dslr_flower、ae_photos。

Q:Visdom 是必须安装的吗?

A:README 将其列为前置依赖,作用是绘制损失图和浏览图像;不安装则无法使用其可视化功能。

Q:如何用自己的图片训练?

A:按 README 结构建立 datasets/<数据集名>/train/A、train/B 和 test/A、test/B,分别放入两个域的图片即可。

注意事项

  • 代码针对 Python 3.6.x 编写,未在更早版本测试。
  • 数据集目录必须严格按 train/A、train/B、test/A、test/B 组织。
  • README 节选只覆盖到数据集准备阶段,训练与测试的具体命令请以仓库内实际脚本和文档为准。

核心亮点

  • 代码结构清晰,注释完善,适合学习CycleGAN原理和PyTorch实践
  • 支持自定义数据集和多种训练选项,灵活适配不同图像转换任务
  • 提供预训练权重和测试脚本,开箱即用快速体验效果

不足之处

  • 文档相对简略,高级用法和调参指南不够详细
  • 依赖较旧的PyTorch版本,可能需适配新环境

适用场景

  • 学术研究:快速复现CycleGAN基线模型
  • 创意设计:将普通照片转换为艺术风格图像
  • 数据增强:生成不同风格的训练样本

替代项目

CycleGAN-Torch、pytorch-CycleGAN-and-pix2pix、SimGAN

项目介绍

PyTorch-CycleGAN 是模型训练领域的开源项目,由 aitorzip 开发,2017 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,320)位列前 30%,在模型训练分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-22。GPL-3.0许可,可自行部署使用,完全免费。

它主要面向的使用场景是:学术研究:快速复现CycleGAN基线模型。同类可对比的替代方案包括 CycleGAN-Torch、pytorch-CycleGAN-and-pix2pix、SimGAN。

上一篇:diffusion_distiller

下一篇:vae-lagging-encoder

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 62178 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1286 2026-08-13