[ PyTorch ์๊ฐ ]
01. Pytorch๋?
: ํ์ด์ค๋ถ (FAIR) ์์ ๊ฐ๋ฐํ ์ ๊ฒฝ๋ง ๊ตฌ์ถ์ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ๊ธฐ๋ฐ ์คํ ์์ค ๋ฅ ๋ฌ๋ ํ๋ ์์ํฌ
- ์ฅ์
- ๋ฉํฐ ํ๋ซํผ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค
- ๋์ ๊ณ์ฐ ๊ทธ๋ํ : ์ฌ์ ์ ๊ตฌ์ฑํ ๋ค์ ์คํ ์, ์ธ์ ์คํ์ ํ์ง ์๊ณ , ๊ตฌ์ฒด์ ์ธ ๊ฐ์ ์ฆ์ ๋ฐํ
- ์ปค๋ฎค๋ํฐ, ์ํ๊ณ๊ฐ ๋ง๊ณ , ํ๋ฐํ ์ด์๋จ
- ์ฌ์ ํ์ต๋ ๋ชจ๋ธ๋ค์ ์ป์ ์ ์์
- ์ฌ๋ฌ ์ ๋ฌธ๊ฐ๋ค๋ก ๋ถํฐ ๋์์ ๋ฐ์ ์ ์์
- ํ๋ซํผ ์์
- ํ์ฅ์ฑ์ด ๋ฐ์ด๋จ : ๋ค์ํ ๊ท๋ชจ์ ํ๋ก์ ํธ๊ฐ ๊ฐ๋ฅ
- ๋จ์
- ๋ชจ๋ฐ์ผ, ์น ๋ฑ ๋ฐฐํฌ๊ฐ ์ด๋ ค์
- ๋ฎ์ ์์ค์ API๋ฅผ ์ ๊ณตํด ์ฌ์ฉ์๊ฐ ํ์ต ๋ฃจํ๋ฅผ ์ง์ ์์ฑํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์, ์ฌ๋๋ค๋ง๋ค train ์ํค๋ ์ฝ๋๊ฐ ๋ค ์ ๊ฐ๊ฐ์
02. Architecture
(์ถ์ฒ : https://se.ewi.tudelft.nl/desosa2019/chapters/pytorch/)
- Top-level API
- ์ดํดํ๊ธฐ ์ฌ์ด API๋ฅผ ์ ๊ณต
- interface๋ฅผ ์ ๊ณตํ์ง๋ง, ์ค์ ๊ณ์ฐ์ ์ํจ → C++๋ก ์์ฑ๋ ๊ณ์ฐ ์์ง์ผ๋ก ์ ๋ฌ
- Mid-level engine
- top-level๊ณผ python API๋ก ์ฐ๊ฒฐ๋จ
- autograd DCG๋ฅผ ๊ณ์ฐ
- ์๋ ๋ฏธ๋ถ์ ์ ๊ณต
- Low-level library
- engine๊ณผ l๊ณผ python API๋ก ์ฐ๊ฒฐ๋จ
- ์ฌ์ฉ์์ ํ ์์ฐ์ฐ์ ์ง์ํ๋ C, Gpu๋ฅผ ๋ด๋นํ๋ Cuda๋ฅผ ํฌํจํจ
- ์ค์ ํ๋์จ์ด์ ์ฐ๊ฒฐ๋์ด ๊ตฌ๋๋จ
- Top-level API, Mid-level engine ๋ ๋ค ์ฌ์ฉ ๊ฐ๋ฅ → ์ฝ๋ ๊ฒฐํฉ๋ ↓, ๋ณต์ก์ฑ ↓
03. Tensorflow vs Pytorch
| ๊ณ์ฐ ๊ทธ๋ํ ์ ์ ๋ฐฉ์ | ์ ์ ๊ทธ๋ํ | ๋์ ๊ทธ๋ํ |
| ๋ฐฐํฌ ๋์ด๋ | ํ | ์ |
| ๋๊ตฌ | TorchVision, TorchText, Lightning | TensorBoard, TF Lite, TF JS, TFX, Serving |
| ์ถ์ฒ ์ฌ์ฉ์ | ํ๋ผ๋ฆฌ ํ์คํ๋ ์ฝ๋ ์ฌ์ฉ์ด ํ์ํ ๊ฒฝ์ฐ | python์ด ์น์ํ ์ด๋ณด ์ฌ์ฉ์, ์ฐ๊ตฌ์ |
[ PyTorch์ ๋ฐ์ดํฐ ํ์ ]
01. ์ ์ํ
: ์์ ๋ถ๋ถ์ด ์๋ ์ซ์๋ฅผ ์ ์ฅํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์
๋นํธ ๊ตฌ๋ถ ํํ ๊ฐ๋ฅ ๋ฒ์ ์ฝ๋ ํํ
| ๋นํธ ๊ตฌ๋ถ | ํํ ๊ฐ๋ฅ ๋ฒ์ | ์ฝ๋ ํํ | |
| 8bit ๋ถํธ ์๋ ์ ์ | 8 ์ซ์ | 0 ~ 255 | dtype = torch.uint8 |
| 8bit ๋ถํธ ์๋ ์ ์ | 1 ๋ถํธ +7 ์ซ์ | -128 ~ 127 | dtype = torch.int8 |
| 16bit ๋ถํธ ์๋ ์ ์ | 1 ๋ถํธ +15 ์ซ์ | -32768 ~ 32767 | dtype = torch.int16 dtype = torch.short |
| 32bit ๋ถํธ ์๋ ์ ์ | 1 ๋ถํธ +31 ์ซ์ | -2,147,483,648 ~ 2,147,483,647 | dtype = torch.int32 dtype = torch.int |
| 64bit ๋ถํธ ์๋ ์ ์ | 1 ๋ถํธ +63 ์ซ์ | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | dtype = torch.int64 dtype = torch.long |
02. ์ค์ํ
| ๋นํธ ๊ตฌ๋ถ | ์ฝ๋ ํํ | |
| 16๋นํธ ๊ณ ์ ์์์ ์ | ์ ์๋ถ + ์์๋ถ | X |
| 32bit ๋ถ๋ ์์์ ์ | ๋ถํธ 1bit + ์ง์๋ถ 8bit + ๊ฐ์๋ถ 23bit | dtype = torch.float32 dtype = torch.float |
| 64bit ๋ถ๋ ์์์ ์ | ๋ถํธ 1bit + ์ง์๋ถ 11bit + ๊ฐ์๋ถ 52bit | dtype = torch.float64 dtype = torch.double |
- ๋ถ๋ ์์์ ์๋?
- ๋ฑ์ฅ ๋ฐฐ๊ฒฝ : ๊ณ ์ ์์์ ์์ ๋ฌธ์ ์ ํด๊ฒฐ
- ๋ฐฉ์ : ์ซ์๋ฅผ ์ ๊ทํ ํ์ฌ ๊ฐ์๋ถ์ ์ง์๋ถ๋ก ๋๋์ด ํํ
- ์ ๊ทํ ๋ฐฉ๋ฒ : ์์์ ์ด ์ฒซ๋ฒ์งธ ์ ํจ์ซ์ ๋ฐ๋ก ๋ค์ ์ค๋๋ก ๋ฐ๊ฟ
- ๊ณ ์ ์์์ vs ๋ถ๋ ์์์

์ถ์ฒ : https://wikidocs.net/189025
'๋์๋ฆฌ,ํํ > Naver AI Tech' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Streamlit ์๊ฐ ๋ฐ ํํ ๋ฆฌ์ผ (0) | 2025.11.21 |
|---|