Post

.py์™€ .ipynb

.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๋กœ ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด๋ฉด
ํ˜‘์—…, ๋…ผ๋ฌธ ๋ฆฌ๋ทฐ์–ด, ๊ณต๊ฐœ ์žฌํ˜„ ๋ชจ๋‘์—๊ฒŒ ์‹ ๋ขฐ๋ฅผ ์ฃผ๊ฒŒ ๋œ๋‹ค.

This post is licensed under CC BY 4.0 by the author.

ยฉ 2025 Soohyun Jeon โญ

๐ŸŒฑ Mostly to remember, sometimes to understand.