[์๋น์ค๊ฐ๋ฐํ ํํ์ค]
์๋ก
Tensorflow์ PyTorch๋ ๊ธฐ๊ณ ํ์ต์ ์์ด์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋๋ค. AI ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๋ ๊ฐ๋ฐ์๋ ๋ชจ๋ธ์ ์ฐ๊ตฌํ๋ ์ฐ๊ตฌ์๋ค์ ์ด๊ธฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ํ์ ์์ด์ ์ด๋ ค์์ ๊ฒช๊ณค ํฉ๋๋ค. ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ ์ฌํญ์ด ๋ง์์ก๊ธฐ ๋๋ฌธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ํํ๋๋ฐ ์์ด ๊ฐ์ด๋๋ฅผ ์ ๊ณตํ๊ณ ์ ํฉ๋๋ค.
Google – Tensorflow
Tensorflow๋ Google Brain Team์ด ์ฐ๊ตฌ์ ์ ํ ๊ฐ๋ฐ์ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์์ผ๋ฉฐ ํธํ ์ธ์ด๋ก๋ C++, Python, JavaScript, Swift ๋ฑ์ด ์์ต๋๋ค. 1.x, 2.x ๋ฒ์ ์ ๊ฑฐ์ณ Stable 2.4 ๋ฒ์ ๊น์ง ์ถ์ํ ์ํ์ ๋๋ค. 1.x ์ 2.x ๋ฒ์ ์ ์ฐจ์ด์ ์ผ๋ก๋ Session ์ฌ์ฉ์ด ๊ฑฐ์ ๋ถํ์ํด์ก์ผ๋ฉฐ ์ ์ธ ์ต์ํ ๋ฐ Keras๊ฐ ๋ด์ฌํ ๋์์ต๋๋ค. ๋ํ Functionํ๋ฅผ ํตํ ์๋ ๊ฐ์ ์ด ์์์ต๋๋ค. ๊ทธ ์ด์ธ์๋ Tensorflow-Lite – ๋ชจ๋ฐ์ผ/์๋ฒ ๋ฉ ์ง์, TensorflowJS – ๋ธ๋ผ์ฐ์ , Node.js ์ง์ ๋ฑ ๋ง์ ๋ณ๊ฒฝ์ ๋ค์ด ์์ต๋๋ค. ํ์ง๋ง ์ด๋ฌํ ๋ณํ๊ฐ ๊ธฐ์กด์ ์ฌ์ฉํ๋ ์ฌ์ฉ์์ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ ๋ถํธํจ์ ์ด๋ํ์ต๋๋ค. ๋ฌผ๋ก ๋ณํ ํ๋ ๋ชจ๋์ ์ง์ํ์ง๋ง ๋ฒ๊ทธ ๋ํ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ง์ ์ฌ์ฉ์์ ์ดํ์ด ์๊ธฐ๋ ํ์ต๋๋ค.
Facebook – PyTorch
PyTorch๋ Facebook AI Research Lab์์ ์ฐ๊ตฌ ๋ชฉ์ ์ผ๋ก ๊ฐ๋ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ํธํ๋๋ ์ธ์ด๋ก C++, Python์ด ์์ต๋๋ค. ์ด๊ธฐ์ ์ปค๋ฎค๋ํฐ๊ฐ ๋น๊ต์ ์์์ง๋ง ํญ๋ฐ์ ์ผ๋ก ์์นํ์ฌ ํํ ๋ ผ๋ฌธ ์๋ฃ์์๋ Tensorflow๋ฅผ ์ถ์ํ ์ํ์ ๋๋ค. PyTorch๋ก ๋ง์ ์ฐ๊ตฌ ๋ถ์ผ์ ์ ์ ์ ์ด๋์ด ์์๋ ์ด์ ๋ ๋์ ๊ทธ๋ํ ์ฌ์ฉ์ด ๊ฐ๋ฅํ ์ ์ด ํฌ๊ฒ ์์ฉํ์ต๋๋ค. ๋์ ๊ทธ๋ํ๋ฅผ ํตํด ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ฟ ๋ฃ์ด ๋น๊ต๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ RNN, CNN, GAN ์ฐ๊ตฌ์ ์ ๋ฆฌ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ํ ์ฝ๋๊ฐ Tensorflow์ ๋นํด ๋์ด๋๊ฐ ์๋์ ์ผ๋ก ์ฝ๊ธฐ ๋๋ฌธ์ ํฌ๊ฒ ์ฑ์ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
Tensorflow VS PyTorch
์ธ๊ณต์ง๋ฅ ๋ถ์ผ ํํ ๋ณ ๋ ผ๋ฌธ ๊ทธ๋ํ ์ ๋๋ค. ์ ์ ์ผ๋ก ํํ๋ Tensorflow์ ๋นํด ์ค์ ์ผ๋ก ํํ๋ PyTorch์ ๋ ผ๋ฌธ์ ์ถ์ด๊ฐ ๋์์ง์ ์ ์ ์์ต๋๋ค. ํํ ๋ ผ๋ฌธ์ ์ฐ๊ตฌํ๋๋ฐ ์์ด์๋ PyTorch๊ฐ ์ข ๋ ์ ๋ฆฌํ ์ํฉ์ด๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค.
Tensorflow | PyTorch | |
Github Repository | 108k | 68k |
์๊ฐํ | Tensorboard | Visdom Tensorboard[1.2 Pytorch] |
๊ทธ๋ํ ์ ์ | Static graph, Dynamic graph[tensorflow 2.0] | Dynamic graph |
๋๋ฒ๊น | tfdbg | Python standard debuggers |
๋ชจ๋ธ ๋ฐฐํฌ | Tensorflow Serving | TorchServe |
Mobile Support | O | O |
๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฅ์ ์ผ๋ก ๋น๊ตํด ๋ดค์ ๋, ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ฉด์ ์ ์ ๋๋์์ดํ ๊ฒฝํฅ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ฒ์์๋ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ง์ ์ฐจ์ด์ ์ด ์์์ง๋ง ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์๋ก์ ์ข์ ๊ธฐ๋ฅ๋ค์ ๊ฐ์ง๊ฒ ๋์ด ์ฐจ์ด์ ์ด ํฌ๊ฒ ์ค์์ต๋๋ค.
๊ทธ๋ผ์๋ ์ฌ์ ํ ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ์ฝ๋ค์ ์กด์ฌํฉ๋๋ค. Tensorflow๋ ์ฌ์ ํ ๋์ ๊ทธ๋ํ ๊ตฌ์ฑ์ด ๋น๊ต์ ์ด๋ ค์ฐ๋ฉฐ ๋๋ฒ๊น ๋ํ ํ์ต์ด ํ์ํฉ๋๋ค. PyTorch๋ ์์ง ๊ณต๊ฐ ๋์ด ์๋ ์์ค๊ฐ ์ ๊ณ ๋ค๋ฅธ ํ๊ฒฝ์ ์ง์๋ ์ด๋ ค์ฐ๋ฉฐ ๋ฐฐํฌ๊ฐ ์ด๋ ต๊ณ ๋ฌด์๋ณด๋ค ์ฐ์ ์์ ์๊ตฌํ๋ ๋ค์ํ ์ ์ฝ ์ฌํญ์ ๋ง์ถ๊ธฐ ์ด๋ ต์ต๋๋ค. ์ด๋ฌํ ์ ์ ์ฐธ๊ณ ํ์ฌ ์ด์ ์ด ์ฐ๊ตฌ ๋ชฉ์ ์ธ์ง, ์ํ ๋ฐ ์๋น์ค ์ ๊ณต์ธ์ง ๋ช ํํ ํ์ ํ ํ๋ก์ ํธ๋ฅผ ์งํ ํ๋ค๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ํ์ ์์ด์ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
๊ฒฐ๋ก
Tensorflow – ์ํ ๊ตฌ์ถ ๋ชฉ์ . Browser, Node.js, Embeded, Mobile ํ๊ฒฝ ์ง์. ๋ฐฐํฌ ์ฉ์ด. NLP ๋ฑ.
Pytorch – ์ฐ๊ตฌ ๋ชฉ์ . Python์ ์ต์ํ ํ๊ฒฝ. ๋น๊ต์ ๋ฎ์ ๋์ด๋. RNN, CNN, GAN ๋ฑ.
Tensorflow์ Pytorch๋ ๋ชจ๋ ๊ฐ๋ ฅํ ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ๋ชฉ์ ์ ๋ง๊ฒ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ํํ๋ค๋ฉด ์ข ๋ ์์ฐ์ฑ ์๋ ์ฐ๊ตฌ/๊ฐ๋ฐ์ด ์ด๋ฃจ์ด์ง ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
Reference
https://towardsdatascience.com/pytorch-vs-tensorflow-2021-d403504d7bc3
https://builtin.com/data-science/pytorch-vs-tensorflow
https://www.imaginarycloud.com/blog/pytorch-vs-tensorflow/