日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

circlegan_【源码解读】cycleGAN(二) :训练

發布時間:2024/9/27 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 circlegan_【源码解读】cycleGAN(二) :训练 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

訓練的代碼見于train.py,首先定義好網絡,兩個生成器A2B, B2A和兩個判別器A, B,以及對應的優化器(優化器的設置保證了只更新生成器或判別器,不會互相影響)

###### Definition of variables #######Networks

netG_A2B =Generator(opt.input_nc, opt.output_nc)

netG_B2A=Generator(opt.output_nc, opt.input_nc)

netD_A=Discriminator(opt.input_nc)

netD_B= Discriminator(opt.output_nc)

#Optimizers & LR schedulers

optimizer_G =torch.optim.Adam(itertools.chain(netG_A2B.parameters(), netG_B2A.parameters()),

lr=opt.lr, betas=(0.5, 0.999))

optimizer_D_A= torch.optim.Adam(netD_A.parameters(), lr=opt.lr, betas=(0.5, 0.999))

optimizer_D_B= torch.optim.Adam(netD_B.parameters(), lr=opt.lr, betas=(0.5, 0.999))

然后是數據

#Dataset loader

transforms_ = [ transforms.Resize(int(opt.size*1.12), Image.BICUBIC),

transforms.RandomCrop(opt.size),

transforms.RandomHorizontalFlip(),

transforms.ToTensor(),

transforms.Normalize((0.5,0.5,0.5), (0.5,0.5,0.5)) ]

dataloader= DataLoader(ImageDataset(opt.dataroot, transforms_=transforms_, unaligned=True),

batch_size=opt.batchSize, shuffle=True, num_workers=opt.n_cpu)

接著就可以求取損失,反傳梯度,更新網絡,更新網絡的時候首先更新生成器,然后分別更新兩個判別器

生成器:損失函數=身份損失+對抗損失+循環一致損失

###### Generators A2B and B2A ######

optimizer_G.zero_grad()#Identity loss

#G_A2B(B) should equal B if real B is fed

same_B =netG_A2B(real_B)

loss_identity_B= criterion_identity(same_B, real_B)*5.0

#G_B2A(A) should equal A if real A is fed

same_A =netG_B2A(real_A)

loss_identity_A= criterion_identity(same_A, real_A)*5.0

#GAN loss

fake_B =netG_A2B(real_A)

pred_fake=netD_B(fake_B)

loss_GAN_A2B=criterion_GAN(pred_fake, target_real)

fake_A=netG_B2A(real_B)

pred_fake=netD_A(fake_A)

loss_GAN_B2A=criterion_GAN(pred_fake, target_real)#Cycle loss

recovered_A =netG_B2A(fake_B)

loss_cycle_ABA= criterion_cycle(recovered_A, real_A)*10.0recovered_B=netG_A2B(fake_A)

loss_cycle_BAB= criterion_cycle(recovered_B, real_B)*10.0

#Total loss

loss_G = loss_identity_A + loss_identity_B + loss_GAN_A2B + loss_GAN_B2A + loss_cycle_ABA +loss_cycle_BAB

loss_G.backward()

optimizer_G.step()

判別器A?損失函數= 真實樣本分類損失 + 虛假樣本分類損失

###### Discriminator A ######

optimizer_D_A.zero_grad()#Real loss

pred_real =netD_A(real_A)

loss_D_real=criterion_GAN(pred_real, target_real)#Fake loss

fake_A =fake_A_buffer.push_and_pop(fake_A)

pred_fake=netD_A(fake_A.detach())

loss_D_fake=criterion_GAN(pred_fake, target_fake)#Total loss

loss_D_A = (loss_D_real + loss_D_fake)*0.5loss_D_A.backward()

optimizer_D_A.step()###################################

判別器B損失函數= 真實樣本分類損失 + 虛假樣本分類損失

###### Discriminator B ######

optimizer_D_B.zero_grad()#Real loss

pred_real =netD_B(real_B)

loss_D_real=criterion_GAN(pred_real, target_real)#Fake loss

fake_B =fake_B_buffer.push_and_pop(fake_B)

pred_fake=netD_B(fake_B.detach())

loss_D_fake=criterion_GAN(pred_fake, target_fake)#Total loss

loss_D_B = (loss_D_real + loss_D_fake)*0.5loss_D_B.backward()

optimizer_D_B.step()###################################

可以注意到,判別器損失中,虛假樣本fake_A,fake_B都采用detach()操作,脫離計算圖,這樣判別器的損失進行反向傳播不會對整個網絡計算梯度,避免了不必要的計算

總結

以上是生活随笔為你收集整理的circlegan_【源码解读】cycleGAN(二) :训练的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲少妇毛片 | 久久视频在线 | 国产蜜臀在线 | 色综合婷婷 | 亚洲国产精品视频一区 | 国产美女被草 | 欧美高清a | 网友自拍咪咪爱 | 中文字幕一区二区三区夫目前犯 | 国产中文字幕一区 | 欧洲女性下面有没有毛发 | 天天综合永久入口 | 久久精品欧美日韩精品 | 成人1区2区 | 亚洲欧美日韩免费 | 一级性视频| 中文av网站| 中国亚洲老头同性gay男男… | 欧美野外猛男的大粗鳮 | 日韩毛片在线视频 | 天堂av在线免费观看 | 被灌满精子的波多野结衣 | 日韩激情小说 | 国产国拍精品亚洲 | 在线成人免费视频 | 男人天堂影院 | 成人免费视频毛片 | 黄网在线| 日韩欧美视频免费在线观看 | 国产精品视频网址 | 亚洲女人天堂成人av在线 | 成人深夜福利视频 | 中文久久久久 | 国产传媒一级片 | 97精品人妻麻豆一区二区 | 色综合久久中文字幕无码 | 天天摸天天操天天射 | 久久中文字 | 国产成人在线免费观看 | 男女激情久久 | 亚洲免费av一区二区 | 日日草日日干 | 国产做爰免费观看 | 伊人影院亚洲 | 国产精品成人自拍 | 色婷婷天堂 | 教练含着她的乳奶揉搓揉捏动态图 | 色很久| 六月婷婷中文字幕 | 深田咏美中文字幕 | 日日艹| 国产片淫乱18一级毛片动态图 | 欧美一级网站 | 最新日韩在线视频 | 牛牛av| 特黄一区二区三区 | 男人插入女人下面视频 | 久久久这里有精品 | 日b视频免费观看 | 精品人妻一区二 | 日本三级一区 | 精品www久久久久久奶水 | 欲色网站| 夜夜嗨av禁果av粉嫩avhd | 热@国产 | 国产成人精品三级麻豆 | 亚洲免费大全 | 奇米影视大全 | 日韩一区欧美 | 免费一级大片 | 葵司免费一区二区三区四区五区 | 亚洲无码久久久久久久 | 欧美第一视频 | 欧美亚洲一级 | 欧美视频一区二区三区在线观看 | 久久久精品影视 | 青青草手机在线观看 | 天天色天天插 | 69视频在线看 | 超碰2025 | 风间由美在线观看 | 久久综合导航 | 噼里啪啦国语版在线观看 | 99久久精品免费看 | 被灌满精子的波多野结衣 | 91色在线观看 | 日本成人一级片 | 香蕉在线看 | av在线你懂的 | 国产日批| 亚洲视频一二 | 久久精品国产亚洲av久一一区 | 免费特黄视频 | 亚洲成年网| 九九精品视频在线 | 亚洲最大成人在线视频 | 国产黄色录像片 | 日韩午夜在线播放 | 国产不卡网 |