日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

深度学习框架PyTorch入门与实践:第七章 AI插画师:生成对抗网络

發布時間:2023/12/20 ChatGpt 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习框架PyTorch入门与实践:第七章 AI插画师:生成对抗网络 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

生成對抗網絡(Generative Adversarial Net,GAN)是近年來深度學習中一個十分熱門的方向,卷積網絡之父、深度學習元老級人物LeCun Yan就曾說過“GAN is the most interesting idea in the last 10 years in machine learning”。尤其是近兩年,GAN的論文呈現井噴的趨勢,GitHub上有人收集了各種各樣的GAN變種、應用、研究論文等,其中有名稱的多達數百篇**[the-gan-zoo]**。作者還統計了GAN論文發表數目隨時間變化的趨勢,如下圖所示,足見GAN的火爆程度。本節將簡要介紹GAN的基本原理,并帶領讀者實現一個簡單的生成對抗網絡,用以生成動漫人物的頭像。

7.1 GAN的原理簡介

GAN的開山之作是被稱為“GAN之父”的Ian Goodfellow發表于2014年的經典論文《Generative Adversarial Networks》,在這篇論文中他提出了生成對抗網絡,并設計了第一個GAN實驗——手寫數字生成。

GAN的產生來自于一個靈機一動的想法:

“What I cannot create, I do not understand.”(那些我所不能創造的,我也沒有真正理解它。)—— Richard Feynman

類似地。如果深度學習不能創造圖片,那么它也沒有真正地理解圖片。當時深度學習已經開始在各類計算機視覺領域中攻城略地,在幾乎所有任務中都取得了突破。但是人們一直對神經網絡的黑盒模型表示質疑,于是越來越多的人從可視化的角度探索卷積網絡所學習的特征和特征間的組合,而GAN則從生成學習角度展示了神經網絡的強大能力。GAN解決了非監督學習中的著名問題:給定一批樣本,訓練一個系統能夠生成類似的樣本。

生成對抗網絡的網絡結構如下圖所示,主要包含以下兩個子網絡:

  • 生成器(generator):輸入一個隨機噪聲,生成一張圖片。
  • 判別器(discriminator):判斷輸入的圖片是真圖片還是假圖片。

訓練判別器時,需要利用生成器生成的假圖片和來自真實世界的真圖片;訓練生成器時,只用噪聲生成假圖片。判別器用來評估生成的假圖片的質量,促使生成器相應地調整參數。

生成器的目標是盡可能地生成以假亂真的圖片,讓判別器以為這是真的圖片;判別器的目標是將生成器生成的圖片和真實世界的圖片區分開。可以看出這二者的目標相反,在訓練過程中相互對抗,這也是它被稱為生成對抗網絡的原因。

上面的描述可能有點抽象,讓我們用收藏齊白石作品(齊白石作品如下圖所示)的書畫收藏家和假畫販子的例子來說明。假畫販子相當于是生成器,他們希望能夠模仿大師真跡偽造出以假亂真的假畫,騙過收藏家,從而賣出高價;書畫收藏家則希望將贗品和真跡區分開,讓真跡流傳于世。齊白石畫蝦可以說是畫壇一絕,歷來為世人所追捧。

在這個例子中,一開始假畫販子和書畫收藏家都是新手,他們對真跡和贗品的概念都很模糊。假畫販子仿造出來的假畫幾乎都是隨機涂鴉,而書畫收藏家的鑒定能力很差,有不少贗品被他當成真跡,也有許多真跡被當成贗品。

首先,書畫收藏家收集了一大堆市面上的贗品和齊白石大師的真跡,仔細研究對比,初步學習了畫中蝦的結構,明白畫中的生物形狀彎曲,并且有一對類似鉗子的“螯足”,對于不符合這個條件的假畫全部過濾掉。當收藏家用這個標準到市場上進行鑒定,假畫基本無法騙過收藏家,假畫販子損失慘重。但是假畫販子自己仿造的贗品中,還是有一些蒙騙過關,這些蒙騙過關的贗品中都有彎曲的形狀,并且有一對類似鉗子的“螯足”。于是假畫販子開始修改仿造的手法,在仿造的作品中加入彎曲的形狀和一對類似鉗子的“螯足”。除了這些特點,其他地方例如顏色、線條都是隨機畫的。假畫販子制造出的第一版贗品如下所示。

當假畫販子把這些畫拿到市面上去賣時,很容易就騙過了收藏家,因為畫中有一只彎曲的生物,生物前面有一對類似鉗子的東西,符合收藏家認定的真跡的標準,所以收藏家就把它當成真跡買回來。隨機時間的推移,收藏家買回來越來越多的假畫,損失慘重,于是他又閉門研究贗品和真跡之間的區別,經過反復比較對比,他發現齊白石畫蝦的真跡中除了有彎曲的形狀、蝦的觸須蔓長,通身作半透明狀,并且畫的蝦的細節十分豐富,蝦的每一節之間均呈白色狀。

收藏家學成之后,重新出山,而假畫販子的仿造技法沒有提升,所制造出來的贗品被收藏家輕松識破。于是假畫販子也開始嘗試不同的畫蝦手法,大多都是徒勞無功,不過在眾多嘗試之中,還是有一些贗品騙過了收藏家的眼睛。假畫販子發現這些仿制的贗品觸須蔓長,通身作半透明狀,并且畫的蝦的細節十分豐富,如下所示。于是假畫販子開始大量仿造這種畫,并拿到市面上銷售,許多都成功地騙過了收藏家。

收藏家再度損失慘重,被迫關門研究齊白石的真跡和贗品之間的區別,學習齊白石真跡的特點,提升自己的鑒定能力。就這樣,通過收藏家和假畫販子之間的博弈,收藏家從零開始慢慢提升了自己對真跡和贗品的鑒別能力,而假畫販子也不斷地提高自己仿造齊白石真跡的水平。收藏家利用假畫販子提供的贗品,作為和真跡的對比,對齊白石畫蝦真跡有了更好的鑒賞能力;而假畫販子也不斷嘗試,提升仿造水平,提升仿造假畫的質量,即使最后制造出來的仍屬于贗品,但是和真跡相比也很接近了。收藏家和假畫販子二者之間互相博弈對抗,同時又不斷促使著對方學習進步,達到共同提升的目的。

在這個例子中,假畫販子相當于一個生成器,收藏家相當于一個判別器。一開始生成器和判別器的水平都很差,因為二者都是隨機初始化的。訓練過程分為兩步交替進行,第一步是訓練判別器(只修改判別器的參數,固定生成器),目標是把真跡和贗品區分開;第二步是訓練生成器(只修改生成器的參數,固定判別器),為的是生成的假畫能夠被判別器判別為真跡(被收藏家認為是真跡)。這兩步交替進行,進而生成器和判別器都達到了一個很高的水平。訓練到最后,生成的蝦的圖片如下所示,和齊白石的真跡幾乎沒有差別。

下面我們來思考網絡結構的設計。判別器的目標是判斷輸入的圖片是真跡還是贗品,所以可以看成是一個二分類網絡,參考第6章中Dogs vs. Cats的實驗,我們可以設計一個簡單的卷積網絡。生成器的目標是從噪聲中生成一張彩色圖片,這里我們采用廣泛使用的DCGAN(Deep Convolutional Generative Adversarial Networks)結構,即采用全卷積網絡,其結構如下所示。網絡的輸入是一個100維的噪聲,輸出的是一個3 * 64 * 64的圖片。這里的輸入可以看成是一個100 * 1 * 1的圖片,通過上卷積慢慢增大為4 * 4、8 * 8、16 * 16、32 * 32和64 * 64。上卷積,或稱為轉置卷積,是一種特殊的卷積操作,類似于卷積操作的逆運算。當卷積的stride為2時,輸出相比輸入會下采樣到一半的尺寸;而當上卷積的stride為2時,輸出會上采樣到輸入的兩倍尺寸。這種上采樣的做法可以理解為圖片的信息保存于100個向量之中,神經網絡根據這100個向量描述的信息,前幾步的上采樣先勾勒出輪廓、色調等基礎信息,后幾步上采樣慢慢完善細節。網絡越深,細節越詳細。

在DCGAN中,判別器的結構和生成器對稱:生成器中采用上采樣的卷積,判別器就采用下采樣的卷積,生成器時根據噪聲輸出一張64 * 64 * 3的圖片,而判別器則是根據輸入的64 * 64 * 3的圖片輸出圖片屬于正負樣本的分數(概率)。

7.2 用GAN生成動漫頭像

本章所有代碼及圖片數據百度網盤下載,提取碼:b5da。

本節將用GAN實現一個生成動漫人物頭像的例子。在日本的技術博客網站上有個博主(估計是一位二次元的愛好者)
@mattya,利用DCGAN從20萬張動漫頭像中學習,最終能夠利用程序自動生成動漫頭像,生成的圖片效果如下圖所示。源程序是利用Chainer框架實現的,本節我們嘗試利用PyTorch實現。

原始的圖片是從網站中爬取的,并利用OpenCV從中截取頭像,處理起來比較麻煩。這里我們使用知乎用戶何之源爬取并經過處理的5萬張圖片。可從本書配套程序的README.MD的百度網盤鏈接下載所有的圖片壓縮包,并解壓到指定的文件夾中。需要注意的是,這里的圖片的分辨率是3 * 96 * 96,而不是論文中的3 * 64 * 64,因此需要相應地調整網絡結構,使生成圖像的尺寸為96。

我們先來看本實驗的代碼結構。

checkpoints/ # 無代碼,用來保存模型 imgs/ # 無代碼,用來保存生成的圖片 data/ # 無代碼,用來保存訓練所需的圖片 main.py # 訓練和生成 model.py # 模型定義 visualize.py # 可視化工具visdom的封裝 requirements.txt # 程序中用到的第三方庫 README.MD # 說明

接著來看model.py中是如何定義生成器的。

# coding:utf8 from torch import nnclass NetG(nn.Module):"""生成器定義"""def __init__(self, opt):super(NetG, self).__init__()ngf = opt.ngf # 生成器feature map數self.main = nn.Sequential(# 輸入是一個nz維度的噪聲,我們可以認為它是一個1*1*nz的feature mapnn.ConvTranspose2d(opt.nz, ngf * 8, 4, 1, 0, bias=False),nn.BatchNorm2d(ngf * 8),nn.ReLU(True),# 上一步的輸出形狀:(ngf*8) x 4 x 4nn.ConvTranspose2d(ngf * 8, ngf * 4, 4, 2, 1, bias=False),nn.BatchNorm2d(ngf * 4),nn.ReLU(True),# 上一步的輸出形狀: (ngf*4) x 8 x 8nn.ConvTranspose2d(ngf * 4, ngf * 2, 4, 2, 1, bias=False),nn.BatchNorm2d(ngf * 2),nn.ReLU(True),# 上一步的輸出形狀: (ngf*2) x 16 x 16nn.ConvTranspose2d(ngf * 2, ngf, 4, 2, 1, bias=False),nn.BatchNorm2d(ngf),nn.ReLU(True),# 上一步的輸出形狀:(ngf) x 32 x 32nn.ConvTranspose2d(ngf, 3, 5, 3, 1, bias=False),nn.Tanh() # 輸出范圍 -1~1 故而采用Tanh# 輸出形狀:3 x 96 x 96)def forward(self, input):return self.main(input)

可以看出生成器的搭建相對比較簡單,直接使用nn.Sequential將上卷積、激活、池化等操作拼接起來即可,這里需要注意上卷積ConvTranspose2d的使用。當kernel_size為4,stride為2,padding為1時,根據公式Hout=(Hin?1)?2?padding+kernel_sizeH_{out} = ( H_{in} - 1 ) - 2 * padding + kernel\_sizeHout?=(Hin??1)?2?padding+kernel_size,輸出尺寸剛好變成輸入的兩倍。最后一層采用kernel_size為5,stride為3,padding為1,是為了將32 * 32上采樣到96 * 96,這是本例中圖片的尺寸,與論文中的64 * 64的尺寸不一樣。最后一層采用Tanh將輸出圖片的像素歸一化至-1~1,如果希望歸一化至0~1則需要使用Sigmoid。

接著我們來看判別器的網絡結構。

class NetD(nn.Module):"""判別器定義"""def __init__(self, opt):super(NetD, self).__init__()ndf = opt.ndfself.main = nn.Sequential(# 輸入 3 x 96 x 96nn.Conv2d(3, ndf, 5, 3, 1, bias=False),nn.LeakyReLU(0.2, inplace=True),# 輸出 (ndf) x 32 x 32nn.Conv2d(ndf, ndf * 2, 4, 2, 1, bias=False),nn.BatchNorm2d(ndf * 2),nn.LeakyReLU(0.2, inplace=True),# 輸出 (ndf*2) x 16 x 16nn.Conv2d(ndf * 2, ndf * 4, 4, 2, 1, bias=False),nn.BatchNorm2d(ndf * 4),nn.LeakyReLU(0.2, inplace=True),# 輸出 (ndf*4) x 8 x 8nn.Conv2d(ndf * 4, ndf * 8, 4, 2, 1, bias=False),nn.BatchNorm2d(ndf * 8),nn.LeakyReLU(0.2, inplace=True),# 輸出 (ndf*8) x 4 x 4nn.Conv2d(ndf * 8, 1, 4, 1, 0, bias=False),nn.Sigmoid() # 輸出一個數(概率))def forward(self, input):return self.main(input).view(-1)

可以看出判別器和生成器的網絡結構幾乎是對稱的,從卷積核大小到padding、stride等設置,幾乎一模一樣。例如生成器的最后一個卷積層的尺度是(5,3,1),判別器的第一個卷積層的尺度也是(5,3,1)。另外,這里需要注意的是生成器的激活函數用的是ReLU,而判別器使用的是LeakyReLU,二者并無本質區別,這里的選擇更多是經驗總結。每一個樣本經過判別器后,輸出一個0~1的數,表示這個樣本是真圖片的概率。

在開始寫訓練函數前,先來看看模型的配置參數。

class Config(object):data_path = 'data/' # 數據集存放路徑num_workers = 4 # 多進程加載數據所用的進程數image_size = 96 # 圖片尺寸batch_size = 256max_epoch = 200lr1 = 2e-4 # 生成器的學習率lr2 = 2e-4 # 判別器的學習率beta1 = 0.5 # Adam優化器的beta1參數gpu = True # 是否使用GPUnz = 100 # 噪聲維度ngf = 64 # 生成器feature map數ndf = 64 # 判別器feature map數save_path = 'imgs/' # 生成圖片保存路徑vis = True # 是否使用visdom可視化env = 'GAN' # visdom的envplot_every = 20 # 每間隔20 batch,visdom畫圖一次debug_file = '/tmp/debuggan' # 存在該文件則進入debug模式d_every = 1 # 每1個batch訓練一次判別器g_every = 5 # 每5個batch訓練一次生成器save_every = 10 # 沒10個epoch保存一次模型netd_path = None # 'checkpoints/netd_.pth' #預訓練模型netg_path = None # 'checkpoints/netg_211.pth'# 只測試不訓練gen_img = 'result.png'# 從512張生成的圖片中保存最好的64張gen_num = 64gen_search_num = 512gen_mean = 0 # 噪聲的均值gen_std = 1 # 噪聲的方差opt = Config()

這些只是模型的默認參數,還可以利用fire等工具通過命令行傳入,覆蓋默認值。另外,我們也可以直接使用opt.attr,還可以利用IDE/IPython提供的自動補全功能,十分方便。這里的超參數設置大多是照搬DCGAN論文的默認值,作者經過大量的實驗,發現這些參數能夠更快地訓練出一個不錯的模型。

當我們下載完數據之后,需要將所有圖片放在一個文件夾,然后將該文件夾移動至data目錄下(其確保data下沒有其他的文件夾)。這種處理方式是為了能夠直接使用torchvision自帶的ImageFolder讀取圖片,而不必自己寫Dataset。數據讀取與加載的代碼如下:

# 數據transforms = tv.transforms.Compose([tv.transforms.Resize(opt.image_size),tv.transforms.CenterCrop(opt.image_size),tv.transforms.ToTensor(),tv.transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])dataset = tv.datasets.ImageFolder(opt.data_path, transform=transforms)dataloader = t.utils.data.DataLoader(dataset,batch_size=opt.batch_size,shuffle=True,num_workers=opt.num_workers,drop_last=True)

可見,利用ImageFolder配合DataLoader加載圖片十分方便。

在進行訓練之前,我們還需要定義幾個變量:模型、優化器、噪聲等。

# 網絡netg, netd = NetG(opt), NetD(opt)map_location = lambda storage, loc: storageif opt.netd_path:netd.load_state_dict(t.load(opt.netd_path, map_location=map_location))if opt.netg_path:netg.load_state_dict(t.load(opt.netg_path, map_location=map_location))netd.to(device)netg.to(device)# 定義優化器和損失optimizer_g = t.optim.Adam(netg.parameters(), opt.lr1, betas=(opt.beta1, 0.999))optimizer_d = t.optim.Adam(netd.parameters(), opt.lr2, betas=(opt.beta1, 0.999))criterion = t.nn.BCELoss().to(device)# 真圖片label為1,假圖片label為0# noises為生成網絡的輸入true_labels = t.ones(opt.batch_size).to(device)fake_labels = t.zeros(opt.batch_size).to(device)fix_noises = t.randn(opt.batch_size, opt.nz, 1, 1).to(device)noises = t.randn(opt.batch_size, opt.nz, 1, 1).to(device)errord_meter = AverageValueMeter()errorg_meter = AverageValueMeter()

在加載預訓練模型時,最好指定map_location。因為如果程序之前在GPU上運行,那么模型就會被存成torch.cuda.Tensor,這樣加載時會默認將數據加載至顯存。如果運行該程序的計算機中沒有GPU,加載就會報錯,故通過指定map_location將Tensor默認加載入內存中,待有需要時再移至顯存中。

下面開始訓練網絡,訓練步驟如下。

(1)訓練判別器

  • 固定生成器
  • 對于真圖片,判別器的輸出概率值盡可能接近1
  • 對于生成器生成的假圖片,判別器盡可能輸出0

(2)訓練生成器

  • 固定判別器
  • 生成器生成圖片,盡可能讓判別器輸出1

(3)返回第一步,循環交替訓練

epochs = range(opt.max_epoch)for epoch in iter(epochs):for ii, (img, _) in tqdm.tqdm(enumerate(dataloader)):real_img = img.to(device)if ii % opt.d_every == 0:# 訓練判別器optimizer_d.zero_grad()## 盡可能的把真圖片判別為正確output = netd(real_img)error_d_real = criterion(output, true_labels)error_d_real.backward()## 盡可能把假圖片判別為錯誤noises.data.copy_(t.randn(opt.batch_size, opt.nz, 1, 1))fake_img = netg(noises).detach() # 根據噪聲生成假圖output = netd(fake_img)error_d_fake = criterion(output, fake_labels)error_d_fake.backward()optimizer_d.step()error_d = error_d_fake + error_d_realerrord_meter.add(error_d.item())if ii % opt.g_every == 0:# 訓練生成器optimizer_g.zero_grad()noises.data.copy_(t.randn(opt.batch_size, opt.nz, 1, 1))fake_img = netg(noises)output = netd(fake_img)error_g = criterion(output, true_labels)error_g.backward()optimizer_g.step()errorg_meter.add(error_g.item())if opt.vis and ii % opt.plot_every == opt.plot_every - 1:## 可視化if os.path.exists(opt.debug_file):ipdb.set_trace()fix_fake_imgs = netg(fix_noises)vis.images(fix_fake_imgs.detach().cpu().numpy()[:64] * 0.5 + 0.5, win='fixfake')vis.images(real_img.data.cpu().numpy()[:64] * 0.5 + 0.5, win='real')vis.plot('errord', errord_meter.value()[0])vis.plot('errorg', errorg_meter.value()[0])if (epoch+1) % opt.save_every == 0:# 保存模型、圖片tv.utils.save_image(fix_fake_imgs.data[:64], '%s/%s.png' % (opt.save_path, epoch), normalize=True,range=(-1, 1))t.save(netd.state_dict(), 'checkpoints/netd_%s.pth' % epoch)t.save(netg.state_dict(), 'checkpoints/netg_%s.pth' % epoch)errord_meter.reset()errorg_meter.reset()

這里需要注意以下幾點。

  • 訓練生成器時,無須調整判別器的參數;訓練判別器時,無須調整生成器的參數。
  • 在訓練判別器時,需要對生成器生成的圖片用detach操作進行計算圖截斷,避免反向傳播將梯度傳到生成器中。因為在訓練判別器時我們不需要訓練生成器,也就不需要生成器的梯度。
  • 在訓練判別器時,需要反向傳播兩次,一次是希望把真圖片判為1,一次是希望把假圖片判為0。也可以將這兩者的數據放到一個batch中,進行一次前向傳播和一次反向傳播即可。但是人們發現,在一個batch中只包含真圖片或只包含假圖片的做法最好。
  • 對于假圖片,在訓練判別器時,我們希望它輸出0;而在訓練生成器時,我們希望它輸出1.因此可以看到一對看似矛盾的代碼 error_d_fake = criterion(output, fake_labels)和error_g = criterion(output, true_labels)。其實這也很好理解,判別器希望能夠把假圖片判別為fake_label,而生成器則希望能把他判別為true_label,判別器和生成器互相對抗提升。

接下來就是一些可視化的代碼。每次可視化使用的噪聲都是固定的fix_noises,因為這樣便于我們比較對于相同的輸入,生成器生成的圖片是如何一步步提升的。另外,由于我們對輸入的圖片進行了歸一化處理(-1~1),在可視化時則需要將它還原成原來的scale(0~1)。

fix_fake_imgs = netg(fix_noises)vis.images(fix_fake_imgs.detach().cpu().numpy()[:64] * 0.5 + 0.5, win='fixfake')

除此之外,還提供了一個函數,能夠加載預訓練好的模型,并利用噪聲隨機生成圖片。

@t.no_grad() def generate(**kwargs):"""隨機生成動漫頭像,并根據netd的分數選擇較好的"""for k_, v_ in kwargs.items():setattr(opt, k_, v_)device=t.device('cuda') if opt.gpu else t.device('cpu')netg, netd = NetG(opt).eval(), NetD(opt).eval()noises = t.randn(opt.gen_search_num, opt.nz, 1, 1).normal_(opt.gen_mean, opt.gen_std)noises = noises.to(device)map_location = lambda storage, loc: storagenetd.load_state_dict(t.load(opt.netd_path, map_location=map_location))netg.load_state_dict(t.load(opt.netg_path, map_location=map_location))netd.to(device)netg.to(device)# 生成圖片,并計算圖片在判別器的分數fake_img = netg(noises)scores = netd(fake_img).detach()# 挑選最好的某幾張indexs = scores.topk(opt.gen_num)[1]result = []for ii in indexs:result.append(fake_img.data[ii])# 保存圖片tv.utils.save_image(t.stack(result), opt.gen_img, normalize=True, range=(-1, 1))

完整的代碼請參考本書的附帶樣例代碼chapter/AnimeGAN。參照README.MD中的指南配置環境,并準備好數據,而后用如下命令即可開始訓練:

python main.py train --gpu=True # 使用GPU--vis=True # 使用visdom--batch-size=256 # batch size--max-epoch=200 # 訓練200個epoch

如果使用visdom的話,此時打開http://localhost:8097就能看到生成的圖像。

訓練完成后,我們可以利用生成網絡隨機生成動漫圖像,輸入命令如下:

python main.py generate --gen-img='result1.5w.png'--gen-search-num=15000

7.3 實驗結果分析

實驗結果如下圖所示,分別是訓練1個、10個、20個、30個、40個、200個epoch之后神經網絡生成的動漫頭像(生成的圖像都在imgs文件夾下)。需要注意的是,每次生成器輸入的噪聲都是一樣的,所以我們可以對比在相同的輸入下,生成圖片的質量是如何慢慢改善的。

剛開始訓練的圖像比較模糊(1個epoch),但是可以看出圖像已經有面部輪廓。

繼續訓練10個epoch之后,生成的圖多了很多細節信息,包括頭發、顏色等,但是總體還是模糊。

訓練20個epoch之后,細節繼續完善,包括頭發的紋理、眼睛的細節等,但還是有不少涂抹的痕跡。

訓練40個epoch時,已經能看出明顯的面部輪廓和細節,但還是有涂抹現象,并且有些細節不夠合理,例如眼睛一大一小,面部輪廓扭曲嚴重。

當訓練到200個epoch會后,圖片的細節已經十分完善,線條更加流暢,輪廓更清晰,雖然還有一些不合理之處,但是已經有不少圖片能夠以假亂真了。

類似的生成動漫頭像的項目還有《用DRGAN生成高清的動漫頭像》,效果如下圖所示。但遺憾的是,由于論文中使用的數據涉及版權問題,未能公開。這篇論文主要改進包括使用了更高質量的圖片和更深、更復雜的模型。

本章講解的樣例程序還可以應用到不同的生成圖片場景中,只要將訓練圖片改成其他類型的圖片即可,例如LSUN房客圖片集、MNIST手寫數據集或CIFAR10數據集等。事實上,上述模型還有很大的改進空間。在這里,我們使用的全卷積網絡只有四層,模型比較淺,而在ResNet的論文發表之后,也有不少研究者嘗試在GAN的網絡結構中引入Residual Block結構,并取得了不錯的視覺效果。感興趣的讀者可以嘗試將示例代碼中的單層卷積改為Residual Block,相信可以取得不錯的效果。

今年來,GAN的一個重大突破在于理論研究。論文《Towards Principled Methods for Training Generative Adversarial Networks》從理論的角度分析了GAN為何難以訓練,作者隨后在另一篇論文《Wasserstein GAN》中針對性地提出了一個更好的解決方案。但是這篇論文在部分技術細節上的實現過于隨意,所以隨后又有人有針對性地提出了《Improved Training of Wasserstein GANs》,更好地訓練WGAN。后面兩篇論文分別用PyTorch和TensorFlow實現,代碼可以在GitHub上搜索到。筆者當初也嘗試用100行左右的代碼實現了Wasserstein GAN,該興趣的讀者可以去了解。

隨著GAN研究的逐漸成熟,人們也嘗試把GAN用于工業實際問題之中,而在眾多相關論文中,最令人深刻的就是《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》,論文中提出了一種新的GAN結構稱為CycleGAN。CycleGAN利用GAN實現風格遷移、黑白圖像彩色化,以及馬和斑馬互相轉化等,效果十分出眾。論文的作者用PyTorch實現了所有的代碼,并開源在GitHub上,感興趣的讀者可以自行查閱。

本章主要介紹GAN的基本原理,并帶領讀者利用GAN生成動漫頭像。GAN有許多變種,GitHub上有許多利用PyTorch實現的各種GAN,感興趣的讀者可以自行查閱。

總結

以上是生活随笔為你收集整理的深度学习框架PyTorch入门与实践:第七章 AI插画师:生成对抗网络的全部內容,希望文章能夠幫你解決所遇到的問題。

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

精品免费久久 | 91精品在线观看入口 | 91成人小视频 | 探花视频在线观看 | 美女视频黄频大全免费 | 国产主播大尺度精品福利免费 | 亚洲精品在线观看中文字幕 | 97国产小视频 | 天天操月月操 | 成人av免费电影 | 在线成人性视频 | 日本黄色免费看 | 国产不卡在线观看 | 91精品啪在线观看国产线免费 | 欧美久久久影院 | 中文字幕一区二区三区四区久久 | 丁香六月激情 | 国内精品久久久久久久久久清纯 | 97免费| 久久久国产精品人人片99精片欧美一 | 精品99在线视频 | 免费在线观看一区二区三区 | 精品国产理论 | 麻豆视频免费在线播放 | 久久国产热视频 | 久久久色 | 免费看一级特黄a大片 | 日韩美女av在线 | 国产精品美女久久久免费 | 99久热在线精品视频观看 | 成人 亚洲 欧美 | 婷婷国产在线观看 | 国产成人三级在线播放 | 一级全黄毛片 | a在线观看视频 | 在线播放国产一区二区三区 | 日日爱影视 | 久久久久99精品成人片三人毛片 | 欧美视频不卡 | av九九| 草久中文字幕 | 97成人资源站 | 日韩网站免费观看 | 天天射综合网视频 | 久久久亚洲麻豆日韩精品一区三区 | 天天操天天舔天天爽 | 色噜噜狠狠色综合中国 | 欧美一区视频 | 99精品一级欧美片免费播放 | 久久精品欧美日韩精品 | 国产手机在线视频 | 久久 一区 | 久草成人在线 | 国产一级精品在线观看 | 欧美日韩国产网站 | 亚洲精品色视频 | 91在线观看视频网站 | 婷香五月| 爱爱一区| 成年人免费观看在线视频 | 精品国产乱码久久久久久浪潮 | 最新av在线网址 | 婷五月激情| 久久久久中文 | 中文字幕精品www乱入免费视频 | 亚洲视频高清 | 欧美成人精品欧美一级乱 | av成人在线电影 | 丁香激情五月婷婷 | 精品自拍网 | 国产精品毛片一区视频播不卡 | 欧美成人精品欧美一级乱 | 一二三区视频在线 | 日韩视频欧美视频 | 天天天天射 | 一本一道久久a久久综合蜜桃 | 特级黄色片免费看 | 又黄又爽又湿又无遮挡的在线视频 | 91av蜜桃| 日韩在线电影观看 | 99热最新在线 | 99精品欧美一区二区 | 激情网五月天 | 精品人人人人 | 青青河边草观看完整版高清 | 欧美激情综合五月 | 蜜桃视频精品 | 91福利视频网站 | 婷婷国产v亚洲v欧美久久 | 日日夜夜人人天天 | 久久久99精品免费观看乱色 | 欧美一区三区四区 | 中文有码在线视频 | 成人av电影在线 | 丁香午夜| 午夜精品一区二区三区在线 | 中文字幕av有码 | 草免费视频 | 91av蜜桃| 特级毛片在线观看 | 久草精品视频在线播放 | 欧美性生活大片 | 国产精品美女久久久久久久 | 国产精品麻豆三级一区视频 | 99热这里只有精品8 久久综合毛片 | 久久精品国产精品 | 色婷婷综合久久久 | 高清av免费一区中文字幕 | 91免费在线 | 久久精品5| 视频成人免费 | 欧美怡红院 | av大全在线 | 一性一交视频 | 亚洲视频久久久久 | 亚洲黄色在线播放 | 天天干,天天操 | 日日夜夜天天久久 | 国产在线v | 少妇搡bbb | 日韩一级电影网站 | 日韩美女免费线视频 | 久久久久免费精品国产 | 国产精品久久久久久久久大全 | 天天干,狠狠干 | 91丨九色丨高潮丰满 | 99精品免费久久久久久久久 | 在线观看不卡视频 | 婷婷丁香在线 | 91av播放| 久久99免费观看 | 蜜臀久久99精品久久久无需会员 | 91av免费看 | 黄色免费网站 | 国产九九精品视频 | 黄色在线观看免费 | 日韩中文免费视频 | 超碰日韩在线 | 久久精品之 | 欧美热久久 | 久草线| 欧美伊人网 | 日韩在线播放欧美字幕 | 蜜臀久久99精品久久久酒店新书 | 日韩中字在线观看 | 日韩视频1 | 91久久国产露脸精品国产闺蜜 | 国产又粗又猛又色 | 日韩欧美在线影院 | 亚洲第一久久久 | 中日韩三级视频 | 国产黄大片在线观看 | 欧美精品九九99久久 | 久久久久一区二区三区四区 | 国产很黄很色的视频 | 91漂亮少妇露脸在线播放 | 欧美激情综合五月 | 欧美整片sss | 最新日韩在线观看视频 | 91视视频在线直接观看在线看网页在线看 | 国产黄色片久久久 | 九九热精品视频在线播放 | 亚洲午夜av | a电影在线观看 | 日韩欧美一区二区三区免费观看 | 久久大视频| 国产精品成人在线观看 | 亚洲日本色 | 西西人体4444www高清视频 | 美女天天操 | 国产精品永久免费在线 | 97电影手机 | 91精品国产自产在线观看永久 | 久久国产区 | 中文字幕在线观看免费 | 国产精品成人一区二区三区吃奶 | 精品免费视频 | 97在线观看视频 | 日韩日韩日韩日韩 | 一区二区精品视频 | 色九色| 亚洲精品网站 | 国产玖玖在线 | 日韩在线精品一区 | 黄网站色视频 | 亚洲色影爱久久精品 | 一区二区三区日韩在线观看 | 日韩偷拍精品 | 最新av在线播放 | 五月婷婷六月丁香在线观看 | 亚洲欧美日韩在线一区二区 | www.色五月 | 亚洲精品在线二区 | 江苏妇搡bbbb搡bbbb | 亚洲视频 一区 | 国产精品久久久久久久久久久杏吧 | www在线观看国产 | 亚洲精品国偷拍自产在线观看蜜桃 | av在线免费播放 | 狠狠操狠狠干2017 | 亚洲国产成人精品在线 | www178ccom视频在线 | 一区av在线播放 | 日韩在线看片 | 国产一区欧美日韩 | 国产精品免费观看在线 | 日本黄色免费在线观看 | 日日日爽爽爽 | 国产专区一 | 久久久国产一区 | 亚洲第一区在线观看 | 亚州性色 | 欧美日韩调教 | 精品国产一区二区三区蜜臀 | 91视频 - 114av| 国产精品成人av电影 | 天天爽天天碰狠狠添 | 丰满少妇高潮在线观看 | 久久国产经典视频 | 午夜精品久久久久久久久久 | 天天摸天天舔 | 成人免费中文字幕 | 日韩二区在线播放 | 欧美日韩精品国产 | 欧美日韩中文字幕视频 | 久久久久国产成人精品亚洲午夜 | 在线观看黄网站 | 欧美孕妇视频 | 日批视频在线 | 特级西西444www高清大视频 | 不卡在线一区 | 91麻豆精品国产 | 在线看国产一区 | 在线香蕉视频 | 国产成人久久av免费高清密臂 | 综合久久五月天 | 日韩黄色一级电影 | 国产精品久久久久久久久毛片 | 五月婷婷综合网 | 国产视频一级 | 亚洲色图激情文学 | 欧美一级片播放 | 91久久精品一区 | 最新亚洲视频 | 欧美日韩久久不卡 | 国产黄色片免费观看 | 久久久国产一区二区三区四区小说 | 特级西西人体444是什么意思 | 欧美91片 | 精品综合久久久 | 国产精品三级视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产一区二区三区在线 | 国产成人黄色av | 在线影院av| www91在线观看| 欧美精品乱码99久久影院 | 国产视频中文字幕在线观看 | 亚洲日本在线一区 | 久久黄色免费视频 | 91看片成人| 国产精品久久久久久久电影 | 日韩激情影院 | 国产精品第 | 日韩mv欧美mv国产精品 | 国产欧美日韩精品一区二区免费 | 天海翼一区二区三区免费 | 亚洲精品www | 日韩国产精品久久久久久亚洲 | 91在线观| 国产亚洲在线视频 | 欧美日韩精品在线观看 | 成人中文字幕在线 | 国产精品一区二区久久久久 | 婷久久 | 日韩中文字幕免费视频 | 美女在线黄 | 久久视频99 | 色婷五月 | 一区二区三区韩国免费中文网站 | 波多野结衣在线中文字幕 | 中文字幕婷婷 | 久久久久久麻豆 | 在线视频精品播放 | 国产一区二区在线看 | 亚洲片在线资源 | 热久久国产 | 色偷偷88888欧美精品久久 | 国产免费一区二区三区最新 | 久久久久成人精品 | 国内精品久久久 | 色资源在线观看 | 在线观看欧美成人 | 久久大片| 亚洲精品视频偷拍 | 国产在线看 | 国产精品乱码一区二区视频 | 2019中文 | 毛片网站免费 | 天天干夜夜夜 | 国产精品1000| 精品国模一区二区三区 | 日韩丝袜 | 欧美激情视频一区二区三区 | 久久久99国产精品免费 | 中文字幕久久网 | 免费看污片 | 中国美女一级看片 | 伊人春色电影网 | 亚洲一区日韩在线 | 国内精品久久久久国产 | 免费网址你懂的 | 免费韩国av| av电影免费在线 | 国产精品99久久久久久有的能看 | 91av小视频 | 国产精品入口66mio女同 | 国产黄在线观看 | 超碰伊人网 | 国产高清免费 | 激情五月综合 | 欧美在线18 | 久久国产系列 | 天天色天天干天天色 | 狠狠色网 | 97国产视频 | 亚洲欧洲久久久 | 中文字幕观看在线 | 激情 婷婷| 国产手机视频在线观看 | 国产精品久久99综合免费观看尤物 | 日韩伦理片hd | 欧美日韩高清一区二区 国产亚洲免费看 | 天天射天天 | 精品久久久久久亚洲 | 久久99这里只有精品 | 色婷婷亚洲 | 成人免费在线观看电影 | av在线在线 | 伊人狠狠色丁香婷婷综合 | 国产69久久 | 久久av一区二区三区亚洲 | 激情五月亚洲 | 日韩91在线 | 天天玩天天干 | 香蕉看片 | 99热最新在线 | 美女一区网站 | 日日爱av| 999视频在线观看 | 国产剧情在线一区 | 九九视频精品免费 | 亚洲综合欧美精品电影 | 狠狠色丁香久久婷婷综合五月 | 色天天 | 国产拍在线 | 欧美日本在线观看视频 | 久草视频在线资源站 | 婷婷六月色 | 精品国产区在线 | 欧美十八 | 欧美一级特黄aaaaaa大片在线观看 | 日本一区二区三区免费看 | 在线免费高清视频 | 天堂va在线观看 | 超碰99人人| 66av99精品福利视频在线 | 日韩一区二区在线免费观看 | 国产精品美女免费看 | 精品国产视频在线 | 国产精品久久久久免费观看 | 亚洲黄色av| 亚洲精品成人在线 | 国产精品久久久久一区二区 | 久久99国产一区二区三区 | 国产伦理一区二区 | 一区二区三区播放 | 在线视频欧美日韩 | 久久久久综合 | 日韩中文在线观看 | 日韩视频一区二区在线观看 | 玖玖在线观看视频 | 亚洲视频电影在线 | 一区二区三区中文字幕在线观看 | 超碰97中文 | 看国产黄色片 | 中文字幕乱码电影 | 久久久久久久久久影视 | 日日夜夜天天射 | 婷婷色av| 国产精品都在这里 | 有码中文字幕 | 天天操天天曰 | 日韩一区二区三免费高清在线观看 | 最近2019中文免费高清视频观看www99 | 亚洲永久精品视频 | 欧美日一级片 | 96精品高清视频在线观看软件特色 | 国产精品久久久久久久免费观看 | 亚洲手机天堂 | 国产精品嫩草影院9 | 日韩电影一区二区三区在线观看 | 成人黄色影片在线 | 97色se| 五月婷婷丁香激情 | 日本久久成人中文字幕电影 | 国产视频一区在线免费观看 | 成人一级免费电影 | 99精品久久只有精品 | 视频福利在线观看 | 天天插天天操天天干 | 国产福利在线 | 国产午夜精品久久久久久久久久 | 亚洲成年人免费网站 | 在线观看91精品视频 | 五月婷婷视频在线 | 三级在线视频播放 | 日韩专区一区二区 | www.com在线观看 | www.亚洲激情.com | 9999在线视频| 天天操综合 | 国产午夜三级 | 91丨九色丨国产丨porny精品 | 丝袜网站在线观看 | 亚洲九九精品 | 在线播放91| 天天超碰| 三级黄色免费 | a午夜电影 | 久久狠狠干 | 日韩中文字幕在线观看 | 黄色免费高清视频 | 日韩在线资源 | 成年人免费电影 | 97精品在线视频 | 麻豆91在线观看 | 午夜在线免费观看视频 | 麻豆小视频在线观看 | 日日狠狠| 中文字幕一区二区三区在线视频 | 国产999精品久久久影片官网 | 国产精品免费久久久久久久久久中文 | 在线网址你懂得 | 亚洲一区二区高潮无套美女 | 高清有码中文字幕 | 开心综合网 | 成人黄大片视频在线观看 | 激情 亚洲 | 日韩高清在线一区二区 | 女人18片毛片90分钟 | 免费男女羞羞的视频网站中文字幕 | 天天色 天天 | 国产色视频一区二区三区qq号 | 久久国产影视 | 国产大片免费久久 | 日韩av在线免费播放 | 人人添人人澡 | 99人久久精品视频最新地址 | 胖bbbb搡bbbb擦bbbb | av电影一区二区三区 | 在线电影 你懂得 | 黄色在线看网站 | 手机av观看| 色综合五月 | 午夜视频免费 | 青青草国产成人99久久 | 九九欧美视频 | 天天综合网在线观看 | 人人爽人人射 | 天天鲁一鲁摸一摸爽一爽 | 国产区精品视频 | 亚洲午夜精品久久久久久久久久久久 | 久久国产精品久久精品 | 精品一区免费 | 玖玖玖国产精品 | 免费在线观看黄色网 | 国产96精品 | 亚洲人成在线观看 | 日韩av不卡在线观看 | 久精品在线观看 | 免费观看成年人视频 | 亚洲国产成人精品在线 | 国产视频一区在线免费观看 | 激情黄色av| 玖玖999| 欧美乱淫视频 | 久久精品99久久 | 美女网站在线看 | 手机看片| 91在线文字幕| 日韩av片无码一区二区不卡电影 | 欧美日韩一区久久 | 天天色影院 | 欧美一级特黄aaaaaa大片在线观看 | 中文字幕电影高清在线观看 | 日本久久久久久久久久 | 欧美极品少妇xbxb性爽爽视频 | 国产亚洲亚洲 | 久久久久二区 | 久久人人97超碰精品888 | 精品一区二区三区久久久 | 亚洲精品久久久蜜桃直播 | 久久一区二区免费视频 | 国产亚洲精品久久久网站好莱 | 亚洲va欧美va人人爽春色影视 | 久久国产亚洲精品 | 国产麻豆精品久久一二三 | 高清不卡免费视频 | 久久免费视频8 | 久草电影在线观看 | 成人午夜在线观看 | 麻豆视频免费入口 | 91夜夜夜 | 中文字幕精品一区二区精品 | 久久综合狠狠 | 日韩免费成人av | 久久免费视频网 | 欧美精品久久久久久久久久丰满 | 四虎在线永久免费观看 | 激情视频免费观看 | 91网址在线看 | 午夜av免费观看 | 91中文字幕| 日本成人中文字幕在线观看 | 免费在线观看国产黄 | 久久人人艹 | 摸阴视频 | www.天堂av | 天天天天干 | 亚洲视频综合在线 | 久久久久国产精品免费网站 | 久久都是精品 | 婷婷丁香色综合狠狠色 | 国产高清视频色在线www | www.xxxx变态.com| 91精品国产自产91精品 | 国产精品日韩欧美一区二区 | 欧美日韩网站 | 国产精品一区二区无线 | 国产黄在线看 | 欧美综合久久久 | 欧亚日韩精品一区二区在线 | 天天性天天草 | 国产中文在线播放 | 成人网在线免费视频 | 涩五月婷婷| 九九九在线观看视频 | 久久国产精品久久精品国产演员表 | 中文网丁香综合网 | 国产五码一区 | 婷婷www| 欧美成人手机版 | 国产免费国产 | 亚洲精品中文字幕在线观看 | 狠狠躁日日躁狂躁夜夜躁 | 日本美女xx | 久久免费片 | 免费在线观看av电影 | 中文字幕在线免费 | 97视频免费观看 | 国产91精品一区二区麻豆亚洲 | 国产精品va最新国产精品视频 | 91视频在线免费 | 日韩亚洲精品电影 | 狠狠88综合久久久久综合网 | 久久国产免 | 亚洲免费一级 | 丁香婷婷在线观看 | 偷拍福利视频一区二区三区 | 亚洲国产黄色片 | 色欧美成人精品a∨在线观看 | 四虎视频| 蜜臀久久99静品久久久久久 | 久久精品国产亚洲a | 国产香蕉97碰碰碰视频在线观看 | 欧美黄色免费 | 国产男女免费完整视频 | 国产一区二区三区久久久 | 日韩av在线网站 | 黄色国产精品 | 九九精品久久 | 免费看色的网站 | 狠狠躁天天躁综合网 | 亚洲视频免费在线观看 | 91自拍成人 | 精品电影一区二区 | 国产精品久久久久久欧美 | 国产在线观看二区 | 久草影视在线 | 伊人亚洲综合 | 爱射综合 | 亚洲欧美怡红院 | 日韩久久一区二区 | 久久成人高清视频 | 欧美亚洲精品在线观看 | 国产精品久久久久久吹潮天美传媒 | 808电影免费观看三年 | 久久免费国产电影 | av福利超碰网站 | 中文字幕视频三区 | 97成人在线观看视频 | 毛片在线网 | 日韩在线视频免费观看 | 国产精品国产三级国产aⅴ无密码 | 在线观看网站黄 | 久久经典视频 | 在线观看国产成人av片 | 在线观看久草 | 91超国产| 99r在线精品 | 精品一区二区在线免费观看 | 精品福利网 | 极品国产91在线网站 | 国产在线污 | 欧美日韩激情视频8区 | 国产视频二区三区 | 亚洲激情小视频 | 欧美一级视频免费看 | 欧美日韩在线播放一区 | 中文字幕精品一区二区精品 | av网站播放 | 国产免费激情久久 | 久久激情视频 久久 | 91成人免费看片 | 美女久久视频 | 精品亚洲欧美一区 | 一本一本久久a久久精品综合 | 国产女v资源在线观看 | 国产精品美女在线观看 | a在线观看免费视频 | 久久色在线观看 | 亚洲黄色小说网 | 在线观看免费高清视频大全追剧 | 国产精品地址 | 亚洲综合小说电影qvod | 免费av网址大全 | 成人a v视频 | 欧美大片第1页 | 欧美成人黄色 | 国产中文字幕在线视频 | 成人精品一区二区三区中文字幕 | 国产精品免费视频网站 | 日韩丝袜在线观看 | 免费看v片网站 | 久久成人国产 | 久久免费视频在线观看30 | 91亚洲精品国偷拍 | 精品福利在线 | 99精品欧美一区二区 | 久久精品站 | 天天综合区 | 国产乱码精品一区二区蜜臀 | 99色人 | 亚洲激情p | 91视频免费| 久久99亚洲精品 | 国产资源在线播放 | www.少妇 | 国产一区视频在线观看免费 | 国产一级高清 | 91精品天码美女少妇 | www.99在线观看 | 91久久爱热色涩涩 | 亚洲专区中文字幕 | 黄色大全视频 | 开心丁香婷婷深爱五月 | 激情av资源网 | 国产精品18久久久久久久网站 | 久久久私人影院 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 精品视频在线免费 | 亚洲精选在线观看 | 天天射天天干天天插 | 久久久91精品国产一区二区三区 | 国产精品免费视频一区二区 | 成人国产精品入口 | 久久精品一级片 | 久久久久欧美精品999 | 特级毛片aaa | 永久免费观看视频 | 久久天天躁狠狠躁夜夜不卡公司 | 就色干综合| 久久综合久久鬼 | 久久日韩精品 | 三级黄在线| 天天天天射 | 91九色在线观看视频 | 国内成人av | 亚洲色综合 | 伊人五月综合 | 日韩免费在线一区 | 午夜视频在线观看一区二区 | 日韩在线免费视频 | 欧美性成人 | 香蕉网在线播放 | 青春草视频在线播放 | 日韩a在线 | 免费毛片一区二区三区久久久 | 国产资源精品 | 亚洲开心激情 | 国产精品久久久久久爽爽爽 | 国产婷婷精品av在线 | 日韩精品aaa | 一区 在线观看 | 午夜精品一区二区三区可下载 | 福利视频导航网址 | 免费在线成人 | 在线观看视频你懂得 | 一区三区视频在线观看 | 欧美色插| 国产精品一区二区精品视频免费看 | 国产在线观看xxx | 亚洲国产资源 | 五月天精品视频 | 亚洲黄色在线免费观看 | 久久国产视屏 | 91精品免费| 久草精品视频在线观看 | 国产在线精品一区二区不卡了 | 中文字幕在线高清 | 久久视频国产 | 久久婷亚洲五月一区天天躁 | wwwww.国产| 国产r级在线观看 | 久久一二区 | 国产精品久久久久久a | 成人精品亚洲 | 久久精品视频国产 | 成人亚洲综合 | 中文字幕在线免费看线人 | 99热精品免费观看 | 在线观看一级片 | 精选久久 | 色综合综合 | 九九免费观看全部免费视频 | 又黄又刺激的网站 | www.97视频 | 亚洲精品中文字幕视频 | 最近中文字幕大全中文字幕免费 | 国产91av视频在线观看 | 婷婷av在线 | av电影中文字幕在线观看 | 久操视频在线免费看 | 开心婷婷色 | 免费观看久久 | 欧美激情va永久在线播放 | 在线影院av | 欧美日本在线视频 | 日韩精品一卡 | 友田真希av | www·22com天天操 | 国产精品高潮呻吟久久av无 | 久久99精品久久久久久清纯直播 | 欧美成人在线免费 | 91av在线看| 狠狠色2019综合网 | 免费在线观看毛片网站 | 久久精品国产v日韩v亚洲 | 国产99久久久国产 | 国产免费中文字幕 | 精品国模一区二区 | 91av视频 | 国产精品大片在线观看 | 国产精品va最新国产精品视频 | 美女视频黄的免费的 | 中文字幕资源在线观看 | 亚洲综合导航 | av在线电影网站 | 日韩免费一区二区三区 | 二区三区在线视频 | 夜夜躁狠狠燥 | 在线观看久久久久久 | 中文字幕欧美日韩va免费视频 | 99久久99久久综合 | 日日躁夜夜躁aaaaxxxx | 国产精品欧美精品 | 国产69精品久久久久99 | 久久免费的精品国产v∧ | 国产免费观看av | 久久99精品久久久久婷婷 | 国产精品欧美一区二区三区不卡 | 又黄又刺激的视频 | 在线视频手机国产 | 精品亚洲免a | 久久久久久久久爱 | 手机在线永久免费观看av片 | 欧美在线观看视频一区二区 | 亚洲成人家庭影院 | 92av视频| av爱干| 91精品成人 | 婷婷在线免费观看 | 五月婷婷在线播放 | 欧美久久久久久久久久久久 | 日韩在线高清免费视频 | 久久精品国产亚洲精品2020 | 黄网站色成年免费观看 | 波多野结衣电影一区二区三区 | 亚洲精品99 | 91网页版在线观看 | 亚洲精品一区二区18漫画 | 激情欧美一区二区三区 | 美女国内精品自产拍在线播放 | 日韩av一区二区在线播放 | 精品国产乱码久久久久久1区二区 | 狠狠久久综合 | 色婷婷一 | 日韩深夜在线观看 | 午夜精品久久久久久99热明星 | 亚洲精品乱码久久久久久久久久 | 久草精品视频在线观看 | 91一区在线观看 | 精品国产区 | 久久久久久久18 | 欧美亚洲另类在线视频 | 超碰人人在线观看 | 国产视频资源 | 欧美一区二区三区不卡 | 国产成人三级三级三级97 | 日韩精品一区二区三区第95 | 国产一区二区不卡视频 | 美女视频一区二区 | 久久成视频 | 国产日韩中文字幕在线 | www.色午夜 | 国产精品视频在线观看 | 在线免费国产 | 国产亚洲精品久久久久秋 | 狠色狠色综合久久 | 99视频免费播放 | 亚洲精品午夜久久久久久久 | 日本久久视频 | 西西www4444大胆在线 | 亚洲黄色av网址 | 国产香蕉在线 | 天天操天天爱天天干 | 欧美精品久久久久性色 | 国产精品综合在线观看 | 久久久国产在线视频 | 黄色视屏在线免费观看 | 国产中文字幕视频在线观看 | 成人黄色大片 | 亚洲成人国产精品 | 五月天丁香视频 | 成人久久久久久久久 | 五月婷婷六月丁香 | 国产福利一区二区三区在线观看 | 欧美日韩性 | 免费网址在线播放 | 日韩视频一区二区三区在线播放免费观看 | 久久不卡国产精品一区二区 | 成人18视频| 国产美女精品视频免费观看 | 天天操天天干天天摸 | 九9热这里真品2 | 国产精品久久久久久久久婷婷 | 国产精品视频内 | 人人视频网站 | 国产一区私人高清影院 | 国产精品成| 狠狠操天天操 | 一区二区不卡视频在线观看 | 国产高清专区 | 欧美色伊人 | 一区中文字幕在线观看 | 国产精品一区二区av | 天天撸夜夜操 | 伊人射 | 国产精品一码二码三码在线 | 久草在线视频中文 | 国产日韩欧美在线免费观看 | 又爽又黄又无遮挡网站动态图 | 五月婷婷视频在线 | 久久亚洲综合国产精品99麻豆的功能介绍 | av在线网站免费观看 | 亚洲视频在线视频 | 久久avav | 久久不卡免费视频 | 成年人网站免费观看 | 草久久久 | 日韩黄色免费电影 | 在线观看www. | 久草视频免费在线观看 | 免费观看v片在线观看 | 人人射人人爱 | 亚洲欧美色婷婷 | 日韩中文字幕a | 国产精品久久久久久影院 | 中文字幕观看视频 | 91精品视频在线观看免费 | 美女黄久久 | 亚洲国内精品视频 | 午夜精品视频免费在线观看 | 综合久色 | 91精品中文字幕 | 国产黄色片免费 | 欧美精品久久久久久久久久丰满 | 五月开心色 | 国产日韩欧美在线影视 | 久久精品这里热有精品 | 国内成人精品视频 | 人人藻人人澡人人爽 | 一本一本久久a久久精品综合小说 | 午夜精品福利在线 | 午夜久久久久久久久久久 | 九九久久免费 | 久久黄色a级片 | 超碰免费久久 | 欧美日韩国产欧美 | 国产日韩欧美在线观看视频 | 国产传媒一区在线 | 国产资源 | 狠狠色噜噜狠狠狠合久 | 国产在线精品一区 | 午夜av激情 | 亚洲国产黄色 | 国产色拍拍拍拍在线精品 | 日韩精品无码一区二区三区 | 丁香婷婷色月天 | 国产成人精品福利 | 国产美女精品视频 | 91精品一 | 国产激情电影综合在线看 | 亚洲涩涩涩 | 日本xxxxav | 成人免费视频网站在线观看 | 国产剧情一区二区在线观看 | 在线亚洲小视频 | 97超级碰碰 | 久久再线视频 | 久久视频免费在线 | avsex| 国产精品一区二区中文字幕 | 精品久久久久久亚洲综合网站 | 日韩av免费观看网站 | 午夜 免费 | 97视频在线看 | 手机在线观看国产精品 | 五月av在线| 婷婷五月色综合 | 精品美女久久 | 欧美激情综合网 | 久久公开免费视频 | 国产三级香港三韩国三级 | 91黄色小视频 | 国产成人三级 | 在线成人性视频 | 亚洲精品免费播放 | av网站在线免费观看 | 91亚洲精品在线 | 成人免费网站视频 | 午夜精品一区二区三区在线观看 | 国产亚洲视频在线 | 欧美a级成人淫片免费看 | 中文字幕在线观看一区二区 | 精品一区二区三区四区在线 | 国产精品久久久久久久久岛 | 91精选在线观看 | 日韩精品久久久久久久电影99爱 | 亚洲 欧美 日韩 综合 | 欧美黄色高清 | 国产一级二级在线 | 婷婷国产精品 | 久久久国产精品免费 | 日韩欧美在线视频一区二区三区 | 国产麻豆视频 | 香蕉久久久久久av成人 | 日韩激情视频 | 国产免费黄视频在线观看 | 天天干 夜夜操 | 菠萝菠萝在线精品视频 | 天堂va在线高清一区 | 免费看污在线观看 | 在线不卡的av | 色综合天天色综合 | 久久超碰网 | 一区二区精品在线 | 高清不卡一区二区三区 | 久久视频二区 | 黄免费网站 | a√天堂资源 | 免费毛片aaaaaa| 一区二区在线影院 | 久久免视频 | 国产精品麻豆果冻传媒在线播放 | 99久在线精品99re8热视频 | 碰超人人 | 国产一区二区视频在线 | 免费视频a| 亚洲综合视频在线观看 | 99在线视频网站 | 91在线porny国产在线看 | 国产手机免费视频 | 探花视频在线观看免费版 | 麻豆传媒在线免费看 | 在线99视频 | 国产一级片不卡 |