Papers › Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

30 Mar 2017ICCV 2017 10arXiv:1703.10593archive 2025-07-28

Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros

Image-to-image translation is a class of vision and graphics problems where the goal is to learn the mapping between an input image and an output image using a training set of aligned image pairs. However, for many tasks, paired training data will not be available. We present an approach for learning to translate an image from a source domain X to a target domain Y in the absence of paired examples. Our goal is to learn a mapping G: X →Y such that the distribution of images from G(X) is indistinguishable from the distribution Y using an adversarial loss. Because this mapping is highly under-constrained, we couple it with an inverse mapping F: Y →X and introduce a cycle consistency loss to push F(G(X)) ≈X (and vice versa). Qualitative results are presented on several tasks where paired training data does not exist, including collection style transfer, object transfiguration, season transfer, photo enhancement, etc. Quantitative comparisons against several prior methods demonstrate the superiority of our approach.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1703.10593")

Code

Syntology Ran 6 of 31 code samples harvested from 13 repositories linked to this paper; 25 have no recorded run. Of those that ran: 1 ran · honoured contract; 5 ran · our draft was wrong.

By repository: community (archive-listed): 31 samples from 13 repositories, 6 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

190 repositories listed; official and paper-mentioned ones first.

junyanz/CycleGAN officialmentioned in papermentioned on GitHubtf report
junyanz/pytorch-CycleGAN-and-pix2pix officialmentioned in papermentioned on GitHubpytorchNOASSERTION report
2023-MindSpore-1/ms-code-134 mentioned on GitHubmindspore report
2023-MindSpore-1/ms-code-184 mentioned on GitHubmindspore report
AbhinavTalari/Night2Day mentioned on GitHubpytorch report
Adi-iitd/AI-Art mentioned on GitHubtf report
AlphaKong/CycleGAN mentioned on GitHubtf report
Atharva-Phatak/Image2Image mentioned on GitHubpytorch report
Atharva-Phatak/Season-Transfer mentioned on GitHubpytorch report
AverageName/Cycle_gan_pytorch mentioned on GitHubpytorch report
AverageName/UI2IT mentioned on GitHubpytorch report
CarpdiemLiang/style_transfer mentioned on GitHubpytorch report
CoryRJ/cycleGAN mentioned on GitHubtf report
Emir-Liu/Cycle-GAN mentioned on GitHubpytorch report
Eyyub/tensorflow-cyclegan mentioned on GitHubtf report
Feynman1999/MgeEditing mentioned on GitHub report
FiveEyes/CycleGAN mentioned on GitHubpytorch report
GBATZOLIS/Wespe-Keras mentioned on GitHubtf report
GiuliaLanzillotta/exercises mentioned on GitHubtf report
HazemLahoual/Project-Machine-Learning mentioned on GitHubpytorch report
JL321/CycleGAN mentioned on GitHubtf report
JaryV/CycleGAN_OldYoung mentioned on GitHubpytorch report
Jay0505/CycleGAN mentioned on GitHubtf report
JohanYe/CycleGAN-Pokemon mentioned on GitHubpytorch report
JohanZYe/CycleGAN-Pokemon mentioned on GitHubpytorch report
Kprerak-iisc/data-science mentioned on GitHub report
Lornatang/PyTorch-CycleGAN mentioned on GitHubpytorch report
LynnHo/CycleGAN-Tensorflow-2 mentioned on GitHubtf report
NDCHIRO/Cartoonizer mentioned on GitHubtf report
NathanDeMaria/AugmentedCycleGAN mentioned on GitHubpytorch report
NeuralVFX/lighting-swap-cyclegan mentioned on GitHubpytorch report
Nirav-Agarwal/GANs mentioned on GitHubpytorch report
NitishaS-812k/Monet-CycleGAN mentioned on GitHubtf report
NiucunCode/Deep-Learning-proj2 mentioned on GitHubpytorch report
Our4514/CAGFUZZ mentioned on GitHub report
PDEUXA/AIF_CYCLEGAN mentioned on GitHubtf report
Pavan-pk/ArtGan_Realism mentioned on GitHub report
QXL4515/CAGFuzz mentioned on GitHub report
Qi-Xian/color-transfer_HW1 mentioned on GitHubpytorch report
RanBezen/cycleGan_handwriting mentioned on GitHubtf report
RezisEwig/cyclegan mentioned on GitHubtf report
Ritam9/CycleGAN mentioned on GitHubpytorch report
SHAHBAZSIDDIQI/DataScience mentioned on GitHub report
SarderLab/WSI-cycleGAN mentioned on GitHubtf report
SeonghoBaek/CycleGAN mentioned on GitHubtf report
Shumway82/CycleGAN mentioned on GitHubtf report
Sontref/CycleGAN mentioned on GitHubpytorch report
T-C-J/GAN mentioned on GitHubtf report
T-C-J/shuiying mentioned on GitHubtf report
TJJTJJTJJ/pytorch_CycleGAN_frame mentioned on GitHubpytorch report
Taoudi/Monet-ization-of-Images mentioned on GitHubtf report
VedantDere0104/Cycle_GAN mentioned on GitHub report
VyshnaviSK/Face2Mask-CycleGAN mentioned on GitHubpytorch report
WeiYangze/hibernate-demo mentioned on GitHubtf report
Wenchao-Du/LIR-for-Unsupervised-IR mentioned on GitHubpytorch report
YiteWang/CS547-final-project mentioned on GitHubpytorch report
Yougunhee/cycleGAN mentioned on GitHubtf report
YoungWoong-Cho/Decay mentioned on GitHubpytorch report
ZC119/Handwritten-CycleGAN mentioned on GitHubpytorch report
ZhangGongjie/CycleGAN-Pytorch mentioned on GitHubpytorch report
abhishtagatya/paintgan mentioned on GitHubtf report
adnanalam53/cycleGAN mentioned on GitHubtf report
ahmedbesbes/cycle-gan mentioned on GitHubpytorch report
aitorzip/PyTorch-CycleGAN mentioned on GitHubpytorch report
alexquach/cycleGAN mentioned on GitHubpytorch report
anjalipemmaraju/cyclegan mentioned on GitHubpytorch report
arnab39/cycleGAN-PyTorch mentioned on GitHubpytorch report
arnavdodiedo/dog2sketch mentioned on GitHub report
arnavdodiedo/sketch2face mentioned on GitHub report
ashura1234/soccer-line-detection mentioned on GitHubpytorch report
avellal14/AI-for-Art mentioned on GitHubpytorch report
bareeka/ganproject mentioned on GitHubtf report
carnotaur/CycleGAN mentioned on GitHubpytorch report
chao-ji/image-translation mentioned on GitHubtf report
cloudwaysx/cyclegan-tensorflow_pixie mentioned on GitHubpytorch report
cvfx-2019/homework1-color-transfer mentioned on GitHubpytorch report
cvp19g2/cvp19g2 mentioned on GitHubpytorch report
cydessole/AnimeLife mentioned on GitHub report
daintlab/ct-denoising mentioned on GitHubtf report
dantecomedia/CycleGAN mentioned on GitHubtf report
dhassault/cyclegan_pytorch mentioned on GitHubpytorch report
elsa9421/cyclegan_readable mentioned on GitHubpytorch report
eriklindernoren/Keras-GAN mentioned on GitHubpytorch report
eriklindernoren/PyTorch-GAN mentioned on GitHubpytorch report
fuenwang/CVFX-hw1 mentioned on GitHubpytorch report
gagan16/Cyclegan-tensorflow mentioned on GitHubtf report
ganslate-team/ganslate mentioned on GitHubpytorchNOASSERTION report
gcwl/pytorch-cyclegan mentioned on GitHubpytorch report
hthoai/UI2IT mentioned on GitHubpytorch report
hujinsen/pytorch-StarGAN-VC mentioned on GitHubpytorch report
icon-lab/pflsynth mentioned on GitHubpytorch report
itsuki8914/CycleGAN-TF mentioned on GitHubtf report
jackaduma/CycleGAN-VC2 mentioned on GitHubpytorch report
jiajunhua/CycleGAN mentioned on GitHubtf report
jtiger958/cyclegan-pytorch mentioned on GitHubpytorch report
justusschock/delira_cycle_gan_pytorch mentioned on GitHubpytorch report
kaminyou/urust mentioned on GitHubpytorch report
khush3/GAN mentioned on GitHubpytorch report
kzkymur/transition mentioned on GitHubpytorch report
leehomyc/cyclegan-1 mentioned on GitHubtf report
lornatang/cyclegan-pytorch mentioned on GitHubpytorch report
ls4gan/benchmarking mentioned on GitHubpytorch report
lukeandshuo/IR2VI_journal mentioned on GitHubpytorch report
lyonling/pix2pix mentioned on GitHub report
manicman1999/CycleGAN256-BR mentioned on GitHub report
matteodalessio/CycleGAN-android mentioned on GitHubtf report
mehdibnc/Cycle-GAN mentioned on GitHub report
mehdidc/any2any mentioned on GitHubpytorchMIT report
mickan123/CycleGAN mentioned on GitHubtf report
mid-push/irwgan mentioned on GitHubpytorchNOASSERTION report
misuy/misuy_style_transfer_bot mentioned on GitHubpytorch report
mlvc-lab/CycleGan_pytorch mentioned on GitHubpytorchGPL-3.0 report
mori97/CycleGAN-chainer mentioned on GitHubMIT report
mronta/CycleGAN-in-Keras mentioned on GitHubMIT report
nahliabdelwahed/Face-Image-Deblurring mentioned on GitHubtfBSD-2-Clause report
nhannguyencsd/vision_cyclegan mentioned on GitHubpytorchMIT report
onedayatatime0923/Cycle_Mcd_Gan mentioned on GitHubpytorch report
pcummer/cycle-gan-keras mentioned on GitHubtf report
pooriyasafaei/cityscapes_pix2pix mentioned on GitHubpytorch report
racinmat/anime-style-transfer mentioned on GitHubtf report
ranery/Bayesian-CycleGAN mentioned on GitHubpytorchMIT report
ravindrabharathi/FaceAgingGAN mentioned on GitHubMIT report
sanjsvk/CycleGANs mentioned on GitHub report
sergeisoly/CycleGAN mentioned on GitHubpytorch report
spiridonoff/Monet mentioned on GitHub report
stqc/Simple_CycleGAN_pytorch mentioned on GitHubpytorch report
taivu1998/GANime mentioned on GitHubtf report
tarujg/domain-adapt mentioned on GitHubpytorchMIT report
tbullmann/imagetranslation-tensorflow mentioned on GitHubtfNOASSERTION report
tensorflow/models mentioned on GitHubtf report
tensorpack/tensorpack mentioned on GitHubtf report
tollymune/CycleGAN-PyTorch mentioned on GitHubpytorchnot reachable when probed 2026-09-18 — repositories for recent papers often appear after camera-ready report
tomgillooly/geogan mentioned on GitHubpytorchNOASSERTION report
uzielroy/CUT mentioned on GitHubpytorchGPL-3.0 report
vanhuyz/CycleGAN-TensorFlow mentioned on GitHubtfMIT report
wkhademi/ImageEnhancement mentioned on GitHubtf report
wonbeomjang/cyclegan-pytorch mentioned on GitHubpytorchMIT report
xhujoy/CycleGAN-tensorflow mentioned on GitHubtf report
xw-hu/Mask-ShadowGAN mentioned on GitHubpytorchNOASSERTION report
xxlya/CycleGAN mentioned on GitHubpytorchGPL-3.0 report
yangyucheng000/CycleGan mentioned on GitHubmindspore report
yex666/cyclegan-in-mindspore mentioned on GitHubmindsporeApache-2.0 report
yunjey/mnist-svhn-transfer mentioned on GitHubpytorch report
yxue3357/CycleGAN_pt mentioned on GitHubpytorch report
yxue3357/CycleGAN_tf mentioned on GitHubtf report
yxue3357/Mask-CycleGAN mentioned on GitHubpytorch report
zcemycl/Matlab-GAN mentioned on GitHubpytorchMIT report
zhuo931077127/CycleGAN_practice mentioned on GitHubpytorch report
septmars/DL pytorchMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

31 samples harvested; 6 ran; 1 honoured the contract we drafted; 25 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · honoured contract
5ran · our draft was wrong
25unverified

Licence: 6 of the 31 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 13 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

batch_shape JL321/CycleGAN/cycleGAN.py community (archive-listed) ran · our draft was wrong fingerprinted no licence file found · pointer only · 52ab9586152ff082 · report
create_list leehomyc/cyclegan-1/create_cyclegan_dataset.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 85f23642dbfe3b9c · report
criterion_cls NiucunCode/Deep-Learning-proj2/stargan/stargan.py community (archive-listed) ran · our draft was wrong fingerprinted no licence file found · pointer only · b2c2f67d29748a94 · report
get_base_name racinmat/anime-style-transfer/code/mod-cycle-gan/transform.py community (archive-listed) ran · our draft was wrong fingerprinted no licence file found · pointer only · 2154eb6f5c5d24f2 · report
load_pickle_file jackaduma/CycleGAN-VC2/preprocess_training.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 1979c9d42c945db2 · report
mean_std_loss NeuralVFX/lighting-swap-cyclegan/cycle_gan.py community (archive-listed) ran · honoured contract no licence file found · pointer only · f41be69fddc4f6d8 · report
Rk nahliabdelwahed/Face-Image-Deblurring/CycleGAN/CycleGAN_Code/ops.py community (archive-listed) unverified BSD-2-Clause (permissive) · 51b2bff753b420af · report
analyze_div ranery/Bayesian-CycleGAN/evaluation/div.py community (archive-listed) unverified MIT (permissive) · 5558a586ed0f084e · report
batch_convert2int nahliabdelwahed/Face-Image-Deblurring/CycleGAN/CycleGAN_Code/utils.py community (archive-listed) unverified BSD-2-Clause (permissive) · cf8ebd33964671ae · report
c7s1_k nahliabdelwahed/Face-Image-Deblurring/CycleGAN/CycleGAN_Code/ops.py community (archive-listed) unverified BSD-2-Clause (permissive) · 29c073d4bcd081b3 · report
c7s1_k vanhuyz/CycleGAN-TensorFlow/ops.py community (archive-listed) unverified MIT (permissive) · 3547e76f546ea2fb · report
calculate_activation_statistics ranery/Bayesian-CycleGAN/evaluation/fid.py community (archive-listed) unverified MIT (permissive) · 91628fe016b3b141 · report
calculate_frechet_distance ranery/Bayesian-CycleGAN/evaluation/fid.py community (archive-listed) unverified MIT (permissive) · 846d824d45774de9 · report
combined_flat_anneal tmabraham/UPIT/upit/train/cyclegan.py community (archive-listed) unverified Apache-2.0 (permissive) · c2f38f10e9b9fd77 · report
compute_gradient_penalty NiucunCode/Deep-Learning-proj2/stargan/stargan.py community (archive-listed) unverified no licence file found · pointer only · 6150661478a11e4a · report
convert2float nahliabdelwahed/Face-Image-Deblurring/CycleGAN/CycleGAN_Code/utils.py community (archive-listed) unverified BSD-2-Clause (permissive) · 8784e48570a63b64 · report
convert2int nahliabdelwahed/Face-Image-Deblurring/CycleGAN/CycleGAN_Code/utils.py community (archive-listed) unverified BSD-2-Clause (permissive) · c176df774e2aaf48 · report
create_model karl-hajjar/Generative-Adversarial-Networks/models.py community (archive-listed) unverified no licence file found · pointer only · c862e3a3a908331d · report
data_reader nahliabdelwahed/Face-Image-Deblurring/CycleGAN/CycleGAN_Code/build_data.py community (archive-listed) unverified BSD-2-Clause (permissive) · 256590a5ff578f7e · report
decode_image yex666/cyclegan-in-mindspore/src/cyclegan_utils/tools.py community (archive-listed) unverified Apache-2.0 (permissive) · 31276b5e652eac13 · report
define_D ranery/Bayesian-CycleGAN/models/networks.py community (archive-listed) unverified MIT (permissive) · 514b952ec6180601 · report
define_G ranery/Bayesian-CycleGAN/models/networks.py community (archive-listed) unverified MIT (permissive) · d3aad42a142a67c5 · report
dk nahliabdelwahed/Face-Image-Deblurring/CycleGAN/CycleGAN_Code/ops.py community (archive-listed) unverified BSD-2-Clause (permissive) · 5bd1e9f79cb2d533 · report
get_activations ranery/Bayesian-CycleGAN/evaluation/fid.py community (archive-listed) unverified MIT (permissive) · e22554578964be22 · report
get_discriminator yex666/cyclegan-in-mindspore/src/models/cycle_gan.py community (archive-listed) unverified Apache-2.0 (permissive) · f8a056c53e46014b · report
get_generator yex666/cyclegan-in-mindspore/src/models/cycle_gan.py community (archive-listed) unverified Apache-2.0 (permissive) · 9ba994b8bf7dcc37 · report
get_inception_score ranery/Bayesian-CycleGAN/evaluation/inception_score.py community (archive-listed) unverified MIT (permissive) · b49d09e26bebee3c · report
get_norm_layer ranery/Bayesian-CycleGAN/models/networks.py community (archive-listed) unverified MIT (permissive) · ad8798affe75a564 · report
get_random_sample Adi-iitd/AI-Art/src/CycleGAN/CycleGAN-PL.py community (archive-listed) unverified MIT (permissive) · 9d9c3351e51a0871 · report
im2index ranery/Bayesian-CycleGAN/datasets/color2index.py community (archive-listed) unverified MIT (permissive) · b8753062e482c978 · report
parse_args yex666/cyclegan-in-mindspore/src/config/cyclegan_config.py community (archive-listed) unverified Apache-2.0 (permissive) · 803e54320fbaee04 · report

Tasks

Image ColorizationImage-to-Image TranslationMultimodal Unsupervised Image-To-Image TranslationStyle TransferTranslationUnsupervised Image-To-Image Translation

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Image Colorization NIR2RGB VCIP Challange Dataset CycleGAN PSNR 19.59 #3 of 3 Archive leaderboard report
Image-to-Image Translation Cityscapes Labels-to-Photo CycleGAN Class IOU 0.11 #17 of 21 Archive leaderboard report
Image-to-Image Translation Cityscapes Labels-to-Photo CycleGAN Per-class Accuracy 17% #17 of 21 Archive leaderboard report
Image-to-Image Translation Cityscapes Labels-to-Photo CycleGAN Per-pixel Accuracy 52% #17 of 21 Archive leaderboard report
Image-to-Image Translation Cityscapes Photo-to-Labels CycleGAN Class IOU 0.16 #2 of 5 Archive leaderboard report
Image-to-Image Translation Cityscapes Photo-to-Labels CycleGAN Per-class Accuracy 22% #2 of 5 Archive leaderboard report
Image-to-Image Translation Cityscapes Photo-to-Labels CycleGAN Per-pixel Accuracy 58% #2 of 5 Archive leaderboard report
Image-to-Image Translation RaFD CycleGAN Classification Error 5.99% #3 of 4 Archive leaderboard report
Image-to-Image Translation horse2zebra CycleGAN Frechet Inception Distance 89.7 #4 of 4 Archive leaderboard report
Image-to-Image Translation horse2zebra CycleGAN Number of params 28.2M #4 of 4 Archive leaderboard report
Image-to-Image Translation photo2vangogh CycleGAN Frechet Inception Distance 151.4 #2 of 3 Archive leaderboard report
Image-to-Image Translation photo2vangogh CycleGAN Number of params 28.2M #2 of 3 Archive leaderboard report
Image-to-Image Translation vangogh2photo CycleGAN Frechet Inception Distance 163.4 #3 of 3 Archive leaderboard report
Image-to-Image Translation vangogh2photo CycleGAN Number of Params 28.2M #3 of 3 Archive leaderboard report
Image-to-Image Translation zebra2horse CycleGAN Frechet Inception Distance 110.5 #2 of 3 Archive leaderboard report
Image-to-Image Translation zebra2horse CycleGAN Number of params 28.2M #2 of 3 Archive leaderboard report
Multimodal Unsupervised Image-To-Image Translation Cats-and-Dogs CycleGAN CIS 0.076 #3 of 3 Archive leaderboard report
Multimodal Unsupervised Image-To-Image Translation Cats-and-Dogs CycleGAN IS 0.813 #3 of 3 Archive leaderboard report
Multimodal Unsupervised Image-To-Image Translation EPFL NIR-VIS cycGAN PSNR 17.38 #2 of 3 Archive leaderboard report
Multimodal Unsupervised Image-To-Image Translation Edge-to-Handbags CycleGAN Diversity 0.012 #4 of 4 Archive leaderboard report
Multimodal Unsupervised Image-To-Image Translation Edge-to-Handbags CycleGAN Quality 40.8% #4 of 4 Archive leaderboard report
Multimodal Unsupervised Image-To-Image Translation Edge-to-Shoes CycleGAN Diversity 0.010 #4 of 4 Archive leaderboard report
Multimodal Unsupervised Image-To-Image Translation Edge-to-Shoes CycleGAN Quality 36.0% #4 of 4 Archive leaderboard report
Unsupervised Image-To-Image Translation Freiburg Forest Dataset cycGAN PSNR 18.57 #2 of 3 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Introduced by this paper: Cycle Consistency Loss

AdamBatch NormalizationConvolutionCycle Consistency LossGAN Least Squares LossInstance NormalizationPatchGANReLUResidual BlockResidual ConnectionSigmoid ActivationTanh Activation

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections