stylegan代码复现记录——从0开始

一.连服务器

环境 vscode ssh连接服务器
https://blog.csdn.net/J198212/article/details/142412087?spm=1001.2014.3001.5501

二.配环境,安装annaconda

https://blog.csdn.net/J198212/article/details/142572437?spm=1001.2014.3001.5501

三.把文件上传至服务器

https://blog.csdn.net/J198212/article/details/142551204?spm=1001.2014.3001.5501
见博客里的方法一

四.数据集

数据集的上传见博客方法二
home/project1
上传之后,不知道该怎么用数据集,用没解压的那个显示不符合标签规则不能用,遂尝试解压
关于数据集的使用,解压的是

unzip data/CelebA/Img/img_align_celeba.zip

运行 unzip data/CelebA/Img/img_align_celeba.zip 命令时,默认情况下,unzip 将把文件解压到当前的工作目录
在此之前先安装unzip,在这里插入图片描述

apt-get update
apt-get install -y unzip

五.开始训练

关于虚拟环境的选择:
ctrl+shift+P
之后在上面命令行输入 python: select interpreter

在这里插入图片描述
之后选择即可
在这里插入图片描述

六.准备工作做完之后,

之后参考readme文档,运行

python prepare_data.py --out data/CelebAlmdb --n_worker 4 data/CelebA/celeba_images

在这里插入图片描述

(style) root@bdea357b175f:~/home/project1/stylegan# python train.py --mixing data/CelebAlmdb

运行之后有个地方会报错,参考通义千问,这里修改完之后可以了,具体为什么等后续能看懂代码了再研究在这里插入图片描述

CycleGAN是一种基于生成对抗网络(GAN)的图像转换模型,它可以将一组图像从一个域(例如马)转换为另一个域(例如斑马),并实现域之间的图像翻译。 CycleGAN的主要思想是通过两个生成器和两个判别器来学习从一个域到另一个域的映射。其中一个生成器将一个图像从域A转换为域B,另一个生成器将该图像从域B转换为域A。这两个生成器是相互对应的,所以模型称为CycleGAN。 在训练过程中,CycleGAN的目标是最小化两个损失函数:对抗损失和循环一致性损失。对抗损失用于训练两个判别器,其中一个判别器用于区分真实图像和生成图像,另一个判别器用于区分反向转换的图像和真实图像。循环一致性损失用于保持图像在两个域之间的一致性和连续性。 具体来说,对于一个输入图像x,我们可以使用两个生成器G和F分别将其转换为B域的图像G(x)和A域的图像F(G(x))。如果我们将G(x)与真实的B域图像进行比较,我们可以计算出对抗损失。如果我们将F(G(x))与x进行比较,我们可以计算出循环一致性损失。因此,CycleGAN的总损失函数可以写成: L(G, F, D_A, D_B) = L_adv(G, D_B, A, B) + L_adv(F, D_A, B, A) + λL_cyc(G, F) 其中,L_adv是对抗损失,L_cyc是循环一致性损失,λ是一个权重参数。 在训练过程中,我们交替地更新两个生成器和两个判别器,直到达到收敛或预设的最大迭代次数。最终,我们可以使用生成器G和F将A域和B域之间的图像进行相互转换。 这就是CycleGAN的基本原理。在实现上,我们可以使用PyTorch等深度学习框架来构建模型,并使用预训练模型或自己的数据集进行训练。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值