Skip to content

Commit

Permalink
fix typo, beginner_source/dcgan_faces_tutorial.py (#863)
Browse files Browse the repository at this point in the history
  • Loading branch information
rumjie authored Sep 1, 2024
1 parent fb7a1b7 commit 7cbf1a1
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions beginner_source/dcgan_faces_tutorial.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@
# - ``ngf`` - ์ƒ์„ฑ์ž๋ฅผ ํ†ต๊ณผํ•  ๋•Œ ๋งŒ๋“ค์–ด์งˆ ํŠน์ง• ๋ฐ์ดํ„ฐ์˜ ์ฑ„๋„ ์ˆ˜์ž…๋‹ˆ๋‹ค.
# - ``ndf`` - ๊ตฌ๋ถ„์ž๋ฅผ ํ†ต๊ณผํ•  ๋•Œ ๋งŒ๋“ค์–ด์งˆ ํŠน์ง• ๋ฐ์ดํ„ฐ์˜ ์ฑ„๋„ ์ˆ˜์ž…๋‹ˆ๋‹ค.
# - ``num_epochs`` - ํ•™์Šต์‹œํ‚ฌ ์—ํญ(epoch) ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•™์Šต์„
# ๊ธธ๊ฒŒํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€๋ถ€๋ถ„ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ด์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ์‹œ๊ฐ„ ๋˜ํ•œ
# ๊ธธ๊ฒŒ ํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€๋ถ€๋ถ„ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ด์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ์‹œ๊ฐ„ ๋˜ํ•œ
# ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.
# - ``lr`` - ๋ชจ๋ธ์˜ ํ•™์Šต๋ฅ (learning rate)์ž…๋‹ˆ๋‹ค. DCGAN ๋…ผ๋ฌธ์—์„œ์™€ ๊ฐ™์ด 0.0002๋กœ
# ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
Expand Down Expand Up @@ -211,7 +211,7 @@
# ๋ณธ ํŠœํ† ๋ฆฌ์–ผ์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋Š” `Celeb-A Faces
# dataset <http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html>`__ ๋กœ, ํ•ด๋‹น ๋งํฌ๋ฅผ ์ด์šฉํ•˜๊ฑฐ๋‚˜ `Google
# Drive <https://drive.google.com/drive/folders/0B7EVK8r0v71pTUZsaXdaSnZBZzg>`__ ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
# ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์œผ๋ฉด ``img_align_celeba.zip`` ๋ผ๋Š” ํŒŒ์ผ์„ ๋ณด๊ฒŒ๋  ๊ฒ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ๊ฐ€ ๋๋‚˜๋ฉด
# ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์œผ๋ฉด ``img_align_celeba.zip`` ๋ผ๋Š” ํŒŒ์ผ์„ ๋ณด๊ฒŒ ๋  ๊ฒ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ๊ฐ€ ๋๋‚˜๋ฉด
# ``celeba`` ์ด๋ผ๋Š” ํด๋”๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ , ํ•ด๋‹น ํด๋”์— ํ•ด๋‹น zip ํŒŒ์ผ์„ ์••์ถ•ํ•ด์ œ ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
# ์••์ถ• ํ•ด์ œ ํ›„, ์œ„์—์„œ ์ •์˜ํ•œ ``dataroot`` ๋ณ€์ˆ˜์— ๋ฐฉ๊ธˆ ๋งŒ๋“  ``celeba`` ํด๋”์˜ ๊ฒฝ๋กœ๋ฅผ ๋„ฃ์–ด์ฃผ์„ธ์š”.
# ์œ„์˜ ์ž‘์—…์ด ๋๋‚˜๋ฉด ``celeba`` ํด๋”์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค:
Expand Down Expand Up @@ -270,7 +270,7 @@
# ~~~~~~~~~~~~~~~~
#
# DCGAN ๋…ผ๋ฌธ์—์„œ๋Š”, ํ‰๊ท ์ด 0( ``mean=0`` )์ด๊ณ  ๋ถ„์‚ฐ์ด 0.02( ``stdev=0.02`` )์ธ
# ์ •๊ทœ๋ถ„ํฌ์„ ์‹œ์šฉํ•ด, ๊ตฌ๋ถ„์ž์™€ ์ƒ์„ฑ์ž ๋ชจ๋‘ ๋ฌด์ž‘์œ„ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
# ์ •๊ทœ๋ถ„ํฌ๋ฅผ ์‚ฌ์šฉํ•ด, ๊ตฌ๋ถ„์ž์™€ ์ƒ์„ฑ์ž ๋ชจ๋‘ ๋ฌด์ž‘์œ„ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
# ``weights_init`` ํ•จ์ˆ˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ชจ๋ธ์„ ์ž…๋ ฅ๋ฐ›์•„,
# ๋ชจ๋“  ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต, ์ „์น˜ ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต, ๋ฐฐ์น˜ ์ •๊ทœํ™” ๊ณ„์ธต์„, ์œ„์—์„œ ๋งํ•œ ์กฐ๊ฑด๋Œ€๋กœ
# ๊ฐ€์ค‘์น˜๋“ค์„ ๋‹ค์‹œ ์ดˆ๊ธฐํ™” ์‹œํ‚ต๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ๋ชจ๋ธ์ด ๋งŒ๋“ค์–ด์ง€์ž ๋งˆ์ž ๋ฐ”๋กœ ์ ์šฉ์„
Expand All @@ -293,7 +293,7 @@ def weights_init(m):
# ์ƒ์„ฑ์ž :math:`G` ๋Š” ์ž ์žฌ ๊ณต๊ฐ„ ๋ฒกํ„ฐ :math:`z` ๋ฅผ, ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์œผ๋กœ
# ๋ณ€ํ™˜์‹œํ‚ค๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ผ ํ•จ์€ ์ด๋ฏธ์ง€์ด๊ธฐ ๋•Œ๋ฌธ์—,
# :math:`z` ๋ฅผ ๋ฐ์ดํ„ฐ๊ณต๊ฐ„์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค๋Š” ๋œป์€, ํ•™์Šต์ด๋ฏธ์ง€์™€ ๊ฐ™์€ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ฐ€์ง„
# RGB ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š”๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค (์˜ˆ.ย 3x64x64).
# RGB ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค (์˜ˆ.ย 3x64x64).
# ์‹ค์ œ ๋ชจ๋ธ์—์„œ๋Š” ์ŠคํŠธ๋ผ์ด๋“œ(stride) 2๋ฅผ ๊ฐ€์ง„ ์ „์น˜ ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต๋“ค์„ ์ด์–ด์„œ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ,
# ๊ฐ ์ „์น˜ ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต ํ•˜๋‚˜๋‹น 2์ฐจ์› ๋ฐฐ์น˜ ์ •๊ทœํ™” ๊ณ„์ธต๊ณผ relu ํ™œ์„ฑํ•จ์ˆ˜๋ฅผ ํ•œ ์Œ์œผ๋กœ ๋ฌถ์–ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
# ์ƒ์„ฑ์ž์˜ ๋งˆ์ง€๋ง‰ ์ถœ๋ ฅ ๊ณ„์ธต์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ tanh ํ•จ์ˆ˜์— ํ†ต๊ณผ์‹œํ‚ค๋Š”๋ฐ,
Expand Down Expand Up @@ -454,7 +454,7 @@ def forward(self, input):
# ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ์š”์†Œ๋“ค๋งŒ ๊ณจ๋ผ๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋จผ์ €์ž…๋‹ˆ๋‹ค (์˜ˆ.ย GT labels).
#
# ์ข‹์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฐธ ๋ผ๋ฒจ (ํ˜น์€ ์ •๋‹ต)์€ 1๋กœ ๋‘๊ณ , ๊ฑฐ์ง“ ๋ผ๋ฒจ (ํ˜น์€ ์˜ค๋‹ต)์€ 0์œผ๋กœ
# ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ผ๋ฒจ์˜ ๊ฐ’์„ ์ •ํ•œ๊ฑด GAN ๋…ผ๋ฌธ์—์„œ ์‚ฌ์šฉ๋œ ๊ฐ’๋“ค๋กœ, GAN์„ ๊ตฌ์„ฑํ• ๋•Œ์˜ ๊ด€๋ก€๋ผ ํ• 
# ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ผ๋ฒจ์˜ ๊ฐ’์„ ์ •ํ•œ ๊ฑด GAN ๋…ผ๋ฌธ์—์„œ ์‚ฌ์šฉ๋œ ๊ฐ’๋“ค๋กœ, GAN์„ ๊ตฌ์„ฑํ• ๋•Œ์˜ ๊ด€๋ก€๋ผ ํ• 
# ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ์ •ํ•œ ๋ผ๋ฒจ ๊ฐ’๋“ค์€ ์ถ”ํ›„์— ์†์‹ค๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋ ๊ฒ๋‹ˆ๋‹ค.
# ๋งˆ์ง€๋ง‰์œผ๋กœ, ์„œ๋กœ ๊ตฌ๋ถ„๋˜๋Š” ๋‘ ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ๊ตฌ์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” :math:`D` ๋ฅผ ์œ„ํ•œ ๊ฒƒ,
# ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” :math:`G` ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. DCGAN์— ์„œ์ˆ ๋œ ๋Œ€๋กœ, ๋‘ ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ๋ชจ๋‘ Adam์„ ์‚ฌ์šฉํ•˜๊ณ ,
Expand Down Expand Up @@ -490,7 +490,7 @@ def forward(self, input):
# ๊ทธ๋Ÿฌํ•œ ์ด์œ ๋กœ, ๋ณธ ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” `Goodfellowโ€™s paper <https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf>`__
# ์—์„œ ์„œ์ˆ ๋œ Algorithm 1์„ ๊ธฐ๋ฐ˜์œผ๋กœ, `ganhacks <https://github.com/soumith/ganhacks>`__ ์—์„œ ์‚ฌ์šฉ๋œ ๋ช‡๊ฐ€์ง€ ๊ดœ์ฐฎ์€ ํ…Œํฌ๋‹‰๋“ค์„
# ๋”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•ž์„œ ๋ช‡๋ฒˆ ์„ค๋ช…ํ–ˆ์ง€๋งŒ, ์šฐ๋ฆฌ์˜ ์˜๋„๋Š” โ€œ์ง„์งœ ํ˜น์€ ๊ฐ€์งœ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์„ฑโ€ํ•˜๊ณ ,
# :math:`log(D(G(z)))` ๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” G์˜ ๋ชฉ์ ํ•จ์ˆ˜๋ฅผ ์ตœ์ ํ™” ์‹œํ‚ค๋Š” ๊ฒ๋‹ˆ๋‹ค. ํ•™์Šต๊ณผ์ •์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
# :math:`log(D(G(z)))` ๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” G์˜ ๋ชฉ์ ํ•จ์ˆ˜๋ฅผ ์ตœ์ ํ™” ์‹œํ‚ค๋Š” ๊ฒ๋‹ˆ๋‹ค. ํ•™์Šต๊ณผ์ •์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
# Part 1์€ ๊ตฌ๋ถ„์ž๋ฅผ, Part 2๋Š” ์ƒ์„ฑ์ž๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.
#
# **Part 1 - ๊ตฌ๋ถ„์ž์˜ ํ•™์Šต**
Expand All @@ -499,11 +499,11 @@ def forward(self, input):
# Goodfellow์˜ ๋ง์„ ๋นŒ๋ฆฌ์ž๋ฉด, ๊ตฌ๋ถ„์ž๋Š” โ€œ๋ณ€ํ™”๋„(gradient)๋ฅผ ์ƒ์Šน(ascending)์‹œํ‚ค๋ฉฐ ํ›ˆ๋ จโ€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
# ์‹ค์ „์ ์œผ๋กœ ์–˜๊ธฐํ•˜๋ฉด, :math:`log(D(x)) + log(1-D(G(z)))` ๋ฅผ ์ตœ๋Œ€ํ™”์‹œํ‚ค๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
# `ganhacks <https://github.com/soumith/ganhacks>`__ ์—์„œ ๋ฏธ๋‹ˆ ๋ฐฐ์น˜(mini-batch)๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉํ•œ ๊ฐœ๋…์„ ๊ฐ€์ ธ์™€์„œ,
# ์šฐ๋ฆฌ ์—ญ์‹œ ๋‘๊ฐ€์ง€ ์Šคํ…์œผ๋กœ ๋ถ„๋ฆฌํ•ด ๊ณ„์‚ฐ์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ €,
# ์šฐ๋ฆฌ ์—ญ์‹œ ๋‘ ๊ฐ€์ง€ ์Šคํ…์œผ๋กœ ๋ถ„๋ฆฌํ•ด ๊ณ„์‚ฐ์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ €,
# ์ง„์งœ ๋ฐ์ดํ„ฐ๋“ค๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์น˜๋ฅผ ๋งŒ๋“ค์–ด :math:`D` ์— ํ†ต๊ณผ์‹œํ‚ต๋‹ˆ๋‹ค. ๊ทธ ์ถœ๋ ฅ๊ฐ’์œผ๋กœ (:math:`log(D(x))`) ์˜ ์†์‹ค๊ฐ’์„ ๊ณ„์‚ฐํ•˜๊ณ ,
# ์—ญ์ „ํŒŒ ๊ณผ์ •์—์„œ์˜ ๋ณ€ํ™”๋„๋“ค์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ ์ฒซ๋ฒˆ์งธ ์Šคํ…์ž…๋‹ˆ๋‹ค. ๋‘๋ฒˆ์งธ ์Šคํ…์—์„œ๋Š”, ์˜ค๋กœ์ง€ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋“ค๋กœ๋งŒ
# ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์น˜๋ฅผ ๋งŒ๋“ค์–ด :math:`D` ์— ํ†ต๊ณผ์‹œํ‚ค๊ณ , ๊ทธ ์ถœ๋ ฅ๊ฐ’์œผ๋กœ (:math:`log(1-D(G(z)))`) ์˜ ์†์‹ค๊ฐ’์„ ๊ณ„์‚ฐํ•ด
# ์—ญ์ „ํŒŒ ๋ณ€ํ™”๋„๋ฅผ ๊ตฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๋‘๊ฐ€์ง€ ์Šคํ…์—์„œ ๋‚˜์˜ค๋Š” ๋ณ€ํ™”๋„๋“ค์€ *์ถ•์ (accumulate)* ์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
# ์—ญ์ „ํŒŒ ๋ณ€ํ™”๋„๋ฅผ ๊ตฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๋‘ ๊ฐ€์ง€ ์Šคํ…์—์„œ ๋‚˜์˜ค๋Š” ๋ณ€ํ™”๋„๋“ค์€ *์ถ•์ (accumulate)* ์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
# ๋ณ€ํ™”๋„๊นŒ์ง€ ๊ตฌํ–ˆ์œผ๋‹ˆ, ์ด์ œ ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ์‚ฌ์šฉํ•ด์•ผ๊ฒ ์ฃ . ํŒŒ์ดํ† ์น˜์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์ฃผ๋ฉด ์•Œ์•„์„œ ๋ณ€ํ™”๋„๊ฐ€ ์ ์šฉ๋ ๊ฒ๋‹ˆ๋‹ค.
#
# **Part 2 - ์ƒ์„ฑ์ž์˜ ํ•™์Šต**
Expand Down

0 comments on commit 7cbf1a1

Please sign in to comment.