[๊ฐ๋ฐ ํ๊ฒฝ] ์๋์ฐ(Windows)์ Tensorflow-gpu ์ค์น(NVIDIA driver, CUDA Toolkit, cuDNN ์ค์น)
GPU๋ฅผ ์ด์ฉํด ๋ชจ๋ธ์ ํ์ต์ํค๋ฉด ํ์ต ์๋๊ฐ ๋งค์ฐ๋งค์ฐ๋งค์ฐ ๋น ๋ฅด๋ค.
๊ทธ๋์ ๋ฅ๋ฌ๋์ ๋ชจ๋ธ GPU๊ฐ ์์ผ๋ฉด ํ์ต์ํค๊ธฐ ์ด๋ ค์.
๊ทผ๋ฐ ์ฒ์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ ๋๋ฆด ๋ ๋๋ฅผ ์ ๋ง ์ ๋จน์ด๋..^^ tensorflow-gpu ์ค์น
๊ทธ ๋ ๊ฒฐ๊ตญ ํฌ๊ธฐํ๊ณ ๋ฆฌ๋ ์ค ์๋ฒ ์ ์ํด์ ๊น์์๋ค.
ํ์ง๋ง ๋ค์ํด๋ณด๋ ์ ๋ผ์ ๋ฐฉ๋ฒ ๊ณต์ ์ฐจ ์ฌ๋ฆฌ๋ ๊ธ
+++++++ ์ปดํ์ผ๋ฌ ํ๊ฒฝ์ ์ํ Visual Studio ์ค์นํด์ผํจ
Visual Studio 2019 ๋ฒ์ ์ด๋ 2017 ๋ฒ์ ๋ค์ด๋ฐ๊ธฐ!
docs.microsoft.com/ko-kr/visualstudio/releases/2019/release-notes
Visual Studio 2019 ๋ฒ์ 16.8 ๋ฆด๋ฆฌ์ค ์ ๋ณด
Visual Studio 2019 ๋ฒ์ 16.8์ ์ต์ ๊ธฐ๋ฅ, ๋ฒ๊ทธ ์์ ๋ฐ ์ง์์ ํ์ธํ ์ ์์ต๋๋ค. ์ง๊ธ ๋ค์ด๋ก๋ํ์ธ์.
docs.microsoft.com
1. ์๋์ฝ๋ค ๊ฐ์ํ๊ฒฝ ๋ง๋ค๊ธฐ
2. Tensorflow ์ค์น
3. CUDA ์ค์น
-
๋ด GPU ๋ชจ๋ธ ํ์ธํ๊ธฐ
-
NVIDIA driver ์ค์น
-
CUDA Toolkit ์ค์น
4. cuDNN ์ค์น
5. ํ๊ฒฝ๋ณ์ ์ค์
6. ์ค์น ํ์ธ
โป ์ค์นํ ๋ ๊ฐ์ฅ ์ค์ํ๊ฑด tensorflow, CUDA, cuDNN ๋ผ๋ฆฌ์ ๋ฒ์ ํธํ์ด๋ค.
www.tensorflow.org/install/source_windows
Windows์ ์์ค์์ ๋น๋ | TensorFlow
์์ค์์ TensorFlow pip ํจํค์ง๋ฅผ ๋น๋ํ๊ณ Windows์ ์ค์นํฉ๋๋ค. ์ฐธ๊ณ : ์ ํ ์คํธ๋๊ณ ์ฌ์ ๋น๋๋ Windows ์์คํ ์ฉ TensorFlow ํจํค์ง๊ฐ ์ด๋ฏธ ์ ๊ณต๋๊ณ ์์ต๋๋ค. Windows์ฉ ์ค์ ๋ค์ ๋น๋ ๋๊ตฌ๋ฅผ ์ค์น
www.tensorflow.org
์ด ํ์ด์ง์์ ๊ฐ์ ์๊ธฐ๊ฐ ์ํ๋ ๋ฒ์ ๊ผญ ๊ธฐ์ตํ๊ธฐ !!!
์ฐธ๊ณ ๋ก ์ด ๊ธ์์ ์ค์นํ ๋ฒ์ ์ ↓
1. ์๋์ฝ๋ค ๊ฐ์ํ๊ฒฝ ๋ง๋ค๊ธฐ
์๋์ฝ๋ค ํ๋กฌํธ(Anaconda Prompt) ์คํ์ฐฝ ์ด๊ณ ์ ๋ ฅ
conda create -n [๊ฐ์ํ๊ฒฝ์ด๋ฆ] python=3.7 # python version 3.7์ผ๋ก ๊ฐ์ํ๊ฒฝ ๋ง๋ค๊ธฐ
conda create -n tf python=3.7.6 # python version 3.7.6์ผ๋ก tf๋ผ๋ ์ด๋ฆ์ ๊ฐ์ํ๊ฒฝ ๋ง๋ค๊ธฐ
๊ฐ์ํ๊ฒฝ์ ์์ฒ๋ผ ์์ฑํ ํ, activate ๋ช ๋ น์ผ๋ก ๊ฐ์ํ๊ฒฝ์ ํ์ฑํํ๋ค.
conda activate [๊ฐ์ํ๊ฒฝ์ด๋ฆ]
conda activate tf # tf๋ผ๋ ๊ฐ์ํ๊ฒฝ ํ์ฑํํ๊ธฐ
2. Tensorflow ์ค์น
์๋์ฝ๋ค ํ๋กฌํธ(Anaconda Prompt)์์ ์์ฒ๋ผ ๊ฐ์ํ๊ฒฝ์ ํ์ฑํํ ํ, ๊ทธ ๊ฐ์ํ๊ฒฝ์ tensorflow๋ฅผ ์ค์นํ๋ค.
์ด ๋ ๋ด๊ฐ ์ํ๋ ๋ฒ์ ์ ์ ํํ์ฌ ์ค์นํด์ผ ๋์ค์ ๋ฌธ์ ๊ฐ ์์ด ์ค์น๊ฐ ์ ๋๋ค.
pip install tensorflow==2.0.0
pip install tensorflow-gpu==2.0.0
3. CUDA ์ค์น
- ๋ด GPU ๋ชจ๋ธ ํ์ธํ๊ธฐ
์์์์ ์ฅ์น๊ด๋ฆฌ์ ๊ฒ์
์ฅ์น๊ด๋ฆฌ์ - ๋์คํ๋ ์ด ์ด๋ํฐ์ ์๋ ๋ชฉ๋ก์ด ๋ด GPU ์ฌ์์ด๋ค.
์ด์ ์ด ์ฌ์์ ๋ง๋ NVIDIA driver๋ฅผ ์ค์นํ๋ค.
- NVIDIA driver ์ค์น
https://www.nvidia.com/Download/index.aspx?lang=kr
NVIDIA ๋๋ผ์ด๋ฒ ๋ค์ด๋ก๋
www.nvidia.com
์์ ์ฃผ์๋ก ๋ค์ด๊ฐ ๋ฐฉ๊ธ ํ์ธํ gpu์ฌ์์ ๋ง๊ฒ ๊ฒ์ํด์ค๋ค.
์ด๋ ๊ฒ ๊ฒ์ํ ํ ๋ค์ด๋ก๋ next, next, ๋ค์,, ์ ์ฉ๊ตฌ,, ๋๋ฌ์ ์ค์น์๋ฃํ๋ค.
-
CUDA Toolkit ์ค์น
์ด ๋ ๋ ์ค์ํ ๊ฒ ๊ณ์ ๋งํ๋ ๊ฒ์ฒ๋ผ tensorflow gpu์ ํธํ๋๋ ๋ฒ์ ์ ์ค์นํด์ผํ๋ค๋ ์ .
tensorflow-gpu 2.0.0์ CUDA 10.0์ ์ง์ํ๋ฏ๋ก ๊ณจ๋ผ์ ์ค์นํด์ฃผ์๋ค.
https://developer.nvidia.com/cuda-toolkit-archive
CUDA Toolkit Archive
Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production
developer.nvidia.com
4. cuDNN ์ค์น
https://developer.nvidia.com/cudnn
NVIDIA cuDNN
NVIDIA cuDNN The NVIDIA CUDA® Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks. cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, nor
developer.nvidia.com
์ด์ ๊ณ ์ง๊ฐ ๋์์ด๋ค.
cuDNN์ ์ฐ์ ํ์๊ฐ์ ์ ํด์ผํ๋ค.
ํ์ ๊ฐ์ ํ Download๋ฅผ ๋๋ฌ ๋ ๋ฒ์ ์ ํธํ๋๊ฒ ์ค์นํด์ค๋ค. (CUDA 10๊ณผ ํธํ๋๋ ๋ฒ์ ์ธ cuDNN 7.4 ์ค์นํจ)
5. ํ๊ฒฝ๋ณ์ ์ค์
์์์์ '์์คํ ํ๊ฒฝ ๋ณ์ ํธ์ง' ๊ฒ์
ํ๊ฒฝ๋ณ์ ํด๋ฆญ ํ
Path์ ์ธ ๊ฐ์ง๋ฅผ ์ถ๊ฐํด์ค๋ค.
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
์ด๋ ๊ฒ ํ๊ฒฝ๋ณ์๊น์ง ์ถ๊ฐํด์ฃผ๋ฉด ์์ฑ~
6. ์ค์น ํ์ธ
conda activate tf # tensorflow ์ค์นํ ๊ฐ์ํ๊ฒฝ ํ์ฑํ
python # python ์คํ
์๋์ฝ๋ค ํ๋กฌํธ(Anaconda Prompt)๋ก ๊ฐ์ํ๊ฒฝ ํ์ฑํ์ํจ ํ ๊ทธ ํ๊ฒฝ์์ python ์คํ
import tensorflow as tf
tf.__version__
์ ๋ ฅํ์ ๋ ๋ฐ์ ํ๋ฉด์ฒ๋ผ ๋จ๋ฉด ๊ทธ๋ฅ tenorflow๋ ์ค์น ์๋ฃ
Successfully opened dynamic library cudart ์ด๋ฐ ๋ฌธ๊ตฌ๊ฐ ์๋จ๊ณ failed opened์ด ๋ฌ๋ค๋ฉด ๋ฒ์ ํธํ์ด ์ ๋๋ ๊ฒ์ด๋ฏ๋ก ๋ค์ ํ์ธ ํ ์ฌ์ค์นํด์ผํ๋ค.
์ด์ ์ค์ํ tensorflow gpu ํ์ธ
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
์ ๋ ฅํด์ ๋ฐ์ ํ๋ฉด์ฒ๋ผ CPU, GPU๊ฐ ๋ชจ๋ ๋จ๋ฉด ์๋ฒฝํ ์ค์น ๋~
↓Tensorflow gpu ์ค์น ํ์ธ ์๋์ฝ๋ค ํ๋กฌํธ ๋ชจ์ต