(5๊ฐ•) Model 1

210825

๋ชจ๋ธ์ด๋ž€, ๊ฐ์ฒด๋‚˜ ์‚ฌ๋žŒ ๋˜๋Š” ์‹œ์Šคํ…œ๋“ฑ์˜ ์ •๋ณด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ชจํ˜•์„ ์˜๋ฏธํ•œ๋‹ค.

์œ„ํ‚คํ”ผ๋””์•„

PyTorch

ํŒŒ์ดํ† ์น˜์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ ์€ ์ž์œ ๋„๊ฐ€ ๋†’๊ณ (=ํŒŒ์ดํ† ๋‹‰ํ•˜๋‹ค) ์—ฐ๊ตฌํ•˜๊ธฐ ์ข‹์€ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. ๋˜, ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•˜๊ธฐ์— ๊ต‰์žฅํžˆ ์ข‹๋‹ค. ๋‹ค์ด๋‚˜๋ฏนํ•˜๊ฒŒ ์‹คํ–‰ํ•ด๋ณผ ์ˆ˜ ์žˆ๊ธฐ ๋–„๋ฌธ์ด๋‹ค. ํŒŒ์ดํ† ์น˜์˜ ์Šฌ๋กœ๊ฑด์€ ์—ฐ๊ตฌ์—์„œ๋ถ€ํ„ฐ ์ถœ์‹œ๊นŒ์ง€(From Research To Production)

ํŒŒ์ดํ† ์น˜์˜ ์ฒ ํ•™์€ ๋กœ์šฐ๋ ˆ๋ฒจ์˜ ์–ธ์–ด์ด๊ณ  ํŒŒ์ดํ† ๋‹‰ํ•˜๋ฉฐ ์œ ์—ฐ์„ฑ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ.

๋ฆฌ๋ชจ์ปจ์€ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ๋ฉด ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์™„์ œํ’ˆ. ํšŒ๋กœ๋„ ๋ฆฌ๋ชจ์ปจ๊ณผ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ํ•˜์ง€๋งŒ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค. ๋˜, ๋ฆฌ๋ชจ์ปจ์ด๋ผ๊ณ  ๋ง์„ ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ๋ฆฌ๋ชจ์ปจ์˜ ๊ธฐ๋Šฅ์„ ํ•˜๋Š”์ง€๋„ ์•Œ ์ˆ˜ ์—†๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์žฅ์ ๋„ ์žˆ๋‹ค. ์™ผ์ชฝ ๋ฆฌ๋ชจ์ปจ์€ ์ •ํ•ด์ง„ ๊ธฐ๋Šฅ๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ „์›์„ ๋„๋ฉด์„œ ์†Œ๋ฆฌ๊ฐ€ ๋‚˜๊ฒŒ ํ•œ๋‹ค๋˜๊ฐ€, ์ฑ„๋„์„ 3์นธ์”ฉ ์˜ฎ๊ธด๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ์ผ์„ ํ•  ์ˆ˜ ์—†์ง€๋งŒ ์˜ค๋ฅธ์ชฝ ๋ฆฌ๋ชจ์ปจ์€ ํ™œ์šฉ๋„์™€ ์ž ์žฌ๋ ฅ์ด ๋งŽ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฌํ•œ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํŒŒ์ดํ† ์น˜๋Š” ์˜ค๋ฅธ์ชฝ ํšŒ๋กœ์™€ ๊ฐ™๋‹ค. ์‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ. ์ฃผ๋กœ ์ผ€๋ผ์Šค๊ฐ™์€ ์–ธ์–ด๊ฐ€ ์™ผ์ชฝ ๋ฆฌ๋ชจ์ปจ๊ฐ™์€ ํŠน์ง•์„ ๋”ฐ๋ฅด๊ฒŒ ๋œ๋‹ค.

์ผ€๋ผ์Šค๋Š” ํ•™์Šต ๊ณผ์ •์ด ๊ฐ„๋‹จํ•˜์ง€๋งŒ ํŒŒ์ดํ† ์น˜๋Š” ๋ณต์žกํ•ด๋ณด์ธ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž์œ ๋„์— ์žˆ์–ด์„œ๋Š” ๊ทธ๋งŒํผ ํŒŒ์ดํ† ์น˜๊ฐ€ ๋” ๋†’๋‹ค. ์ผ€๋ผ์Šค๋Š” ํ•™์Šต์— ํ•„์š”ํ•œ ๋ช‡๊ฐ€์ง€ ์ˆ˜์ •์‚ฌํ•ญ์„ ์ ์šฉํ•  ๊ฒฝ์šฐ ๊ธฐ์กด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜, ์ƒˆ๋กญ๊ฒŒ ์ •์˜ํ•œ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š”์ง€ ์ฐพ์•„๋ด์•ผ ํ•œ๋‹ค.

  • ๋งˆ์น˜, ์ „์ž์ƒ๊ฐ€์— ๊ฐ€์„œ ์ด๋Ÿฐ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ๋ฆฌ๋ชจ์ปจ์ด ์žˆ๋Š”์ง€ ๋ฌป๊ฑฐ๋‚˜ ์ž์‹ ์ด ์ง์ ‘ ๋ฆฌ๋ชจ์ปจ์„ ๋ถ„ํ•ดํ•˜๊ณ  ์žฌ๊ฒฐํ•ฉํ•ด์„œ ๊ธฐ๋Šฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ์–‘์ด๋‹ค.

nn.Module

ํŒŒ์ดํ† ์น˜๋Š” ๋ชจ๋“  ๋ชจ๋ธ์ด nn.Module ์„ ๋”ฐ๋ฅด๊ฒŒ๋œ๋‹ค. ์ด ๋•Œ ์ด ๋ชจ๋ธ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ›„ .modules() ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋ชจ๋ธ์— ์žˆ๋Š” ๋ชจ๋“ˆ๋“ค์ด ๋ชจ๋‘ ํ˜ธ์ถœ๋œ๋‹ค. ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ๋ชจ๋“ˆ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋ชจ๋“  ๋ชจ๋“ˆ๋“ค์ด ์ด ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ์ด๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค.

์ธ์Šคํ„ด์Šค๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด์„œ ์ธ์ž๋ฅผ ๋„ฃ๊ฒŒ๋˜๋ฉด ์ด๋Š” ๋ชจ๋ธ์˜ forwardํ•จ์ˆ˜์˜ ์ธ์ž๋ฅผ ๋„ฃ์€๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ณ๋Š”๋‹ค. nn.Module์„ ์ƒ์†๋ฐ›์œผ๋ฉด์„œ ์ธ์Šคํ„ด์Šค์™€ forwardํ•จ์ˆ˜๊ฐ„์˜ ์—ฐ๊ฒฐ์ด ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค

์ฆ‰, nn.Module ์„ ์ƒ์†ํ•˜๋Š” ๊ฒƒ์˜ ์žฅ์ ์€ ๋‹จ์ˆœํžˆ ์ธ์Šคํ„ด์Šค์™€ forwardํ•จ์ˆ˜๊ฐ„์˜ ์—ฐ๊ฒฐ๋ฟ๋งŒ ์•„๋‹ˆ๋‹ค. ๋ชจ๋ธ์•ˆ์— ๋ชจ๋“  ๋ชจ๋“ˆ๋“ค์ด ๋ชจ๋‘ nn.Module ์„ ์ƒ์†๋ฐ›๊ณ  ๋ชจ๋‘ forward ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋ชจ๋ธ์˜ forwardํ•จ์ˆ˜๋ฅผ ํ•œ๋ฒˆ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ชจ๋ธ์˜ forward๊ฐ€ ์ •์˜๋œ ๋ชจ๋“ˆ ๊ฐ๊ฐ์˜ forwardํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋œ๋‹ค.

Parameters

model.state_dict() ๋‚˜ model.parameters() ๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” data , grad , requires_grad ๋ณ€์ˆ˜ ๋“ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

Last updated

Was this helpful?