-
WICWIU๋ ๊ตญ๋ด ๋ํ ์ต์ด๋ก ๊ณต๊ฐํ๋ ๋ฅ๋ฌ๋ ์คํ์์ค ํ๋ ์์ํฌ์ ๋๋ค.
-
WICWIU("What I Create, What I Understand.")๋ผ๋ ์ด๋ฆ์ Richard Feynman์ "What I cannot create, I do not understand."์์ ์๊ฐ์ ๋ฐ์ ์ง์์ต๋๋ค. "์ฐ๋ฆฌ๊ฐ ์ง์ ๋ง๋ค๋ฉฐ ์ดํดํ ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ"๋ผ๋ ๋ป์ ๋๋ค.
-
WICWIU๋ ๋ชจ๋ API๊ฐ C++๋ก ์ ๊ณต๋์ด ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์ฑ๋ฅ ์ต์ ํ์ ์ ๋ฆฌํฉ๋๋ค. ๋ํ, ์์ฉ์์คํ ์ ๊ฐ๋ฐ ์ธ์๋ ํ๋ ์์ํฌ ์์ฒด๋ฅผ ํน์ํ ํ๊ฒฝ์ ๋ง๋๋ก ์์ ๋ฐ ํ์ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
-
Custom Operator, ๋๋ Module ๊ฐ๋ฐ์ ์ํ API documentation์ ์ถํ ์ฌ๋ฆฌ๊ฒ ์ต๋๋ค.
-
WICWIU๋ Apache2.0 ๋ผ์ด์ ์ค๋ฅผ ์ ์ฉํด ์ฐ๊ตฌ ๋ชฉ์ ๋ฐ ์์ฉ ๋ชฉ์ ์ผ๋ก ์ ์ฝ ์์ด ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
WICWIU Github Pages ๊ฐ ์๋ก ๊ฐ์ค๋์์ต๋๋ค! ์ด๊ณณ์ ํด๋ฆญํ์ฌ ๋ฐฉ๋ฌธํด์ฃผ์ธ์.
-
๊ธฐ์กด WICWIU ์ ๋ฌธ์
doc/์Documentation/๊ฐ ๋ชจ๋ ํฌํ ๋์ด ์น๋ธ๋ผ์ฐ์ ๋ก ํธํ๊ฒ ๋ณผ ์ ์์ต๋๋ค. WICWIU ์ API ๋ ๋ชจ๋ ํฌํ ์ด ๋์์ต๋๋ค. -
WICWIU Github Pages ์๋ WICWIU ๊ฐ๋ฐ ๊ฐ์ด๋(WICWIU ๋ก ์ ๊ฒฝ๋ง ๊ตฌ์ฑ, WICWIU ๋ก ๋ฅ๋ฌ๋ํ๊ธฐ, WICWIU ์ฝ๋ ๊ฐ์ด ๋ถ์ํด๋ณด๊ธฐ) ๊ฐ ์์ต๋๋ค.
-
WICWIU Github Pages ์๋ WICWIU ๊ฐ๋ฐ์ ํ์ํ Git, Github ์ผ๋ก ํ์ ํ๊ธฐ, GPU Acceleration(CUDA ์ฝ๋ฉํ๊ธฐ), Makefile ์ดํดํ๊ธฐ, ๋ฅ๋ฌ๋์ ํ์ํ CLI(gotop, tmux, zsh) ์์๋ณด๊ธฐ ๋ฑ๋ฑ ์ข์ ์ ๋ณด๋ค์ด ์ง์์ ์ผ๋ก ์ ๋ก๋๋๊ณ ์์ต๋๋ค.
-
๋ค์ํ ์ ๊ฒฝ๋ง ๊ณ์ธต ์์
-
์ผ๋ฐ์ ์ธ ๊ทธ๋ํ ํํ์ ๋คํธ์ํฌ ๊ตฌ์กฐ
-
๊ฐ๋ ์ฑ ๋์ ์ ์์ค ์ฐ์ฐ์ CPU ์ฝ๋
-
๋์ ์ฑ๋ฅ์ GPU ๋ณ๋ ฌ ์ฐ์ฐ (cuDNN)
-
ํ์ต์ ์ํ ํ๊ตญ์ด ๋ฌธ์ (์ค๋น์ค; ํ์ฌ ํ๊ตญ์ด ์ฃผ์ ํฌํจ)
-
MNIST, CIFAR10, ImageNet tutorial ์ง์
| System |
|---|
| Linux CPU |
| Linux GPU |
| Windows CPU |
| Tensor & Shape | Tensor ํด๋์ค๋ ์ต๋ 5์ฐจ์์ Tensor Data๋ฅผ ์ ์ฅ, ๊ด๋ฆฌํ๋ฉฐ ๋ชจ๋ ์ ๊ฒฝ๋ง ์ฐ์ฐ์ Tensor์ ๋ํด ์ํํฉ๋๋ค. Tensor์ ๋ด๋ถ์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ 1์ฐจ์ ๋ฐฐ์ด์ ํํ๋ก ์ ์ฅํ์ง๋ง, Shape ํด๋์ค๋ฅผ ์ด์ฉํ์ฌ ์ธ๋ถ๋ก๋ ์ต๋ 5์ฐจ์๊น์ง์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. |
| Operator | Operator ํด๋์ค๋ ์์ ํ์ ์ญ์ ํ๋ฅผ ์ํํ๋ ์ ์์ค ์ฐ์ฐ์ ํฌํจํ๋ฉฐ, ๊ฐ ์ฐ์ฐ์ ๊ฒฐ๊ณผ ๊ฐ์ ๊ฐ ๊ฐ์ฒด์ ๋ฉค๋ฒ ๋ณ์๋ก ์ ์ฅํ๊ณ ์๋ ํด๋์ค์ ๋๋ค. ์ ์ฅ๋ ๊ฒฐ๊ณผ๋ ์ฐ๊ฒฐ๋ ๋ค๋ฅธ Operator๋ Loss Function์ ํผ์ฐ์ฐ์๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ๋ํ, ์ฌ์ฉ์๋ Operator ํด๋์ค๋ฅผ ์์๋ฐ์ ์๋ก์ด ์ฐ์ฐ์๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. |
| Module | Module ํด๋์ค๋ ๋ณต์กํ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ Operator ํด๋์ค๋ง์ ์ด์ฉํ์ฌ ๊ตฌํํ๋ ๊ฒ์ด ๋ถํธํ์ฌ ๋ง๋ค์ด์ง ๊ณ ์์ค ์ฐ์ฐ ํด๋์ค์ ๋๋ค. ๋ณต์์ Operator๋ค์ ๊ทธ๋ํ ๊ตฌ์กฐ๋ก ์กฐํฉํ์ฌ ์ ์ํ๋ฉฐ, Operator์ ๋ค๋ฅธ Module์ ์ฌ๊ท์ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ ๊ฐ๋ฅํฉ๋๋ค. |
| Loss Function & Optimizer | Loss Function ํด๋์ค๋ ์์ค ํจ์๋ฅผ ํํํ๊ณ , Optimizer ํด๋์ค๋ ๊ฒฝ์ฌ๋ ๋ฒกํฐ๋ฅผ ์ด์ฉํ์ฌ ํ๋ผ๋ฏธํฐ๋ฅผ ์ต์ ํ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ํํํ๋ ํด๋์ค์ ๋๋ค. WICWIU์์๋ ๋ค์ํ Loss Function๊ณผ Optimizer๋ฅผ ์ ๊ณตํ๊ณ ์์ผ๋ฉฐ, ์ฌ์ฉ์๊ฐ ์ง์ ์๋ก์ด ์๊ณ ๋ฆฌ์ฆ์ ์ ์ ๊ฐ๋ฅํฉ๋๋ค. |
| Neural Network | Neural Network ํด๋์ค๋ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ ํํํ๊ธฐ ์ํ ํด๋์ค์ ๋๋ค. Operator์ Module๋ฅผ ์กฐํฉํ์ฌ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ ๊ตฌ์ฑํ๊ณ ๋ชจ๋ธ ํ์ต์ ์ ๋ฐ์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. |
- NVIDIA driver
- cuda toolkit (tested on v.9.0)
- cuDNN (tested on v7.0.5)
$ git clone https://github.com/WICWIU/WICWIU
$ cd WICWIU/tutorials/MNIST
$ make
$ ./mainCPU ๋์์ ์ํ์๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์คํํ ์ ์์ต๋๋ค. (์ฒ์ ๋ฐ์ผ์๋ฉด GPU๋ก ํ๊ฒฝ์ค์ ์ด ๋์ด ์์ต๋๋ค.)
$ cd WICWIU/
* makefile์์ ENABLE_CUDNN = -D__CUDNN__ ์ฃผ์ ์ฒ๋ฆฌ
$ make
$ cd tutorials/MNIST
$ make
$ ./main์์ธํ ์ฌ์ฉ๋ฐฉ๋ฒ์ ์์ ํ์ผ์ ์ฐธ๊ณ ํ์ฌ ์ฃผ์๊ณ , ์ถํ ์๋ฃ๋ฅผ ๋ณด๊ฐํ๋๋ก ํ๊ฒ ์ต๋๋ค.
WICWIU๋ ํ๋๋ํ๊ต ํ๋ถ์ ์ฃผ๋๋ก ๊ฐ๋ฐ๋์์ต๋๋ค.
- ํ๋๋ํ๊ต ์ ์ฐ์ ์๊ณตํ๋ถ ๊น์ธ์ค ๊ต์๋.
- 1๊ธฐ: ๋ฐ์ฒ๋ช (ํ์ฅ), ๊น์ง์ , ๊ธฐ์คํธ, ๊น์งํ
- 2๊ธฐ: ์ต์์(ํ์ฅ), ์ค์ฑ๊ฒฐ, ๊น์น์ฃผ, ์ค์ค์
- 3๊ธฐ: ๊ถ์์ฑ(ํ์ฅ), ์ค๋ํ, ๊น๊ฒฝํ, ์ ํ์
- 4๊ธฐ: ์ ์นํธ(ํ์ฅ), ๋ฐ์ฐธ์ง, ์ค์์ง, ์์ง๋ช , ์ค์ค์
- 5๊ธฐ: ์ ํ๊ฒฐ(ํ์ฅ), ํ์ฐฌ์, ๊ฐ์๋น, ์ตํ์
- 6๊ธฐ: ์ด์ฐฌํจ, ์ฐ์ฅ๊ท
ํ๋ ์์ํฌ์ ๋ํด ๊ถ๊ธํ ์ ์ด ์๋ค๋ฉด hgudeeplearning@gmail.com ๋ก ์ฐ๋ฝํ์๊ธธ ๋ฐ๋๋๋ค.