Contrastive Unpaired Translation (CUT)代码复现

GitHub链接:taesungp/contrastive-unpaired-translation: Contrastive unpaired image-to-image translation, faster and lighter training than cyclegan (ECCV 2020, in PyTorch) (github.com)

论文链接:2007.15651 (arxiv.org)

环境配置等问题可以看下面这篇博客,我觉得写的非常详细,可以直接使用:【模型复现】自制数据集上复现风格迁移模型 CUT:Contrastive Unpaired Translation_contrastive unpaired translation 代码-CSDN博客

这里重点回答一些上述博客中没有讲到的内容。

一、数据集制作

在 options/base_options.py 中,这句代码说明这篇论文的数据集可以分为3类:unalignedalignedsingle

parser.add_argument('--dataset_mode', type=str, default='unaligned', help='chooses how datasets are loaded. [unaligned | aligned | single | colorization]')

unaligned

unaligned 的数据集形式如下,这种实际上是CycleGAN的数据集。

trainA放同一分布的源域数据。

trainB放另一种分布的目标域数据集。

例如horse2zebra数据集就具有这种组成形式。

my_datasets/
├──trainA
│	├──xxx.jpg
│	├──xxx.jpg
└──trainB
	├──xxx.jpg
	└──xxx.jpg

horse2zebra数据集中的trainA部分,这部分全部都是马的数据。

 trainB部分:这部分全部都是斑马的数据。

aligned

 aligned 的数据集形式如下所示,这种实际上就是pix2pix的数据集。

例如facades数据集就具有这种格式。

my_datasets/
│		
└──train
	├──xxx.jpg
	└──xxx.jpg

facades 数据集的train

这要求数据集图像左右具有对其关系,例如:

二、train 

上面那篇博客大部分都已经写到,我这里做一些补充部分。

下面这句代码要注意,这表示了一个转换关系。

AtoB表示由域A转化成域B。

BtoA表示由域B转化成域A。

针对于两种数据集,像unaligned类型,AtoB 表示 train A的风格转化成 trainB 的风格,BtoA 表示train B 的风格转化成 trian A的风格。

aligned类型中A表示左边的图像,B表示右边的图像。

parser.add_argument('--direction', type=str, default='AtoB', help='AtoB or BtoA')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值