Skip to content

Commit 7cbf1a1

Browse files
authored
fix typo, beginner_source/dcgan_faces_tutorial.py (#863)
1 parent fb7a1b7 commit 7cbf1a1

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

โ€Žbeginner_source/dcgan_faces_tutorial.pyโ€Ž

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@
156156
# - ``ngf`` - ์ƒ์„ฑ์ž๋ฅผ ํ†ต๊ณผํ•  ๋•Œ ๋งŒ๋“ค์–ด์งˆ ํŠน์ง• ๋ฐ์ดํ„ฐ์˜ ์ฑ„๋„ ์ˆ˜์ž…๋‹ˆ๋‹ค.
157157
# - ``ndf`` - ๊ตฌ๋ถ„์ž๋ฅผ ํ†ต๊ณผํ•  ๋•Œ ๋งŒ๋“ค์–ด์งˆ ํŠน์ง• ๋ฐ์ดํ„ฐ์˜ ์ฑ„๋„ ์ˆ˜์ž…๋‹ˆ๋‹ค.
158158
# - ``num_epochs`` - ํ•™์Šต์‹œํ‚ฌ ์—ํญ(epoch) ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•™์Šต์„
159-
# ๊ธธ๊ฒŒํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€๋ถ€๋ถ„ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ด์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ์‹œ๊ฐ„ ๋˜ํ•œ
159+
# ๊ธธ๊ฒŒ ํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€๋ถ€๋ถ„ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ด์ง€๋งŒ, ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ์‹œ๊ฐ„ ๋˜ํ•œ
160160
# ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.
161161
# - ``lr`` - ๋ชจ๋ธ์˜ ํ•™์Šต๋ฅ (learning rate)์ž…๋‹ˆ๋‹ค. DCGAN ๋…ผ๋ฌธ์—์„œ์™€ ๊ฐ™์ด 0.0002๋กœ
162162
# ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
@@ -211,7 +211,7 @@
211211
# ๋ณธ ํŠœํ† ๋ฆฌ์–ผ์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋Š” `Celeb-A Faces
212212
# dataset <http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html>`__ ๋กœ, ํ•ด๋‹น ๋งํฌ๋ฅผ ์ด์šฉํ•˜๊ฑฐ๋‚˜ `Google
213213
# Drive <https://drive.google.com/drive/folders/0B7EVK8r0v71pTUZsaXdaSnZBZzg>`__ ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
214-
# ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์œผ๋ฉด ``img_align_celeba.zip`` ๋ผ๋Š” ํŒŒ์ผ์„ ๋ณด๊ฒŒ๋  ๊ฒ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ๊ฐ€ ๋๋‚˜๋ฉด
214+
# ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์œผ๋ฉด ``img_align_celeba.zip`` ๋ผ๋Š” ํŒŒ์ผ์„ ๋ณด๊ฒŒ ๋  ๊ฒ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ๊ฐ€ ๋๋‚˜๋ฉด
215215
# ``celeba`` ์ด๋ผ๋Š” ํด๋”๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ , ํ•ด๋‹น ํด๋”์— ํ•ด๋‹น zip ํŒŒ์ผ์„ ์••์ถ•ํ•ด์ œ ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
216216
# ์••์ถ• ํ•ด์ œ ํ›„, ์œ„์—์„œ ์ •์˜ํ•œ ``dataroot`` ๋ณ€์ˆ˜์— ๋ฐฉ๊ธˆ ๋งŒ๋“  ``celeba`` ํด๋”์˜ ๊ฒฝ๋กœ๋ฅผ ๋„ฃ์–ด์ฃผ์„ธ์š”.
217217
# ์œ„์˜ ์ž‘์—…์ด ๋๋‚˜๋ฉด ``celeba`` ํด๋”์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค:
@@ -270,7 +270,7 @@
270270
# ~~~~~~~~~~~~~~~~
271271
#
272272
# DCGAN ๋…ผ๋ฌธ์—์„œ๋Š”, ํ‰๊ท ์ด 0( ``mean=0`` )์ด๊ณ  ๋ถ„์‚ฐ์ด 0.02( ``stdev=0.02`` )์ธ
273-
# ์ •๊ทœ๋ถ„ํฌ์„ ์‹œ์šฉํ•ด, ๊ตฌ๋ถ„์ž์™€ ์ƒ์„ฑ์ž ๋ชจ๋‘ ๋ฌด์ž‘์œ„ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
273+
# ์ •๊ทœ๋ถ„ํฌ๋ฅผ ์‚ฌ์šฉํ•ด, ๊ตฌ๋ถ„์ž์™€ ์ƒ์„ฑ์ž ๋ชจ๋‘ ๋ฌด์ž‘์œ„ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
274274
# ``weights_init`` ํ•จ์ˆ˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ชจ๋ธ์„ ์ž…๋ ฅ๋ฐ›์•„,
275275
# ๋ชจ๋“  ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต, ์ „์น˜ ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต, ๋ฐฐ์น˜ ์ •๊ทœํ™” ๊ณ„์ธต์„, ์œ„์—์„œ ๋งํ•œ ์กฐ๊ฑด๋Œ€๋กœ
276276
# ๊ฐ€์ค‘์น˜๋“ค์„ ๋‹ค์‹œ ์ดˆ๊ธฐํ™” ์‹œํ‚ต๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ๋ชจ๋ธ์ด ๋งŒ๋“ค์–ด์ง€์ž ๋งˆ์ž ๋ฐ”๋กœ ์ ์šฉ์„
@@ -293,7 +293,7 @@ def weights_init(m):
293293
# ์ƒ์„ฑ์ž :math:`G` ๋Š” ์ž ์žฌ ๊ณต๊ฐ„ ๋ฒกํ„ฐ :math:`z` ๋ฅผ, ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์œผ๋กœ
294294
# ๋ณ€ํ™˜์‹œํ‚ค๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ผ ํ•จ์€ ์ด๋ฏธ์ง€์ด๊ธฐ ๋•Œ๋ฌธ์—,
295295
# :math:`z` ๋ฅผ ๋ฐ์ดํ„ฐ๊ณต๊ฐ„์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค๋Š” ๋œป์€, ํ•™์Šต์ด๋ฏธ์ง€์™€ ๊ฐ™์€ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ฐ€์ง„
296-
# RGB ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š”๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค (์˜ˆ.ย 3x64x64).
296+
# RGB ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค (์˜ˆ.ย 3x64x64).
297297
# ์‹ค์ œ ๋ชจ๋ธ์—์„œ๋Š” ์ŠคํŠธ๋ผ์ด๋“œ(stride) 2๋ฅผ ๊ฐ€์ง„ ์ „์น˜ ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต๋“ค์„ ์ด์–ด์„œ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ,
298298
# ๊ฐ ์ „์น˜ ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต ํ•˜๋‚˜๋‹น 2์ฐจ์› ๋ฐฐ์น˜ ์ •๊ทœํ™” ๊ณ„์ธต๊ณผ relu ํ™œ์„ฑํ•จ์ˆ˜๋ฅผ ํ•œ ์Œ์œผ๋กœ ๋ฌถ์–ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
299299
# ์ƒ์„ฑ์ž์˜ ๋งˆ์ง€๋ง‰ ์ถœ๋ ฅ ๊ณ„์ธต์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ tanh ํ•จ์ˆ˜์— ํ†ต๊ณผ์‹œํ‚ค๋Š”๋ฐ,
@@ -454,7 +454,7 @@ def forward(self, input):
454454
# ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ์š”์†Œ๋“ค๋งŒ ๊ณจ๋ผ๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋จผ์ €์ž…๋‹ˆ๋‹ค (์˜ˆ.ย GT labels).
455455
#
456456
# ์ข‹์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฐธ ๋ผ๋ฒจ (ํ˜น์€ ์ •๋‹ต)์€ 1๋กœ ๋‘๊ณ , ๊ฑฐ์ง“ ๋ผ๋ฒจ (ํ˜น์€ ์˜ค๋‹ต)์€ 0์œผ๋กœ
457-
# ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ผ๋ฒจ์˜ ๊ฐ’์„ ์ •ํ•œ๊ฑด GAN ๋…ผ๋ฌธ์—์„œ ์‚ฌ์šฉ๋œ ๊ฐ’๋“ค๋กœ, GAN์„ ๊ตฌ์„ฑํ• ๋•Œ์˜ ๊ด€๋ก€๋ผ ํ• 
457+
# ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ผ๋ฒจ์˜ ๊ฐ’์„ ์ •ํ•œ ๊ฑด GAN ๋…ผ๋ฌธ์—์„œ ์‚ฌ์šฉ๋œ ๊ฐ’๋“ค๋กœ, GAN์„ ๊ตฌ์„ฑํ• ๋•Œ์˜ ๊ด€๋ก€๋ผ ํ• 
458458
# ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ์ •ํ•œ ๋ผ๋ฒจ ๊ฐ’๋“ค์€ ์ถ”ํ›„์— ์†์‹ค๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋ ๊ฒ๋‹ˆ๋‹ค.
459459
# ๋งˆ์ง€๋ง‰์œผ๋กœ, ์„œ๋กœ ๊ตฌ๋ถ„๋˜๋Š” ๋‘ ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ๊ตฌ์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” :math:`D` ๋ฅผ ์œ„ํ•œ ๊ฒƒ,
460460
# ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” :math:`G` ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. DCGAN์— ์„œ์ˆ ๋œ ๋Œ€๋กœ, ๋‘ ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ๋ชจ๋‘ Adam์„ ์‚ฌ์šฉํ•˜๊ณ ,
@@ -490,7 +490,7 @@ def forward(self, input):
490490
# ๊ทธ๋Ÿฌํ•œ ์ด์œ ๋กœ, ๋ณธ ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” `Goodfellowโ€™s paper <https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf>`__
491491
# ์—์„œ ์„œ์ˆ ๋œ Algorithm 1์„ ๊ธฐ๋ฐ˜์œผ๋กœ, `ganhacks <https://github.com/soumith/ganhacks>`__ ์—์„œ ์‚ฌ์šฉ๋œ ๋ช‡๊ฐ€์ง€ ๊ดœ์ฐฎ์€ ํ…Œํฌ๋‹‰๋“ค์„
492492
# ๋”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•ž์„œ ๋ช‡๋ฒˆ ์„ค๋ช…ํ–ˆ์ง€๋งŒ, ์šฐ๋ฆฌ์˜ ์˜๋„๋Š” โ€œ์ง„์งœ ํ˜น์€ ๊ฐ€์งœ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์„ฑโ€ํ•˜๊ณ ,
493-
# :math:`log(D(G(z)))` ๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” G์˜ ๋ชฉ์ ํ•จ์ˆ˜๋ฅผ ์ตœ์ ํ™” ์‹œํ‚ค๋Š” ๊ฒ๋‹ˆ๋‹ค. ํ•™์Šต๊ณผ์ •์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
493+
# :math:`log(D(G(z)))` ๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” G์˜ ๋ชฉ์ ํ•จ์ˆ˜๋ฅผ ์ตœ์ ํ™” ์‹œํ‚ค๋Š” ๊ฒ๋‹ˆ๋‹ค. ํ•™์Šต๊ณผ์ •์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
494494
# Part 1์€ ๊ตฌ๋ถ„์ž๋ฅผ, Part 2๋Š” ์ƒ์„ฑ์ž๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.
495495
#
496496
# **Part 1 - ๊ตฌ๋ถ„์ž์˜ ํ•™์Šต**
@@ -499,11 +499,11 @@ def forward(self, input):
499499
# Goodfellow์˜ ๋ง์„ ๋นŒ๋ฆฌ์ž๋ฉด, ๊ตฌ๋ถ„์ž๋Š” โ€œ๋ณ€ํ™”๋„(gradient)๋ฅผ ์ƒ์Šน(ascending)์‹œํ‚ค๋ฉฐ ํ›ˆ๋ จโ€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
500500
# ์‹ค์ „์ ์œผ๋กœ ์–˜๊ธฐํ•˜๋ฉด, :math:`log(D(x)) + log(1-D(G(z)))` ๋ฅผ ์ตœ๋Œ€ํ™”์‹œํ‚ค๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
501501
# `ganhacks <https://github.com/soumith/ganhacks>`__ ์—์„œ ๋ฏธ๋‹ˆ ๋ฐฐ์น˜(mini-batch)๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉํ•œ ๊ฐœ๋…์„ ๊ฐ€์ ธ์™€์„œ,
502-
# ์šฐ๋ฆฌ ์—ญ์‹œ ๋‘๊ฐ€์ง€ ์Šคํ…์œผ๋กœ ๋ถ„๋ฆฌํ•ด ๊ณ„์‚ฐ์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ €,
502+
# ์šฐ๋ฆฌ ์—ญ์‹œ ๋‘ ๊ฐ€์ง€ ์Šคํ…์œผ๋กœ ๋ถ„๋ฆฌํ•ด ๊ณ„์‚ฐ์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ €,
503503
# ์ง„์งœ ๋ฐ์ดํ„ฐ๋“ค๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์น˜๋ฅผ ๋งŒ๋“ค์–ด :math:`D` ์— ํ†ต๊ณผ์‹œํ‚ต๋‹ˆ๋‹ค. ๊ทธ ์ถœ๋ ฅ๊ฐ’์œผ๋กœ (:math:`log(D(x))`) ์˜ ์†์‹ค๊ฐ’์„ ๊ณ„์‚ฐํ•˜๊ณ ,
504504
# ์—ญ์ „ํŒŒ ๊ณผ์ •์—์„œ์˜ ๋ณ€ํ™”๋„๋“ค์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ ์ฒซ๋ฒˆ์งธ ์Šคํ…์ž…๋‹ˆ๋‹ค. ๋‘๋ฒˆ์งธ ์Šคํ…์—์„œ๋Š”, ์˜ค๋กœ์ง€ ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋“ค๋กœ๋งŒ
505505
# ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์น˜๋ฅผ ๋งŒ๋“ค์–ด :math:`D` ์— ํ†ต๊ณผ์‹œํ‚ค๊ณ , ๊ทธ ์ถœ๋ ฅ๊ฐ’์œผ๋กœ (:math:`log(1-D(G(z)))`) ์˜ ์†์‹ค๊ฐ’์„ ๊ณ„์‚ฐํ•ด
506-
# ์—ญ์ „ํŒŒ ๋ณ€ํ™”๋„๋ฅผ ๊ตฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๋‘๊ฐ€์ง€ ์Šคํ…์—์„œ ๋‚˜์˜ค๋Š” ๋ณ€ํ™”๋„๋“ค์€ *์ถ•์ (accumulate)* ์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
506+
# ์—ญ์ „ํŒŒ ๋ณ€ํ™”๋„๋ฅผ ๊ตฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๋‘ ๊ฐ€์ง€ ์Šคํ…์—์„œ ๋‚˜์˜ค๋Š” ๋ณ€ํ™”๋„๋“ค์€ *์ถ•์ (accumulate)* ์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
507507
# ๋ณ€ํ™”๋„๊นŒ์ง€ ๊ตฌํ–ˆ์œผ๋‹ˆ, ์ด์ œ ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ์‚ฌ์šฉํ•ด์•ผ๊ฒ ์ฃ . ํŒŒ์ดํ† ์น˜์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์ฃผ๋ฉด ์•Œ์•„์„œ ๋ณ€ํ™”๋„๊ฐ€ ์ ์šฉ๋ ๊ฒ๋‹ˆ๋‹ค.
508508
#
509509
# **Part 2 - ์ƒ์„ฑ์ž์˜ ํ•™์Šต**

0 commit comments

Comments
ย (0)