欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Pytorch學習筆記DCGAN極簡入門教程

Pytorch學習筆記DCGAN極簡入門教程

熱門標簽:佛山防封外呼系統收費 哈爾濱外呼系統代理商 鄭州智能外呼系統運營商 電話機器人適用業務 徐州天音防封電銷卡 不錯的400電話辦理 湛江電銷防封卡 獲客智能電銷機器人 南昌辦理400電話怎么安裝

1.圖片分類網絡

這是一個二分類網絡,可以是alxnet ,vgg,resnet任何一個,負責對圖片進行二分類,區分圖片是真實圖片還是生成的圖片

2.圖片生成網絡

輸入是一個隨機噪聲,輸出是一張圖片,使用的是反卷積層

相信學過深度學習的都能寫出這兩個網絡,當然如果你寫不出來,沒關系,有人替你寫好了

首先是圖片分類網絡:

簡單來說就是cnn+relu+sogmid,可以換成任何一個分類網絡,比如bgg,resnet等

class Discriminator(nn.Module):
    def __init__(self, ngpu):
        super(Discriminator, self).__init__()
        self.ngpu = ngpu
        self.main = nn.Sequential(
            # input is (nc) x 64 x 64
            nn.Conv2d(nc, ndf, 4, 2, 1, bias=False),
            nn.LeakyReLU(0.2, inplace=True),
            # state size. (ndf) x 32 x 32
            nn.Conv2d(ndf, ndf * 2, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ndf * 2),
            nn.LeakyReLU(0.2, inplace=True),
            # state size. (ndf*2) x 16 x 16
            nn.Conv2d(ndf * 2, ndf * 4, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ndf * 4),
            nn.LeakyReLU(0.2, inplace=True),
            # state size. (ndf*4) x 8 x 8
            nn.Conv2d(ndf * 4, ndf * 8, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ndf * 8),
            nn.LeakyReLU(0.2, inplace=True),
            # state size. (ndf*8) x 4 x 4
            nn.Conv2d(ndf * 8, 1, 4, 1, 0, bias=False),
            nn.Sigmoid()
        )
    def forward(self, input):
        return self.main(input)

重點是生成網絡

代碼如下,其實就是反卷積+bn+relu

class Generator(nn.Module):
    def __init__(self, ngpu):
        super(Generator, self).__init__()
        self.ngpu = ngpu
        self.main = nn.Sequential(
            # input is Z, going into a convolution
            nn.ConvTranspose2d( nz, ngf * 8, 4, 1, 0, bias=False),
            nn.BatchNorm2d(ngf * 8),
            nn.ReLU(True),
            # state size. (ngf*8) x 4 x 4
            nn.ConvTranspose2d(ngf * 8, ngf * 4, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ngf * 4),
            nn.ReLU(True),
            # state size. (ngf*4) x 8 x 8
            nn.ConvTranspose2d( ngf * 4, ngf * 2, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ngf * 2),
            nn.ReLU(True),
            # state size. (ngf*2) x 16 x 16
            nn.ConvTranspose2d( ngf * 2, ngf, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ngf),
            nn.ReLU(True),
            # state size. (ngf) x 32 x 32
            nn.ConvTranspose2d( ngf, nc, 4, 2, 1, bias=False),
            nn.Tanh()
            # state size. (nc) x 64 x 64
        )
    def forward(self, input):
        return self.main(input)


講道理,以上兩個網絡都挺簡單。

真正的重點到了,怎么訓練

每一個step分為三個步驟:

  • 訓練二分類網絡
    1.輸入真實圖片,經過二分類,希望判定為真實圖片,更新二分類網絡
    2.輸入噪聲,進過生成網絡,生成一張圖片,輸入二分類網絡,希望判定為虛假圖片,更新二分類網絡
  • 訓練生成網絡
    3.輸入噪聲,進過生成網絡,生成一張圖片,輸入二分類網絡,希望判定為真實圖片,更新生成網絡

不多說直接上代碼

for epoch in range(num_epochs):
    # For each batch in the dataloader
    for i, data in enumerate(dataloader, 0):
        ############################
        # (1) Update D network: maximize log(D(x)) + log(1 - D(G(z)))
        ###########################
        ## Train with all-real batch
        netD.zero_grad()
        # Format batch
        real_cpu = data[0].to(device)
        b_size = real_cpu.size(0)
        label = torch.full((b_size,), real_label, device=device)
        # Forward pass real batch through D
        output = netD(real_cpu).view(-1)
        # Calculate loss on all-real batch
        errD_real = criterion(output, label)
        # Calculate gradients for D in backward pass
        errD_real.backward()
        D_x = output.mean().item()
        ## Train with all-fake batch
        # Generate batch of latent vectors
        noise = torch.randn(b_size, nz, 1, 1, device=device)
        # Generate fake image batch with G
        fake = netG(noise)
        label.fill_(fake_label)
        # Classify all fake batch with D
        output = netD(fake.detach()).view(-1)
        # Calculate D's loss on the all-fake batch
        errD_fake = criterion(output, label)
        # Calculate the gradients for this batch
        errD_fake.backward()
        D_G_z1 = output.mean().item()
        # Add the gradients from the all-real and all-fake batches
        errD = errD_real + errD_fake
        # Update D
        optimizerD.step()
        ############################
        # (2) Update G network: maximize log(D(G(z)))
        ###########################
        netG.zero_grad()
        label.fill_(real_label)  # fake labels are real for generator cost
        # Since we just updated D, perform another forward pass of all-fake batch through D
        output = netD(fake).view(-1)
        # Calculate G's loss based on this output
        errG = criterion(output, label)
        # Calculate gradients for G
        errG.backward()
        D_G_z2 = output.mean().item()
        # Update G
        optimizerG.step()
        # Output training stats
        if i % 50 == 0:
            print('[%d/%d][%d/%d]\tLoss_D: %.4f\tLoss_G: %.4f\tD(x): %.4f\tD(G(z)): %.4f / %.4f'
                  % (epoch, num_epochs, i, len(dataloader),
                     errD.item(), errG.item(), D_x, D_G_z1, D_G_z2))
        # Save Losses for plotting later
        G_losses.append(errG.item())
        D_losses.append(errD.item())
        # Check how the generator is doing by saving G's output on fixed_noise
        if (iters % 500 == 0) or ((epoch == num_epochs-1) and (i == len(dataloader)-1)):
            with torch.no_grad():
                fake = netG(fixed_noise).detach().cpu()
            img_list.append(vutils.make_grid(fake, padding=2, normalize=True))
        iters += 1

以上就是Pytorch學習筆記DCGAN極簡入門教程的詳細內容,更多關于Pytorch學習DCGAN入門教程的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Pytorch使用MNIST數據集實現基礎GAN和DCGAN詳解
  • PyTorch安裝與基本使用詳解
  • 使用Pytorch搭建模型的步驟

標簽:蕪湖 紹興 廣西 呂梁 懷化 蘭州 吉安 安康

巨人網絡通訊聲明:本文標題《Pytorch學習筆記DCGAN極簡入門教程》,本文關鍵詞  Pytorch,學習,筆記,DCGAN,極簡,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pytorch學習筆記DCGAN極簡入門教程》相關的同類信息!
  • 本頁收集關于Pytorch學習筆記DCGAN極簡入門教程的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产交换配乱淫视频免费| 欧美日韩国产一区二区三区地区| 日韩一级二级三级| 五月综合激情婷婷六月色窝| 三级网站免费看| 色综合天天综合网国产成人综合天 | 亚洲最新视频在线观看| eeuss鲁片一区二区三区在线观看| 丁香六月激情综合| 国产日韩欧美激情| 成人天堂资源www在线| 久久久久久久久久网站| 亚洲天堂2014| 91在线精品一区二区三区| 在线观看亚洲精品| 一级特黄大欧美久久久| 国产在线观看免费播放| 欧美剧情电影在线观看完整版免费励志电影 | 日本一二三不卡| 国产91在线看| 一本一道综合狠狠老| 亚洲欧美偷拍卡通变态| 亚洲国产日韩在线一区| 欧美日韩国产一级片| 午夜精品免费在线观看| 三级电影在线看| 亚洲精品在线免费播放| 精品一区二区三区在线观看 | 成人综合在线网站| 色综合一区二区| 亚洲最快最全在线视频| 97精品人妻一区二区三区蜜桃| 91精品国产麻豆国产自产在线| 日韩av电影免费观看高清完整版在线观看 | 亚洲午夜精品在线观看| 91.麻豆视频| 精品一区二区三区久久久| 亚洲国产精品一区二区久久hs| 国产精品人妖ts系列视频| 91在线观看成人| 7777精品伊人久久久大香线蕉| 日本不卡视频在线| 成人欧美一区二区三区黑人一| 亚洲色图视频网站| 人妻换人妻a片爽麻豆| 欧美r级电影在线观看| 国产成人丝袜美腿| 欧美日韩视频在线第一区 | 中文字幕一区二区人妻在线不卡| 久久精品视频一区| 91在线看国产| 欧美大片免费久久精品三p | 韩国成人精品a∨在线观看| 老湿机69福利| 天堂久久久久va久久久久| 天堂在线中文视频| 亚洲尤物在线视频观看| 国产成人无码精品久久二区三| 国产精品久久久久婷婷二区次| 91亚洲资源网| 久久新电视剧免费观看| 99久久精品免费看| 精品日韩一区二区三区| 9人人澡人人爽人人精品| 欧美一级视频精品观看| 成人综合激情网| 91精品国产91综合久久蜜臀| 国产成人亚洲精品青草天美| 91精品国产综合久久香蕉麻豆 | 人妻少妇偷人精品久久久任期| 日韩午夜精品电影| 成人精品gif动图一区| 欧美一区二区久久| 成人精品gif动图一区| 欧美白人最猛性xxxxx69交| 97精品电影院| 久久久精品tv| 伊人网综合视频| 日韩一区在线看| 手机看片福利视频| 亚洲午夜国产一区99re久久| 亚洲少妇xxx| 免费成人在线影院| 91精彩视频在线观看| 国产一区二区三区电影在线观看| 欧美人伦禁忌dvd放荡欲情| 成人视屏免费看| 久久在线免费观看| 玖玖爱在线精品视频| 亚洲欧洲中文日韩久久av乱码| 国产美女精品久久| 亚洲电影你懂得| 色999日韩国产欧美一区二区| 国产一区二区三区免费观看| 91精品国产色综合久久ai换脸 | 日本丶国产丶欧美色综合| 寂寞少妇一区二区三区| 欧美另类变人与禽xxxxx| www.色精品| 国产日韩精品一区二区三区| 欧美一区二区三区成人精品| 亚洲午夜一区二区| 日本乱码高清不卡字幕| 懂色av一区二区三区蜜臀| 久久久三级国产网站| 久久人人妻人人人人妻性色av| 亚洲伦理在线精品| 色综合色综合色综合色综合色综合| 国产一区二区三区免费播放| 欧美va亚洲va香蕉在线 | 亚洲一区二区三区激情| 色综合久久久久久久久久久| 国产成人亚洲综合色影视| 久久久高清一区二区三区| 一级黄色片大全| 麻豆久久久久久| 日韩欧美一区在线观看| 最近中文字幕无免费| 丝袜诱惑制服诱惑色一区在线观看| 欧美日韩大陆在线| 中文字幕乱码在线人视频| 久久久久久久免费视频了| 大地资源二中文在线影视观看| 亚洲国产日韩av| 欧美日韩aaa| 美女网站视频在线观看| 亚洲综合久久av| 欧美三级午夜理伦三级中视频| 97精品电影院| 亚洲精品亚洲人成人网在线播放| 日本精品一级二级| 91在线免费播放| 亚洲一区二区免费视频| 欧美日韩你懂得| 男人的天堂影院| 日韩极品在线观看| 日韩精品专区在线影院观看| av在线网站观看| 久久国产成人午夜av影院| 精品国产免费视频| 久久久精品成人| 国产成人高清在线| 亚洲欧洲成人av每日更新| 在线看国产日韩| 少妇熟女视频一区二区三区| 性久久久久久久| 欧美大胆人体bbbb| 大胸美女被爆操| 成人综合婷婷国产精品久久 | 亚洲高清免费视频| 日韩片之四级片| 欧美熟妇激情一区二区三区| 国产精品小仙女| 国产精品久久网站| 色婷婷综合五月| 精品久久久久久无码人妻| 人禽交欧美网站| 国产欧美一区二区精品性色超碰| 婷婷激情四射网| 四川一级毛毛片| 免费观看在线综合| 国产欧美一区二区精品久导航| 91杏吧porn蝌蚪| 丰满熟女人妻一区二区三区| 免费在线欧美视频| 日本一区二区综合亚洲| 欧美亚洲自拍偷拍| 90岁老太婆乱淫| 成人一区二区在线观看| 亚洲午夜久久久久久久久电影网 | 奇米影视在线99精品| 久久久久国产免费免费| 婷婷色中文字幕| 久久久久亚洲AV成人无码国产| 国产在线一区观看| 亚洲精品视频在线看| 精品国产在天天线2019| 91精品国自产在线偷拍蜜桃| 这里只有精品在线观看视频| 国内成人免费视频| 亚洲自拍欧美精品| 精品99久久久久久| 色婷婷亚洲精品| 亚欧洲乱码视频| jizz一区二区| 美女视频黄 久久| 亚洲视频资源在线| 精品国产髙清在线看国产毛片| 中文字幕五月天| 一本色道综合久久欧美日韩精品 | 国产67194| 久久午夜夜伦鲁鲁片| 春色校园综合激情亚洲| 日韩经典一区二区| 亚洲日本在线天堂| 2023国产精品| 欧美欧美欧美欧美首页| 国产三级精品三级观看| 国产精品无码电影| 99久久久国产精品免费蜜臀|