.py์ .ipynb
๐ฃ .py
?
์์ ๋ถํฐ ๊นํ์ ์๋ ์คํ ์์ค๋ฅผ ๋ณด๋ฉด ๋งค๋ฒ ์๋ฌธ์ด ๋ค์๋ ๊ฒ์ด ๋ฐ๋ก.py
ํ์ผ์ด์๋ค.
๋๋ ์์ ์ ์ฃผํผํฐ ๋ ธํธ๋ถ
.ipynb
๋ก ํ๋๋ฐโฆ ์ง์ง ํ๋ก๋ค์.py
ํ๋์ฝ์ดํ๊ฒ ์ฝ๋ฉ์ ํ๋ ๊ฒ์ผ๊น?
๊ทธ๋์ ์ ์ง .ipynb
ํ์ผ์ ๊นํ๋ธ์ ์ฌ๋ฆฌ๊ธฐ๋ ๋ฏผ๋งํ๊ณ ์ฌ์ง์ด ํฌ๋งทโ๋ ์ง์ํด์ฃผ์ง ์๋๋ค.
ํ์ง๋ง ์ด์ git์ ์ฌ์ฉํ๋ ์ ์ฅ์์ ๋ฐฐ์ฐ๊ธฐ ๊ท์ฐฎ๋ค๊ณ ๋ด๊ฐ ํ๋ ๋ฐฉ์๋ง ๊ณ ์ํ์ง ๋ง๊ณ , ์ฒ์ฒํ ๊ณต๋ถํ๋ฉด์ ๋ฐ์๋ค์ด๊ธฐ๋ก ํ๋ค.
โช ์
ฐํ์ ์ฃผ๋ฐฉ(.ipynb
) vs. ๊ณต๊ฐ์ฉ ๋ ์ํผ ์นด๋(.py
)
.ipynb
(์ฃผํผํฐ ๋ ธํธ๋ถ): ์ฌ๊ธฐ๋ ์์ด๋์ด๋ฅผ ์คํํ๋ โ๋๋ง์ ์ฃผ๋ฐฉโ.py
(ํ์ด์ฌ ์คํฌ๋ฆฝํธ): ์ด๊ฑด ์ต์ข ์ ์ผ๋ก ์์ฑ๋ โ๊ณต๊ฐ์ฉ ๋ ์ํผ ์นด๋โ
๋ง๊ทธ๋๋ก .ipynb
๋ ๋ด ์์์ ํ๋ฆ๋๋ก ์ด๊ฒ์ ๊ฒ ํด๋ณด๋ ๊ฒ์ด๊ณ .py
๋ ์ด๋ ๊ฒ ์ ๋ฆฌ๋ ์๊ฐ์ ์ ์ ๋ํด์ ๋ด๋๋ ์ฝ๋๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
๋ฐ๋ผ์, ๋ด๊ฐ ํด์๋ .ipynb
๋ฐฉ์์ผ๋ก ์ฝ๋ฉ์ ํ๋ ๊ฒ์ ๋งค์ฐ ์์ฐ์ค๋ฌ์ด ์ผ์ด๋ผ๋ ๊ฒ.
โช ์ ๊นํ๋ธ์์๋ .py
๋ฅผ ์ ํธํ ๊น?
ํต์ฌ์ ์ฌ์ฌ์ฉ์ฑ(Reusability)๊ณผ ์ฌํ์ฑ(Reproducibility)์ด๋ค. .py
๋ฅผ ๋ชจ๋ํ ๋ผ๊ณ ๋ฐฐ์ ๋๋ฐ ์ด๊ฒ์ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ ์ ์ง ๋ณด์๋ฅผ ์ฝ๊ฒ ํ๋ค. ์ฆ, ๊นํ๋ธ์์ ํ์
์ ํ๊ธฐ ์ํด์๋ ์ด๋ฌํ ์ฌ์ฌ์ฉ์ฑ์ ํ์์ด๊ธฐ ๋๋ฌธ์ด๋ค.
โช .ipynb
vs .py
in Deep Learning
ํญ๋ชฉ | .ipynb (Jupyter) | .py (Script) |
---|---|---|
๋ชฉ์ | ์คํ, ์๊ฐํ, ํํ ๋ฆฌ์ผ | ์ฌํ์ฑ, ์๋ํ, ๋ฐฐํฌ |
์คํ ๋ฐฉ์ | ์ ๋จ์ ์คํ | ์ ์ฒด ์์ฐจ ์คํ |
Git ๊ด๋ฆฌ | diff ๋ณด๊ธฐ ์ด๋ ค์ | ํ ์คํธ ๊ธฐ๋ฐ, Git ์นํ์ |
์ฌ์ฌ์ฉ | ๋ฎ์ | ๋์ |
์๊ฐํ | ์ฆ์ ํ์ธ ๊ฐ๋ฅ | ๋ณ๋ ์ฝ๋ ํ์ |
๐ก ์คํ์
.ipynb
โ ์ฝ๋ํ๋.py
๋ก ๋ฆฌํฉํ ๋งํ๋ ์ต๊ด์ ๋ค์ด๋ฉด
ํ์ , ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ์ด, ๊ณต๊ฐ ์ฌํ ๋ชจ๋์๊ฒ ์ ๋ขฐ๋ฅผ ์ฃผ๊ฒ ๋๋ค.