์ฌ๋ด
๋.. ๊ทธ๋์..gpu๋ฅผ ํ์ฐ๊ณ ์์๋ค. cpu๋ง ์ฐ๊ณ ์์๋ค๋.
์ข์ ์ปดํจํฐ๋ฅผ ๋ ๋๊ณ ์ ํ์ฉ์ ์ ๋ชปํ๊ณ ์์๊น... ํํ์ค๋ฝ๋ค.
๊ทธ๋๋ ์ง๊ธ์ด๋ผ๋ ์์์ผ๋ ์ผ๋ง๋ ๋คํ์ด๋ด.
๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๊ธ ๋ง์ง๋ง ํ๋จ์ ์ค์น๋ฒ์ ์ฐธ์กฐํ ๊ฒ!
ํ๋ํด์ ๋ณด๋ฉด,
True๋ผ๊ณ ๋์ค๋ฉด์ ์ง์์ด ๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ์ค์์ ์๋๋ค.
์ฌ์ฉํ ๋ช ๋ น์ด ๋ชฉ๋ก
import tensorflow as tf
tf.__version__ # ์ค์น๋ tensorflow ๋ฒ์ ํ์ธ
tf.test.is_built_with_cuda() # ์ฟ ๋ค๋ก ๋น๋๋์๋์ง ํ์ธ
tf.test.is_built_with_gpu_support() # cuda์ ๊ฐ์ gpu๋ก ๋น๋๋์๋์ง ํ์ธ
tf.test.gpu_device_name() # ์ฌ์ฉ ๊ฐ๋ฅํ gpu ๊ธฐ๊ธฐ๋ค ๋ชฉ๋ก ๋ฐํ
๋ด gpu ์ํฉ์ ๋ณด๋ฉด, ์ผ๋ถ ์ฟ ๋ค๋ ์ ์์ ์ผ๋ก ์ธ ์ ์์ง๋ง, ์ผ๋ถ๋ ๋ ์๋ ๊ฒ ๊ฐ๋ค.
์ค์ ์ ๋๋ก ์ค์น๋ฅผ ํ์๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ด ๋ ์ผํ๋๋ฐ ๋ง์ด๋ค.
๊ทธ๋์ ๋๋ ๋ค์ ๊ฐ์ํ๊ฒฝ์ ๊น๊ณ ํ๊ฒฝ ์ค์ ์ ๋ค์ํ ์์ ์ด๋ค.
#๋ฐฉ๋ฒ1
๋ค์์ ๋ฐฉ๋ฒ๋๋ก, ๋ฐ๋ผํ ๊ฒ์ด๋ค.
https://coding-groot.tistory.com/87
์ ๋ฆฌ๊ฐ ์๋ ๋ฐฉ๋ฒ์ด ์ฌ๊ธฐ์๋ค. ๋ณํํด์ ๋น๊ตํด์ ๊น์๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
๊ฒฐ๊ตญ์ ๋๋ ๋ฅ๋ฌ๋์ ์ฌ์ฉํ๊ณ ์์ฐ์ด ๋ถ์๋ฑ์ ์ํํ๊ธฐ ์ํด์ tensorflow์ pytorch ๋ฑ์ ์จ์ผํ๋๋ฐ, ๊ฐ์ํ๊ฒฝ ์ธํ ์ ๋๋ฆ ๊ฐ์ฅ ์ต์ ์ ์ฌ๋ฆฐ๊ธ 2021๋ 6์์ ๊ธฐ์ค์ผ๋ก ์คํํด๋ณด์.
# ๋ฐฉ๋ฒ2
https://koreapy.tistory.com/742
์ค์น ํ๋ก์ธ์ค
(๋ด์ฉ)
1. Anaconda Prompt๋ฅผ ์ ์ํ์ฌ Tensorflow ์ค์นํ๋ค
pip install tensorflow
2. ๋ค์ด๋ฐ์ ๋ฒ์ ์ ํ์ธํ๋ค
pip freeze
์ด๊ฒ์ ๊ฒ ๋ค์ํ ํ์ผ๋ค์ด ์ค์น๋ ๊ฒ์ ํ์ธํ ์ ์๋๋ฐ, ์ด๋ค ๋ฒ์ ์ Tensorflow ๋ฅผ ์ค์นํ๋์ง ํ์ธํ๋๋ก ํ๋ค.
3. CUDA ์ cuDNN ๋ฒ์ ํ์ธํ๊ธฐ
๋ณธ์ธ์ด ์ค์น๋ฅผ ํฌ๋งํ๋ tensorflow gpu์ ํธํ๋๋ CUDA, cuDNN ๋ฒ์ ์ ํ์ธํ๋๋ก ํ๋ค.
ํธํ๋๋ CUDA์ cuDNN ๋ฒ์ ์ ํ๋จ์ ๋งํฌ์์ ์ ์ ํ ์ ์๋ค.
Windows: https://www.tensorflow.org/install/source_windows#tested_build_configurations
Mac / Linux: https://www.tensorflow.org/install/source#tested_build_configurations
๋๋ tensorflow == 2.4.1 ๋ฒ์ ์ด๋ฏ๋ก,
4. ๋ณธ์ธ์ ์ปดํจํฐ์ tensorflow gpu์ ํธํ๋๋ CUDA, cuDNN ๋ฒ์ ์ ํ์ธํ๋๋ก ํ๋ค
์์๋ก tensorflow_gpu-2.1.0์ ํธํ๋๋ ๋ฒ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- CUDA: 11.0
- cuDNN: 8.0
CUDA ์ cuDNN ์ ๋ฒ์ ์ ๊ฐ๊ฐ 11๊ณผ 8์ด๋ค.
์ ์๋ก ๋ฑ ๋จ์ด์ง๋ ๋ฒ์ ์ด๋ผ ๊ธฐ๋ถ์ด ์ข๋ค.
5. ํธํ๋ฒ์ ์ CUDA๋ฅผ ์ฐพ์์ ์ค์น
NVIDIA ์ฌ์ดํธ์ ์ ์ํ CUDA Archive์์ ์ํ๋ ๋ฒ์ ์ CUDA๋ฅผ ์ ํํด์ ๋ค์ด๋ก๋ํ๋ค.
์ ์ ๋งํฌ : cuda-toolkit-archive ๋ฅผ ๊ฒ์ํ๋ฉด ๋๋ค.
์ ๊น ์ฌ๊ธฐ์ ์ด๋ค๊ฑธ ์ ํํด์ผํ ๊น?
์ข ๋ง๋ค.
๋ ๋๋ ํญ๊ฐ์ ์ํ๋ฉด, ๋ฏฟ๊ณ 11 ๋ฒ์ ์ ๋ค์ด๋ฐ์ผ๋ผ๊ณ ํ๋ค.
cuda์ ๊ฒฝ์ฐ๋ 11.0์ด ํธํ์ฑ ์ธก๋ฉด์์ ์ข๋ค๊ณ ํ๋ค. (installer type ์ local ์ด๋ค)
๋ค์ด๋ก๋ ๋งํฌ :
์, ํํ ์๋์ฐ 11์ ์ค์นํ ๋ป ํ์๋๋ฐ, ๋ฌผ๋ก ๋น์ฐํ 10๋ฒ์ ์ ์ฐ๊ณ ์๋ค.
11์ cuda๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ ๊ฐ๋ค. ์ด๊ฑด ์ข ๋จ์ ์ด๋ ์ ์๊ฒ ๋ค. ๋์ฒ๋ผ ์๋ก์ด๊ฑฐ ์ข์ํ๋ ์ฌ๋์ด๋ฉด ์ ์๊ธฐ๊ธฐ ๋ฟ๋ง ์๋๋ผ os๋ ์๋ก์ด๊ฑธ๋ก ์ ๋ฐ์ดํธํ๊ณ ์ถ์๊ฑด ๋ชป์ฐธ๋๋ฐ, cuda๋ฅผ ๋ชป์ธ์๋ ์์๋ค ๋ณด๋๊น.
๋ค์ด๋ก๋๋ฅผ ์ค์ํ๋ฉด, 2.7๊ธฐ๊ฐ ์ ๋์ ํ์ผ์ด ๋ค์ด๋ก๋ ๋๋ค.
ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ๊ณ ์ ์ฌ์ฉ์ ์ ์ ์ค์น๋ฅผ ํตํด ์งํ๋์ผํ๋ค.
์ฌ์ฉ์ ์ ์์ค์น์์
- ์ฐ์ , ์ฒดํฌํ์ ํ๋ฉด์์๋ ์๋จ์ ๋งจ ์ cuda ์ฒดํฌ์นธ์ ๋นผ๊ณ ๋๋จธ์ง ํ์๋ค ๋ชจ๋ ์ ๊ฑฐ
- cuda ์์ visual studio integration/ sample/documentation ํ์ ์ ๊ฑฐ
- ์ ๊น ๋ visual studio integration ์ด๋ผ๋ ๊ธฐ๋ฅ์ ์ธ ๊ฒ ๊ฐ๊ธฐ๋ํ๋ฐ ๋ญ๊น -> ๋ฐ์ ๊ธ ์ฐธ์กฐ
- cudnn ์ค์นํ ์์ถํผ ํด๋๋ค(\cuda\*) C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0์์ ๋ฎ์ด์์ฐ๊ธฐ
- cmd) nvcc -V // cuda version ํ์ธ
# visual studio integration ๊ด๋ จ
CUDA 10.2 ์ค์นํ ๋, Visual Studio Integration ์ GeForce Experience๋ฅผ ๋ชจ๋ ์ฒดํฌํด์ ํ์ฌ ์ค์น ์ํด์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๊ณ ํ๋ค.
* ์ฌ๊ธฐ๊น์ง๋ ์ด๋ฏธ ๊ณต๊ฐ๋ ๋ด์ฉ์. ํ์ง๋ง VS 2019๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๊ฒฐ๊ตญ Integration์ ์ค์นํด์ผ ํ๋ค๊ณ ๊ธ์ ์ ์๋ค??
CUDA ์์ถ ํด์ ํ์ ํ์ผ ๋ค ์ค ์ผ๋ถ ํ์ผ์ VS ์ชฝ์ผ๋ก ์ฎ๊ฒจ์ผ ํ๋ค๊ณ ํ๋ค.
CUDA๋ฅผ ๋ค์ด๋ก๋ํ ๋ local์ฉ์ผ๋ก ๋ฐ์์ full source๋ก ๋ฐ์์ผ ํ ๊ฒ์ด๋ผ๋ ์๊ฒฌ์ด๋ค
* ๋ณต์ฌ ํ ์์น(src) : {์์ถํด์ ๋ ์์น}\CUDAVisualStudioIntegration\ extras\visual_studio_integration\MSBuildExtensions\
* ๋ถ์ฌ๋ฃ๊ธฐ ํ ์์น(dst) :(Visual Studio ๋ฒ์ ๋ฐ ๋ณธ์ธ ์ค์ ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค๊ณ ํ๋ค)
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\BuildCustomizations\
์ผ๋จ ์ ๋ฐ์ ์ผ๋ก ์ฒดํฌ๋ฐ์ค์ ํ์๋ฅผ ํด์ ํ๋๊ฒ์ด ๋ง๋๊ฒ๊ฐ๋ค.
์ด๋ ๊ฒ ์งํํด๋ณด์.
๊ทธ๋ฆฌ๊ณ ์ค์น๋ฐ๋ ๋์, cudnn ํ์ผ์ ๋ค์ด๋ก๋ํด์ฃผ์. ๋ด๊ฐ ์ค์นํ Tensorflow๋ฒ์ ๊ณผ ํธํ๋๋ฉด์ ๋์์
๋์ CUDA์๋ ํธํ๋๋ ๋ฒ์ ์ cuDNN์ ๋ค์ด๋ก๋ํ๋ค
๋ค์ด๋ก๋ ๋งํฌ : https://developer.nvidia.com/rdp/cudnn-archive
์ ๊น๋ง...์ด๊ฑฐ tensorflow 2๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์ถ์๋๋ฐ, cuda๊ฐ ๋ฒ์ ์ด 11์ด ๋์ผ๋ฉด ์ฌ์ฉ๋ชปํ๋ค๊ณ ํ๋ค..
์ฆ, cuda ๋ฒ์ ์ด ๋ฎ์์ผํ๊ณ , tensorflow๊ฐ 2.4.1์ด ์๋ ๋ฎ์๊ฒ ํ์ํ๋ค๋ ๋ง์.
์ฆ, ๋ค์ ์๋์ฝ๋ค๋ก ๋ค์ด๊ฐ์, ๋ฒ์ ์ ๋ฎ์ถฐ์ ์๋์ฝ๋ค์์ tensorflow๋ฅผ ์ค์นํด๋ณด์.
1. anaconda ์ค์น ํ ํ์ด์ฌ 3.7์ ์ค์นํ ๊ฐ์ํ๊ฒฝ ์์ฑํ์
conda create -n forTensorflow python==3.7
# ํ ์ํ๋ก์ฐ๋ฅผ ํ๊ธฐ์ํ ๋ฒ์ ์ 3.7๋ก ๊น๊ธฐ ์ํด ์ด๋ฆ์ ์ ๋ ๊ฒ ์ง์๋ค.
2.ํ์ฑํ
conda activate forTensorflow
3. tensorflow ~~~~ ์ค์น(๋ฒ์ ์ง์ ์ํ๊ณ ๊ทธ๋ฅ ์ค์นํ๋ฉด 2.0์ด ์ค์น๋จ) ๊ทผ๋ฐ 2.1๋ฒ์ ์ ๋ค์ด๋ฐ์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์
pip install --ignore-installed --upgrade tensorflow==2.1.0
์คํค. ์ค์น๊ฐ ์๋๋ค
pip freeze ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ํ์ฌ ์ค์น๋ ํ์ผ์ด ์์์ ์ ์ ์๋ค
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
pip install --ignore-installed --upgrade tensorflow==2.1.0
์ด์ ์ฒด์ (OS): ์๋์ฐ 10
๊ทธ๋ํฝ ์นด๋(GPU): GeForce RTX 2060 super
CUDA 10.1
cuDNN 7.6
Python 3.7
tensorflow-gpu-2.1.0
ใ
์ฑ๊ณตํ๋ฉด
๋๋์
์ค์น๊ณผ์ ์ด ๊ฝค๋ ๋ณต์กํ๋ค.์ด๋ด๊ฑฐ๋ฉด ์ ์ด๋ฐ์์ผ๋ก ๋ง๋ ๊ฑฐ์ง..ใ ใ
'๐๏ธ์ํํธ์จ์ด > ๐ปpython' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
python ๊ฐ์ํ๊ฒฝ ์ค์น์ค์ vscode ์๋ฌ : Kernel process Exited (0) | 2021.12.04 |
---|---|
RNN ๊ตฌ์กฐ ์ตํ๊ธฐ (0) | 2021.12.03 |
crawling parrel processing (0) | 2021.11.30 |
[๋ฐฑ์ค]10798. ์ธ๋ก์ฐ๊ธฐ (0) | 2021.11.29 |
[python] Yotube crawling , ์๋ ํฌ๋กค๋ฌ ๊ฐ๋ฐ (0) | 2021.11.28 |