PyTorch ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ๋ฐฉ๋ฌธํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ด ๋ฌธ์๋ PyTorch ํ๊ตญ์ด ํํ ๋ฆฌ์ผ์ ๊ธฐ์ฌํ๋ ๋ฐฉ๋ฒ์ ์๋ดํฉ๋๋ค.
๋ณธ ์ ์ฅ์๋ PyTorch ๊ณต์ ํํ ๋ฆฌ์ผ์ ๋ฒ์ญํ๋ ํ๋ก์ ํธ๋ฅผ ์ํ ๊ณณ์ ๋๋ค. ๋ณธ ์ ์ฅ์๋ ๊ณต์ ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ๋ด์ฉ์ ๋น์ ๊ธฐ์ ์ผ๋ก ๋ฐ์ํ๊ณ , ๋ฒ์ญํ๋ฉฐ ๊ฐ์ ํฉ๋๋ค.
ํฌ๊ฒ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ฌ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
- 1. ์คํ์๋ฅผ ์์ ํ๊ฑฐ๋ ๋ฒ์ญ์ ๊ฐ์ ํ๋ ๊ธฐ์ฌ
- ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ฌ์ดํธ์์ ๋ฐ๊ฒฌํ ์คํ์๋ฅผ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ ์ฅ์์์ ๊ณ ์น๋ ๊ธฐ์ฌ์ ๋๋ค.
- 2. ๋ฒ์ญ๋์ง ์์ ํํ ๋ฆฌ์ผ์ ๋ฒ์ญํ๋ ๊ธฐ์ฌ
- ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ฌ์ดํธ์ ์์ง ๋ฒ์ญ๋์ง ์์ ํํ ๋ฆฌ์ผ ๋ฒ์ญํ๋ ๊ธฐ์ฌ์ ๋๋ค.
3. ๊ณต์ ํํ ๋ฆฌ์ผ ๋ด์ฉ์ ๋ฐ์ํ๋ ๊ธฐ์ฌ๊ณต์ ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ๋ด์ฉ์ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ๋ฐ์ํ๋ ๊ธฐ์ฌ์ ๋๋ค.
PyTorch ํ๊ตญ์ด ํํ ๋ฆฌ์ผ์ ๊ณต์ ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ๋์ผํ BSD 3ํญ ๋ผ์ด์ ์ค๋ฅผ ๋ฐ๋ฆ ๋๋ค. ๋ฐ๋ผ์ ๊ธฐ์ฌํ์ ๋ชจ๋ ๋ด์ฉ์ BSD 3ํญ ๋ผ์ด์ ์ค๊ฐ ์ ์ฉ๋จ์ ์ธ์งํ์๊ณ ๋์ํ์๋ ๊ฒฝ์ฐ์๋ง ์๋ ๋ฌธ์ ๋ด์ฉ๊ณผ ๊ฐ์ด ๊ธฐ์ฌํด์ฃผ์ธ์.
๋ชจ๋ ๊ธฐ์ฌ๋ ๋ณธ ์ ์ฅ์์ ์ด์๋ฅผ ๋จ๊ธด ํ Pull Request๋ฅผ ๋ณด๋ด๋ ๊ฒ์ผ๋ก ํฉ๋๋ค. ์ด ๊ณผ์ ์ ํตํด Pull Request๋ฅผ ์ํ Commit์ ๋ง๋ค๊ธฐ ์ ์ ์ด์๋ฅผ ํตํด ํด๋น ๋ด์ฉ์ ๊ธฐ์ฌ๊ฐ ํ์ํ์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ ํ์ํ์ ์ผ ํฉ๋๋ค. (๋ฌผ๋ก ์ด์๋ฅผ ๋จ๊ธฐ์ จ๋ค๊ณ ํด์ ๋ฐ๋์ ํด๋น ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ์ ์ผ ํ๋ ๊ฒ์ ์๋๋, ๋ง์ ํธํ ์ด์๋ฅผ ๋จ๊ฒจ์ฃผ์ธ์. :))
ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ฌ์ดํธ์์ ๋ฐ๊ฒฌํ ์คํ์๋ฅผ ๊ณ ์น๋ ๊ธฐ์ฌ ๋ฐฉ๋ฒ์ ๋๋ค.
(๋งค์ฐ ๋ฎ์ ํ๋ฅ ๋ก) ํด๋น ์คํ์๊ฐ ์๋ํ ๊ฒ์ผ ์ ์์ผ๋, ํด๋น ๋ฌธ์ ์ ์ ๊ณ ์น Pull Request๋ฅผ ์์ฑํ๊ธฐ ์ ์ ๋ณธ ์ ์ฅ์ ์ด์๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ์๋ก ๋จ๊ฒจ์ฃผ์ธ์.
ํด๋น ๋ฌธ์ ์ ์ ๋ํ ๊ฐ์ ์ฌํญ์ด ์ด๋ฏธ ๋ ผ์๋์๊ฑฐ๋ ์งํ ์ค์ธ Pull Request๋ฅผ ํตํด ํด๊ฒฐ ์ค์ผ ์ ์์ผ๋, ๊ฐ๋ฅํ๋ค๋ฉด ๋จผ์ ๊ฒ์์ ํด์ฃผ์๊ธฐ๋ฅผ ๋ถํ๋๋ฆฝ๋๋ค. ์ดํ, ์๋ก ๋จ๊ฒจ์ฃผ์ ์ด์์์ ์ ์ฅ์ ๊ด๋ฆฌ์ ๋ฐ ๋ค๋ฅธ ๋ฐฉ๋ฌธ์๋ค์ด ํจ๊ป ๋ฌธ์ ์ ์ ๋ํด ํ ์ํ ์ ์์ต๋๋ค. (๋๋ ์ด๋ฏธ ๊ด๋ จ ์ด์๊ฐ ์กด์ฌํ์ง๋ง ํด๊ฒฐ ์ค์ด์ง ์์ ๊ฒฝ์ฐ์๋ ๋ง๊ธ์ ํตํด ๊ธฐ์ฌ๋ฅผ ์์ํจ์ ์๋ ค์ฃผ์ธ์.)
์คํ์๋ฅผ ์์ ํ๊ธฐ ์ํด ์ ์ฅ์๋ฅผ ๋ณต์ ํฉ๋๋ค. ์ ์ฅ์ ๋ณต์ ๊ฐ ์ฒ์์ด์๋ผ๋ฉด GitHub์ ์ ์ฅ์ ๋ณต์ ๊ด๋ จ ๋์๋ง์ ์ฐธ์กฐํด์ฃผ์ธ์.
ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ฌ์ดํธ์ ์์ค ์ฝ๋๋ ํํ ๋ฆฌ์ผ ์๋ณธ ๋ฌธ์๋ฅผ ๋น๋ํ ๊ฒฐ๊ณผ๋ฌผ์
๋๋ค.
๋ฐ๋ผ์ ์คํ์ ์์ ์ ์ํด์๋ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ฌ์ดํธ์์ ํํ ๋ฆฌ์ผ ์๋ณธ์ ๊ฒฝ๋ก์ ๋ฌธ์๋ช
์ ํ์ธํ๊ณ ์์ ํด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ํํ ๋ฆฌ์ผ์ ์ฃผ์๊ฐ https://tutorials.pytorch.kr/beginner/deep_learning_60min_blitz.html
๋ผ๋ฉด, ํํ ๋ฆฌ์ผ ๊ฒฝ๋ก๋ beginner
์ด๊ณ , ๋ฌธ์๋ช
์ deep_learning_60min_blitz
์
๋๋ค.
ํด๋น ๋ฌธ์์ ์๋ณธ์ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ๊ฒฝ๋ก๋ช
_source
๊ฒฝ๋ก์ ๋ฌธ์๋ช
.rst
๋๋ ๋ฌธ์๋ช
.py
ํ์ผ์
๋๋ค.
(์ ์์ ๊ฒฝ์ฐ ์๋ณธ ๋ฌธ์๋ beginner_source
๊ฒฝ๋ก์ deep_learning_60min_blitz.rst
ํ์ผ์
๋๋ค.)
์์์ ์ฐพ์ ์๋ณธ ํํ ๋ฆฌ์ผ ๋ฌธ์๋ฅผ reStructuredText ๋ฌธ๋ฒ์ ๋ง์ถฐ ์์ ํฉ๋๋ค. reStructuredText ๋ฌธ๋ฒ์ ์ต์ํ์ง ์์ ๊ฒฝ์ฐ, ๋ค๋ฅธ ํํ ๋ฆฌ์ผ์ ์๋ณธ ๋ฌธ์์ ๋น๋ ๊ฒฐ๊ณผ๋ฌผ(HTML)์ ๋น๊ตํด๋ณด๋ฉด์ ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ์์ํ ์ ์์ต๋๋ค.
์ ์ฅ์์ ์ต์์ ๊ฒฝ๋ก์์ make html-noplot
๋ช
๋ น์ด๋ฅผ ์ด์ฉํ๋ฉด ์ฝ๋ ์คํ ์์ด reStructuredText ๋ฌธ์๋ค์ HTML ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋น ๋ฅด๊ฒ ํ์ธํ์ค ์ ์์ต๋๋ค.
์ด ๊ณผ์ ์์ ์์ ํ ๋ฌธ์ ์์์ ๋ฐ์ํ๋ ์ค๋ฅ๊ฐ ์๋ค๋ฉด reStructuredText ๋ฌธ๋ฒ์ ์ฐธ๊ณ ํ์ฌ ์ฌ๋ฐ๋ฅด๊ฒ ๊ณ ์ณ์ฃผ์ธ์.
๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ _build/html
๋๋ ํ ๋ฆฌ ์๋์ ๊ฒฝ๋ก / ๋ฌธ์์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
์์ ์ ์๋ฃํ ๋ด์ฉ์ ๋ณต์ ํ ์ ์ฅ์์ Commit ๋ฐ Pushํ๊ณ , Pull Request๋ฅผ ๋จ๊น๋๋ค. Pull Request๊ฐ ์ฒ์์ด์๋ผ๋ฉด GitHub์ Pull Request ์๊ฐ ๋์๋ง ๋ฐ ๋ณต์ ํ ์ ์ฅ์๋ก๋ถํฐ Pull Request ๋ง๋ค๊ธฐ ๋์๋ง์ ์ฐธ์กฐํด์ฃผ์ธ์.
ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ฌ์ดํธ์ ์์ง ๋ฒ์ญ๋์ง ์์ ํํ ๋ฆฌ์ผ์ ๋ฒ์ญํ๋ ๊ธฐ์ฌ ๋ฐฉ๋ฒ์ ๋๋ค.
(๋งค์ฐ ๋ฎ์ ํ๋ฅ ๋ก) ํด๋น ํํ ๋ฆฌ์ผ์ด ๋ฒ์ญ ์ค์ผ ์ ์์ผ๋, ๋ฒ์ญ ์ ์ Pull Request๋ฅผ ์์ฑํ๊ธฐ ์ ์ ๋ณธ ์ ์ฅ์ ์ด์๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ์๋ก ๋จ๊ฒจ์ฃผ์ธ์. ํด๋น ํํ ๋ฆฌ์ผ์ ๋ํ ๋ฒ์ญ์ด ์ด๋ฏธ ๋ ผ์๋์๊ฑฐ๋ Pull Request๋ฅผ ํตํด ์งํ ์ค์ผ ์ ์์ผ๋, ๊ฐ๋ฅํ๋ค๋ฉด ๋จผ์ ๊ฒ์์ ํด์ฃผ์๊ธฐ๋ฅผ ๋ถํ๋๋ฆฝ๋๋ค. ์ดํ, ์๋ก ๋จ๊ฒจ์ฃผ์ ์ด์์์ ์ ์ฅ์ ๊ด๋ฆฌ์ ๋ฐ ๋ค๋ฅธ ๋ฐฉ๋ฌธ์๋ค์ด ํจ๊ป ๋ฒ์ญ ์งํ์ ๋ํด ํ ์ํ ์ ์์ต๋๋ค. (๋๋ ์ด๋ฏธ ๊ด๋ จ ์ด์๊ฐ ์กด์ฌํ์ง๋ง ๋ฒ์ญ ์ค์ด์ง ์์ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ๊ฒฝ์ฐ์๋ ๋ง๊ธ์ ํตํด ๊ธฐ์ฌ๋ฅผ ์์ํจ์ ์๋ ค์ฃผ์ธ์.)
์ ๊ท ํํ ๋ฆฌ์ผ์ ๋ฒ์ญํ๊ธฐ ์ํด ์ ์ฅ์๋ฅผ ๋ณต์ ํฉ๋๋ค. ์ ์ฅ์ ๋ณต์ ๊ฐ ์ฒ์์ด์๋ผ๋ฉด GitHub์ ์ ์ฅ์ ๋ณต์ ๊ด๋ จ ๋์๋ง์ ์ฐธ์กฐํด์ฃผ์ธ์.
ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ฌ์ดํธ์ ์์ค ์ฝ๋๋ ํํ ๋ฆฌ์ผ ์๋ณธ ๋ฌธ์๋ฅผ ๋น๋ํ ๊ฒฐ๊ณผ๋ฌผ์
๋๋ค.
๋ฐ๋ผ์ ํํ ๋ฆฌ์ผ ๋ฒ์ญ์ ์ํด์๋ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ฌ์ดํธ์์ ํํ ๋ฆฌ์ผ ์๋ณธ์ ๊ฒฝ๋ก์ ๋ฌธ์๋ช
์ ํ์ธํ๊ณ ๋ฒ์ญํด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ํํ ๋ฆฌ์ผ์ ์ฃผ์๊ฐ https://tutorials.pytorch.kr/beginner/deep_learning_60min_blitz.html
๋ผ๋ฉด, ํํ ๋ฆฌ์ผ ๊ฒฝ๋ก๋ beginner
์ด๊ณ , ๋ฌธ์๋ช
์ deep_learning_60min_blitz
์
๋๋ค.
ํด๋น ๋ฌธ์์ ์๋ณธ์ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ๊ฒฝ๋ก๋ช
_source
๊ฒฝ๋ก์ ๋ฌธ์๋ช
.rst
๋๋ ๋ฌธ์๋ช
.py
ํ์ผ์
๋๋ค.
(์ ์์ ๊ฒฝ์ฐ ์๋ณธ ๋ฌธ์๋ beginner_source
๊ฒฝ๋ก์ deep_learning_60min_blitz.rst
ํ์ผ์
๋๋ค.)
์์์ ์ฐพ์ ์๋ณธ ํํ ๋ฆฌ์ผ ๋ฌธ์๋ฅผ reStructuredText ๋ฌธ๋ฒ์ ๋ง์ถฐ ๋ฒ์ญํฉ๋๋ค.
๋ฒ์ญ ์ค ๋ฒ์ญ ์ฉ์ด์ ๋ํด์๋ ๋ค๋ฅธ ํํ ๋ฆฌ์ผ์ ์ฐธ์กฐํ์๊ฑฐ๋, 2-1
์์ ๋จ๊ธด ์ด์์ ๋ง๊ธ์ ํตํด ํ ์ํ์ค ์ ์์ต๋๋ค.
reStructuredText ๋ฌธ๋ฒ์ ์ต์ํ์ง ์์ ๊ฒฝ์ฐ, ๋ค๋ฅธ ํํ ๋ฆฌ์ผ์ ์๋ณธ ๋ฌธ์์ ๋น๋ ๊ฒฐ๊ณผ๋ฌผ(HTML)์ ๋น๊ตํด๋ณด๋ฉด์ ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ์์ํ ์ ์์ต๋๋ค.
์ ์ฅ์์ ์ต์์ ๊ฒฝ๋ก์์ make html-noplot
๋ช
๋ น์ด๋ฅผ ์ด์ฉํ๋ฉด ์ฝ๋ ์คํ ์์ด reStructuredText ๋ฌธ์๋ค์ HTML ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋น ๋ฅด๊ฒ ํ์ธํ์ค ์ ์์ต๋๋ค.
์ด ๊ณผ์ ์์ ์์ ํ ๋ฌธ์ ์์์ ๋ฐ์ํ๋ ์ค๋ฅ๊ฐ ์๋ค๋ฉด reStructuredText ๋ฌธ๋ฒ์ ์ฐธ๊ณ ํ์ฌ ์ฌ๋ฐ๋ฅด๊ฒ ๊ณ ์ณ์ฃผ์ธ์.
๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ _build/html
๋๋ ํ ๋ฆฌ ์๋์ ๊ฒฝ๋ก / ๋ฌธ์์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
๋ฒ์ญ์ ์๋ฃํ ๋ด์ฉ์ ๋ณต์ ํ ์ ์ฅ์์ Commit ๋ฐ Pushํ๊ณ , Pull Request๋ฅผ ๋จ๊น๋๋ค. Pull Request๊ฐ ์ฒ์์ด์๋ผ๋ฉด GitHub์ Pull Request ์๊ฐ ๋์๋ง ๋ฐ ๋ณต์ ํ ์ ์ฅ์๋ก๋ถํฐ Pull Request ๋ง๋ค๊ธฐ ๋์๋ง์ ์ฐธ์กฐํด์ฃผ์ธ์.
๊ณต์ ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ๋ณ๊ฒฝ ๋ด์ฉ์ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ๋ฐ์ํ๋ ๊ธฐ์ฌ์ ๋๋ค. ์ด ๋์๋ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ๋ฐ์๋ ๋ง์ง๋ง Commit ID์ ๊ณต์ ํํ ๋ฆฌ์ผ ์ ์ฅ์์ ์ต์ Commit ID ์ฌ์ด์ ๋ณ๊ฒฝ ์ฌํญ๋ค์ ์ผ๊ด์ ์ผ๋ก ํ์ธํ๊ณ ๋ฐ์ํด์ผ ํฉ๋๋ค. ์ด ์ข ๋ฅ์ ๊ธฐ์ฌ๋ ์ ์ฅ์ ๊ด๋ฆฌ์๊ฐ ์ผ๊ด์ ์ผ๋ก ์งํํ๋ฉฐ, ์์ง ๊ธฐ์ฌ๋ฅผ ๋ฐ๊ณ ์์ง ์์ต๋๋ค.