
CUT无配对图像转换对比学习如何替代反向网络【免费下载链接】contrastive-unpaired-translationContrastive unpaired image-to-image translation, faster and lighter training than cyclegan (ECCV 2020, in PyTorch)项目地址: https://gitcode.com/gh_mirrors/co/contrastive-unpaired-translationCycleGAN 需要同时训练四个网络速度慢、显存开销大。CUT 用单个生成器加 PatchNCE 对比损失完成无配对图像转换还能进一步做到每个域只有一张图的单图风格迁移。核心机制无配对图像转换如何靠单生成器跑通CUT 做的事把 A 域图像送入生成器得到 B 域图像再让原图与生成图各自提取多层特征生成图中每个小块以原图对应位置的小块为正样本、以其他块为负样本用对比损失把生成图拉向 B 域的分布。打个比方它像做视觉多选题对每一块生成图模型必须选中原图里它对应的那一块全程只训前向网络不需要反向网络。关键模块拆解谁生成、谁评判、谁对齐负责生成的前向网络只有一个生成器没有反向网络——这是训练比 CycleGAN 快、显存省的主要原因见 models/cut_model.py默认 resnet_9blocks 结构可换 U-Net 或 StyleGAN2由--netG控制定义在 models/networks.pyFastCUT 模式下特征网络直接复用生成器骨干进一步省显存前向传播可额外返回指定层的中间特征图为对比损失提供素材蓝色猫与 Grumpy Cat 之间的无配对风格转换效果负责评判的局部判别器PatchGAN 式局部判断输出逐区域的分数图而非整图一个分数默认 3 层卷积每层特征图尺寸减半专注纹理真实性对抗损失与对比损失分别由--lambda_GAN、--lambda_NCE加权可选叠加像素级判别器补足细节判断负责对齐的 PatchNCE 对比损失特征网络 F 在生成器多层提取特征默认第 0,4,8,12,16 层--nce_layers每层随机采样 256 个 patch--num_patches可选 MLP 投影到 256 维--netF正样本取原图对应块特征负样本取同图其他块用交叉熵 温度 0.07 计算实现见 models/patchnce.py CUT 模式额外开启 identity 保持损失nce_idt防止生成图偏离原图内容PatchNCE正样本与负样本如何参与对比计算配置与上手两条命令启动无配对图像转换bash ./datasets/download_cut_dataset.sh grumpifycat python train.py --dataroot ./datasets/grumpifycat --name grumpycat --CUT_mode CUT关键参数定义见 models/cut_model.py 与 options/base_options.py参数作用--CUT_modeCUT默认含 identity 损失lambda_NCE1.0或FastCUT更轻更快lambda_NCE10.0--lambda_NCE对比损失权重决定分布匹配的强度--nce_layers在哪些层提取特征算对比损失--nce_T温度默认 0.07控制相似度的尖锐程度--netG生成器架构如 resnet_9blocks / unet_256选型建议与效果训练速度与显存开销约为 CycleGAN 的一半FastCUT 模式无反向网络、无循环一致性约束损失全部自动计算支持单图训练SinCUT无需成对数据也能做风格迁移适用两个域各有一批无配对图的风格迁移、域适应尤其是两域分布差异大、需要模型统计修正的场景。⚠️ 不适用要求像素级对齐的成对任务应选 pix2pix或必须双向互译且严格保持结构的场景。相比 CycleGANCUT 用分布匹配替代了循环一致性约束。CUT、FastCUT 与 CycleGAN 在马到斑马任务上的效果对比开始使用git clone https://gitcode.com/gh_mirrors/co/contrastive-unpaired-translation文档入口README.md数据集准备说明见 docs/datasets.md。挑一对你手头正好有的无配对图片几小时后就能收获第一个转换结果。【免费下载链接】contrastive-unpaired-translationContrastive unpaired image-to-image translation, faster and lighter training than cyclegan (ECCV 2020, in PyTorch)项目地址: https://gitcode.com/gh_mirrors/co/contrastive-unpaired-translation创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考