当前位置: 首页 > news >正文

长沙公积金网站怎么做异动营销型网站建设页面

长沙公积金网站怎么做异动,营销型网站建设页面,做网站可以用ai做,软件设计师中级本文参考#xff1a;https://blog.csdn.net/Mr_health/article/details/112545671 1 CycleGAN概述 CycleGAN#xff1a;循环生成对抗神经网络#xff0c;是一种非监督学习模型。 Pix2pix方法适用于成对数据的风格迁移#xff0c;而大多数情况下对于A风格的图像#xf…本文参考https://blog.csdn.net/Mr_health/article/details/112545671 1 CycleGAN概述  CycleGAN循环生成对抗神经网络是一种非监督学习模型。 Pix2pix方法适用于成对数据的风格迁移而大多数情况下对于A风格的图像并没有与之相对应的B风格图像。获取严格意义上的成对数据是非常困难的所以不依赖成对数据的算法具有非常重要的实际意义。我们所拥有的是一群处于风格A源域的图像和一群处于风格B目标域的图像这样pix2pix方法就不管用了。 CycleGAN的创新点在于能够在源域和目标域之间无须建立训练数据间一对一的映射就可以实现这种迁移。 2 CycleGAN基本架构 1输入 X源域风格A的图像 Y目标域风格B的图像 2两个生成器 G用于将风格A的图像x转换为风格B的图像 F用于将风格B的图像y转换为风格A的图像 3Cycle解释 通过G将风格A的图像x转换为风格B的图像Y‘之后再将Y’通过F后仍然能够转换回风格A并能保证图像中的内容一致。 通过F将风格B的图像y转换为风格A的图像X‘之后再将X’通过G后仍然能够转换回风格B并能保证图像中的内容一致。 也就是训练好G和F就可以自由地完成风格A、B的转换了。 3 损失函数 在训练中引入两个判别器 Dy区分真实的风格B的图像与通过G转换而来的假的风格B的图像 Dx区分真实的风格A的图像与通过G转换而来的假的风格A的图像 损失函数主要由以下几个部分构成 1Dy处的GAN损失 2Dx处的GAN损失 3循环一致性损失即cycle解释那块逻辑 4Identity loss 这个loss的含义是生成器G用来生成y风格的图像那么把y送入G应该仍然生成y只有这样才能证明G具有生成y风格的能力。因此G(y)和y应该尽可能接近。根据论文中的解释如果不加入该loss那么生成器可能会自主地修改图像的色调使得整体的颜色发生变化。 4 CycleGAN网络结构解读 GAN由生成网络Generator和辨别Discriminator网络两部分组成 Generator网络有2个分别支持A-B和B-A的转化其输入输出不会改变维度信息如下图所示 Discriminator网络也有2个 D_AG_A(A) vs B D_BG_B(B) vs A 输入后会改变维度大小输出channel从3变为1特征为30*30。如果为真则与30*30的1进行比较如果为假则与30*30的0进行比较。如下图所示 Generator和Discriminator网络结构如下 Loss组成 由Generator的loss和Discriminator的loss两部分组成。 Generator部分的loss Loss_G_A D_A(G_A(A)) #从G的角度生成的B要让D尽量判断为1 Loss_G_B D_B(G_B(B)) #从G的角度生成的A要让D尽量判断为1 Loss_cycle_A || G_B(G_A(A)) - A|| Loss_cycle_B || G_A(G_B(B)) - B|| Loss_idt_A ||G_A(B) - B|| Loss_idt_B ||G_B(A) - A|| Loss_G Loss_G_A Loss_G_B Loss_cycle_A Loss_cycle_B Loss_idt_A Loss_idt_B Discriminator部分的loss Loss_D criterionGAN (netD(real), true) criterionGAN(netD(fake), false) 从D的角度G生成的要尽量判断为0真实的要尽量判断为1。 5 代码解读 1前向传播部分 NetG_A就是G完成A-B的风格转换源域到目标域 NetG_B就是F完成B-A的风格转换目标域到源域    def forward(self):Run forward pass; called by both functions optimize_parameters and test.self.fake_B self.netG_A(self.real_A)  # G_A(A)self.rec_A self.netG_B(self.fake_B)   # G_B(G_A(A))self.fake_A self.netG_B(self.real_B)  # G_B(B)self.rec_B self.netG_A(self.fake_A)   # G_A(G_B(B)) 2更新G 在if lambda_idt 0:这个分支内实现的就是identity loss。 后面就是GAN损失loss_G_A、 loss_G_B以及循环一致性损失(loss_cycle_A、loss_cycle_B) 代码里面的判别器netD_A判断的是真实B风格和生成B风格的真假相当于论文中的Dy。 同理netD_B判断的是真实A风格和生成A风格的真假相当于论文中的Dx。    def backward_G(self):Calculate the loss for generators G_A and G_Blambda_idt self.opt.lambda_identitylambda_A self.opt.lambda_Alambda_B self.opt.lambda_B# Identity lossif lambda_idt 0:# G_A should be identity if real_B is fed: ||G_A(B) - B||self.idt_A self.netG_A(self.real_B)  #将真实的B送入netG_A(A-B风格生成器)生成的应该还是B风格self.loss_idt_A self.criterionIdt(self.idt_A, self.real_B) * lambda_B * lambda_idt# G_B should be identity if real_A is fed: ||G_B(A) - A||self.idt_B self.netG_B(self.real_A) #将真实的A送入netG_B(B-A风格生成器)生成的应该还是A风格self.loss_idt_B self.criterionIdt(self.idt_B, self.real_A) * lambda_A * lambda_idtelse:self.loss_idt_A 0self.loss_idt_B 0# GAN loss D_A(G_A(A))self.loss_G_A self.criterionGAN(self.netD_A(self.fake_B), True)# GAN loss D_B(G_B(B))self.loss_G_B self.criterionGAN(self.netD_B(self.fake_A), True)# Forward cycle loss || G_B(G_A(A)) - A||self.loss_cycle_A self.criterionCycle(self.rec_A, self.real_A) * lambda_A# Backward cycle loss || G_A(G_B(B)) - B||self.loss_cycle_B self.criterionCycle(self.rec_B, self.real_B) * lambda_B# combined loss and calculate gradientsself.loss_G self.loss_G_A self.loss_G_B self.loss_cycle_A self.loss_cycle_B self.loss_idt_A self.loss_idt_Bself.loss_G.backward() 3更新D def backward_D_A(self):Calculate GAN loss for discriminator D_Afake_B self.fake_B_pool.query(self.fake_B)self.loss_D_A self.backward_D_basic(self.netD_A, self.real_B, fake_B)def backward_D_B(self):Calculate GAN loss for discriminator D_Bfake_A self.fake_A_pool.query(self.fake_A)self.loss_D_B self.backward_D_basic(self.netD_B, self.real_A, fake_A) 4生成器结构 一共由3个卷积层 5个残差块 3个卷积层构成。 这里没有用到池化等操作在开始卷积层中第二层、第三层进行了下采样在最后的3个卷积层中进行了上采样这样最直接的就是减少了计算复杂度。另外还有一个好处是感受野增大卷积下采样会增大有效区域。 5个残差块都是使用相同个数的128滤镜核每个残差块中都有2个卷积层3*3核这里的卷积层中没有标准的0填充padding因为使用0填充会使生成出的图像的边界出现严重伪影。为了保证输入输出图像大小不改变在图像初始输入部分加入了反射填充。 这里的残差网络不是使用何凯明的残差网络卷积之后没有Relu而是使用了Gross and Wilber的残差网络后面这种方法验证在图像分类算法上面效果比较好。
http://www.tj-hxxt.cn/news/221573.html

相关文章:

  • 网站建设流程体会襄阳网站seo厂家
  • 网站提供哪些服务放网站的图片做多大分辨率
  • 苏州建网站android软件开发下载
  • 门户网站建设管理工作的意见学做网站php吗
  • 用dw做网站的空格怎么打网站建设可以帮助企业
  • 定制建站公司dw做网站有哪些用处
  • 小鱼儿外贸建站招聘网找工作
  • 企业产品推广网站wordpress wp.media
  • 公司的网站建设费用怎么入账代理上网
  • 公司网站建设注意什么网站建设那家好
  • 网站开发询价单做网站的设计公司
  • 自助建站系统介绍网站公司如何推广网站
  • 网站建设个人主页图网站开发所需开发环境
  • 江苏省住房建设厅网站首页怎么做一个电商网站吗
  • 学校网站开发模式广州模板建站公司
  • 四川网站网页设计在手机上创建网站
  • 怎么做网站企业介绍萍乡公司做网站
  • 南通市住房和城乡建设厅网站wordpress标题调用
  • 网站建设与管理感想手机网站 禁止缩放
  • 快件网站建设网站制作西安
  • 济南网络建站模板百度排名竞价
  • 昆山建设网站上海网站排名优化价格
  • 当前主流的网站开发语言账号权重查询
  • 体育馆做网站公司网页报价单怎么做
  • 网站推广软件免费版可tv外贸网站建设视频教程
  • 网站登录注册页面模板wordpress图片中文不显示解决
  • 药品网站建设存在的问题农安县建设局官方网站
  • 网站制作网页制作网页建站如何保存分享
  • 网站建设既有书籍又有光盘网络建站 响应式网站
  • 建设机械网站wordpress邀请会员