如何使用預(yù)訓(xùn)練的權(quán)重從自定義數(shù)據(jù)集中生成圖像?
概要
分享我的知識(shí),使用帶有示例代碼片段的遷移學(xué)習(xí)逐步在Google colab中的自定義數(shù)據(jù)集上訓(xùn)練StyleGAN
如何使用預(yù)訓(xùn)練的權(quán)重從自定義數(shù)據(jù)集中生成圖像
使用不同的種子值生成新圖像
介紹
生成對(duì)抗網(wǎng)絡(luò)(GAN) 是機(jī)器學(xué)習(xí)中的一項(xiàng)最新創(chuàng)新,由 Ian J. Goodfellow 及其同事于2014年首次提出。
它是一組神經(jīng)網(wǎng)絡(luò),以兩人零和博弈的形式相互對(duì)抗。博弈論(一個(gè)人的勝利就是另一個(gè)人的損失)。它是用于無(wú)監(jiān)督學(xué)習(xí)的生成模型的一種形式。這里有一個(gè)生成器(用于從潛在空間中的某個(gè)點(diǎn)在數(shù)據(jù)上生成新實(shí)例)和鑒別器(用于將生成器生成的數(shù)據(jù)與實(shí)際或真實(shí)數(shù)據(jù)值區(qū)分開(kāi))。
最初,生成器生成虛假或偽造的數(shù)據(jù),鑒別器可以將其分類為偽造,但是隨著訓(xùn)練的繼續(xù),生成器開(kāi)始學(xué)習(xí)真實(shí)數(shù)據(jù)的分布并開(kāi)始生成真實(shí)的數(shù)據(jù)。這種情況一直持續(xù)到鑒別器無(wú)法將其分類為不真實(shí)的并且生成器輸出的所有數(shù)據(jù)看起來(lái)都像真實(shí)數(shù)據(jù)。因此,此處生成器的輸出連接到鑒別器的輸入,并根據(jù)鑒別器的輸出(是實(shí)數(shù)還是非實(shí)數(shù))計(jì)算損失,并通過(guò)反向傳播,為后續(xù)訓(xùn)練(epoch)更新生成器的權(quán)重。
StyleGAN目前在市場(chǎng)上有多種GAN變體,但在本文中,我將重點(diǎn)介紹Nvidia在2018年12月推出的StyleGAN。StyleGAN的體系結(jié)構(gòu)使用基線漸進(jìn)式GAN。即,生成圖像的大小從非常低的角度逐漸增加分辨率(4×4)到非常高的分辨率(1024×1024),并使用雙線性采樣代替基線漸進(jìn)式GAN中使用的最近鄰居上/下采樣。
遷移學(xué)習(xí)在另一個(gè)相似的數(shù)據(jù)集上使用已訓(xùn)練的模型權(quán)重并訓(xùn)練自定義數(shù)據(jù)集。
自定義數(shù)據(jù)集包含2500個(gè)來(lái)自時(shí)尚的紋理圖像。下面幾張示例紋理圖像可供參考。此處你可以替換成自己的自定義數(shù)據(jù)集。
重點(diǎn)和前提條件:必須使用GPU,StyleGAN無(wú)法在CPU環(huán)境中進(jìn)行訓(xùn)練。為了演示,我已經(jīng)使用google colab環(huán)境進(jìn)行實(shí)驗(yàn)和學(xué)習(xí)。
確保選擇Tensorflow版本1.15.2。StyleGAN僅適用于tf 1.x
StyleGAN訓(xùn)練將花費(fèi)大量時(shí)間(幾天之內(nèi)取決于服務(wù)器容量,例如1個(gè)GPU,2個(gè)GPU等)
如果你正在從事與GAN相關(guān)的任何實(shí)時(shí)項(xiàng)目,那么由于colab中的使用限制和超時(shí),你可能想在 tesla P-80或 P-100專用服務(wù)器上訓(xùn)練GAN 。
如果你有g(shù)oogle-pro(不是強(qiáng)制性的),則可以節(jié)省多達(dá)40-50%的本文訓(xùn)練時(shí)間 ,我對(duì)GAN進(jìn)行了3500次迭代訓(xùn)練,因?yàn)橛?xùn)練整個(gè)GAN需要很長(zhǎng)時(shí)間(要獲取高分辨率圖像),則需要至少運(yùn)行25000次迭代(推薦)。另外,我的圖像分辨率是64×64,但是styleGAN是在1024×1024分辨率圖像上訓(xùn)練的。
我已使用以下預(yù)先訓(xùn)練的權(quán)重來(lái)訓(xùn)練我的自定義數(shù)據(jù)集(有關(guān)更多詳細(xì)信息,請(qǐng)參見(jiàn)Tensorflow Github官方鏈接)
https://drive.google.com/uc?id=1MEGjdvVpUsu1jB4zrXZN7Y4kBBOzizDQ使用遷移學(xué)習(xí)在Google Colab中的自定義數(shù)據(jù)集上訓(xùn)練style GAN打開(kāi)colab并打開(kāi)一個(gè)新的botebook。確保在Runtime->Change Runtime type->Hardware accelerator下設(shè)置為GPU驗(yàn)證你的帳戶并裝載G驅(qū)動(dòng)器from google.colab import drive
drive.mount('/content/drive', force_remount=True)
確保選擇了Tensorflow版本1.15.2。StyleGAN僅適用于tf1.x。%tensorflow_version 1.x
import tensorflow
print(tensorflow.__version__)
從 https://github.com/NVlabs/stylegan 克隆stylegan.git!git clone https://github.com/NVlabs/stylegan.git
!ls /content/stylegan/
You should see something like this
config.py LICENSE.txt run_metrics.py
dataset_tool.py metrics stylegan-teaser.png
dnnlib pretrained_example.py training
generate_figures.py README.md train.py
5. 將 stylegan文件夾添加到python,以導(dǎo)入dnnlib模塊import sys
sys.path.insert(0, "/content/stylegan")
import dnnlib
6. 將自定義數(shù)據(jù)集從G驅(qū)動(dòng)器提取到你選擇的colab服務(wù)器文件夾中!unrar x "/content/drive/My Drive/CustomDataset.rar" "/content/CData/"
7. Stylegan要求圖像必須是正方形,并且為獲得很好的分辨率,圖像必須為1024×1024。但是在本演示中,我將使用64×64的分辨率,下一步是將所有圖像調(diào)整為該分辨率。# resize all the images to same size
import os
from tqdm import tqdm
import cv2
from PIL import Image
from resizeimage import resizeimage
path = '/content/CData/'
for filename in tqdm(os.listdir(path),desc ='reading images ...'):
image = Image.open(path+filename)
image = image.resize((64,64))
image.save(path+filename, image.format)
8.將自定義數(shù)據(jù)集復(fù)制到colab并調(diào)整大小后,使用以下命令將自定義圖像轉(zhuǎn)換為tfrecords。這是StyleGAN的要求,因此此步驟對(duì)于訓(xùn)練StyleGAN是必不可少的。! python /content/stylegan/dataset_tool.py create_from_images /content/stylegan/datasets/custom-dataset /content/texture
replace your custom dataset path (instead of /content/texture)
9.一旦成功創(chuàng)建了tfrecords,你應(yīng)該查看它們/content/stylegan/datasets/custom-dataset/custom-dataset-r02.tfrecords - 22
/content/stylegan/datasets/custom-dataset/custom-dataset-r03.tfrecords - 23
/content/stylegan/datasets/custom-dataset/custom-dataset-r04.tfrecords -24
/content/stylegan/datasets/custom-dataset/custom-dataset-r05.tfrecords -25
/content/stylegan/datasets/custom-dataset/custom-dataset-r06.tfrecords -26
These tfrecords correspond to 4x4 , 8x8 ,16x16, 32x32 and 64x64 resolution images (baseline progressive) respectiviely

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評(píng) >> 【評(píng)選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評(píng)選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開(kāi)始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 5 國(guó)產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來(lái)商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽(yáng)光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開(kāi)成長(zhǎng)空間
- 8 地平線自動(dòng)駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營(yíng)收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?