class ModelName(nn.Module):
def __init__(self):
super().__init__()
# ์ฝ๋ ์์ฑ ๋ถ๋ถ
def forward(self):
# ์ฝ๋ ์์ฑ ๋ถ๋ถ
nn.Module
- ๋ชจ๋ ์ ๊ฒฝ๋ง ๋ชจ๋์ ๊ธฐ๋ณธ์ด ๋๋ ํด๋์ค
- ๋ชจ๋ธ ๊ตฌํ ์ ์ด ํด๋์ค๋ฅผ ์์๋ฐ์ ์ฌ์ฉํด์ผ ํจ(should)
- nn.Module ํด๋์ค๋ ๋ค๋ฅธ nn.Module ์์์ ์ฌ์ฉ๋ ์ ์์
- Linear, Dropout, LayerNorm ๋ฑ ๋ชจ๋ธ ์์ฑ์ ์ฐ์ด๋ ์ฌ๋ฌ ๊ธฐ๋ฅ ํฌํจ
__init__
- ์ ๊ฒฝ๋ง ๊ตฌ์ฑ ์์๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉ
- โ super().__init__(): ๋ถ๋ชจ ํด๋์ค(nn.Module)๋ฅผ ํธ์ถํ๋ ์ญํ ๋ก ์ด ๋ถ๋ถ์ ์์ฑํ์ง ์๊ณ self.๋ณ์๋ช = ~ ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์๋ฌ ๋ฐ์
forward
- ๋ชจ๋ธ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ํด forward ์ฐ์ฐ์ ์ํํ๊ณ output์ ๋ฐํ
- __init__ ์์ ์ ์ํ ๋ชจ๋์ ์ฐ๊ฒฐํ๊ฑฐ๋ ๋ชจ๋ ๊ฐ ์ฐ์ฐ์ ์ ์ํ๋ ๋ถ๋ถ
์ฐธ๊ณ ์ฌ์ดํธ
https://wikidocs.net/book/2788
https://pytorch.org/docs/stable/index.html
https://medium.com/dejunhuang/learning-day-22-what-is-nn-module-in-pytorch-ecf8400f411a