layout | background-class | body-class | title | summary | category | image | author | tags | github-link | github-id | featured_image_1 | featured_image_2 | accelerator | demo-model-link | order | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
hub_detail |
hub-background |
hub |
DCGAN on FashionGen |
64x64 ์ด๋ฏธ์ง ์์ฑ์ ์ํ ๊ธฐ๋ณธ ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ |
researchers |
dcgan_fashionGen.jpg |
FAIR HDGAN |
|
facebookresearch/pytorch_GAN_zoo |
dcgan_fashionGen.jpg |
no-image |
cuda-optional |
10 |
import torch
use_gpu = True if torch.cuda.is_available() else False
model = torch.hub.load('facebookresearch/pytorch_GAN_zoo:hub', 'DCGAN', pretrained=True, useGPU=use_gpu)
๋ชจ๋ธ์ ์
๋ ฅํ๋ ์ก์(noise) ๋ฒกํฐ์ ํฌ๊ธฐ๋ (N, 120)
์ด๋ฉฐ ์ฌ๊ธฐ์ N
์ ์์ฑํ๊ณ ์ ํ๋ ์ด๋ฏธ์ง์ ๊ฐ์์
๋๋ค. ๋ฐ์ดํฐ ์์ฑ์ .buildNoiseData
ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๋ชจ๋ธ์ .test
ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ก์ ๋ฒกํฐ๋ฅผ ์
๋ ฅ๋ฐ์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํฉ๋๋ค.
num_images = 64
noise, _ = model.buildNoiseData(num_images)
with torch.no_grad():
generated_images = model.test(noise)
# torchvision ๊ณผ matplotlib ๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์ด๋ฏธ์ง๋ค์ ์๊ฐํํฉ๋๋ค.
import matplotlib.pyplot as plt
import torchvision
plt.imshow(torchvision.utils.make_grid(generated_images).permute(1, 2, 0).cpu().numpy())
# plt.show()
์ผ์ชฝ์ ์๋ ์ด๋ฏธ์ง์ ์ ์ฌํ๋ค๋๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
๋ง์ฝ ์๊ธฐ๋ง์ DCGAN๊ณผ ๋ค๋ฅธ GAN์ ์ฒ์๋ถํฐ ํ์ต์ํค๊ณ ์ถ๋ค๋ฉด, PyTorch GAN Zoo ๋ฅผ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
์ปดํจํฐ ๋น์ ๋ถ์ผ์์ ์์ฑ ๋ชจ๋ธ์ ์ฃผ์ด์ง ์ ๋ ฅ์ ๋ํ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋๋ก ํ๋ จ๋ ๋คํธ์ํฌ(networks)์ ๋๋ค. ๋ณธ ์์ ์์๋ ๋ฌด์์ ๋ฒกํฐ์ ์ค์ ์ด๋ฏธ์ง ์์ฑ ๊ฐ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๋ GANs (Generative Adversarial Networks) ์ผ๋ก ํน์ ์ข ๋ฅ์ ์์ฑ ๋คํธ์ํฌ๋ฅผ ์ดํด๋ด ๋๋ค.
DCGAN์ 2015๋ Radford ๋ฑ์ด ์ค๊ณํ ๋ชจ๋ธ ๊ตฌ์กฐ์ ๋๋ค. ์์ธํ ๋ด์ฉ์ Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks ๋ ผ๋ฌธ์์ ํ์ธํ ์ ์์ต๋๋ค. ๋ชจ๋ธ์ GAN ๊ตฌ์กฐ์ด๋ฉฐ ์ ํด์๋ ์ด๋ฏธ์ง (์ต๋ 64x64) ์์ฑ์ ๋งค์ฐ ๊ฐํธํ๊ณ ํจ์จ์ ์ ๋๋ค.
- ํ์ฌ๋ ์ค์ง Python 3 ์์๋ง ์ง์๋ฉ๋๋ค.