한국 시간으로 2016년 11월 29일 저녁 아래 실험은 핵심 변경 사항 중 여러 방법이 있으나 필자는 Window TensorFlow는 모든 작업을 anaconda만 설치하면 환경변수등 자동으로 설정 되므로 다운로드: https://www.continuum.io/downloads 다운로드 https://developer.nvidia.com/cuda-downloads 필자의 Window환경 컴퓨터의 GPU 스팩이다. Deep Learning을 위해서 엔비디아에서 제공하는 추가 라이브러리 꾸러미이다. 다운받으면 그냥 압축 파일이므로 압축해제후 CUDA 설치 경로에 붙여넣기 해야한다. 윈도우 버전은 파이썬 3.5 에서 하다. 처음 설치 업데이트 방법 (추후에 새로운 버전이 나왔을 때) 최근에 설치확인 Jupyter Notebook에서의 실행결과 간단한 MNIST 셋의 CNN을 이용한 손글씨 인식을 학습해 본다. 자세한 코드는 이전 POST를 참조한다. 소스코드 위치: https://github.com/leejaymin/TensorFlowLecture/tree/master/5.CNN CNN으로 평가한 컴퓨터 환경들은 아래와 같다. 실험 예정윈도우 GPU tensorflow 설치 및 그래픽카드별 성능 비교
TensorFlow v0.12.0 RC0
가 업데이트 되었다.TF 1.4.0
에서 테스트 한것이다.
현재는 1.6
까지 나온듯 하다 (2018-03.27).Window
에서 GPU 버전의 TensorFlow
를 지원한다는 부분이 있다.
이제 Docker
를 쓰지 않고 CPU 버전을 설치 할 수 있는것은 물론 Ubuntu
에서만 가능하던 GPU 버전도 설치가 가능하다.
설치방법과 Window GPU
버전 텐서플로의 학습 속도를 분석해 본다.설치방법
Anaconda
를 이용한 방법으로 설치한다. 가장 간단한다. 추가로 딱히 Window에선 Python 다른 응용을 개발하지 않으므로 특별히 conda
또는 virtualenv
를 설정하지않고 global
에 직접 설치한다. 기존 시스템과의 충돌을 걱정한다면 가상환경을 만들고 설치하길 권장한다.
방법: https://www.tensorflow.org/versions/r0.12/get_started/os_setup.html#pip-installation-on-windows1. Anaconda 4.2.0 설치
NumPy
, SciPy
, Pandas
, Matplotlib
등의 과학연산에 필요한 Python package들을 통합했으며 Jupyter Notebook
을 제공하는 환경이다.Python 3.5
이상부터 동작하므로 해당 Anaconda
를 관리자 권한
으로 설치한다.pip
명령어를 이용해서 하나하나 설치하는것 보다 훨씬 효율적이다.2. CUDA 8.0.44 -win 10 설치
Tensorflow v0.12.0 RC0
는 CUDA 8.0이상을 권장하므로 이것을 설치한다.Network
버전은 설치가 오래걸리므로 local
버전 1.2GB 상당을 직접 다운받아서 설치한다.name: GeForce GTX 745
major: 5 minor: 0 memoryClockRate (GHz) 1.0325
3. CuDNN 5.1 설치
다운로드: https://developer.nvidia.com/cudnnCUDA 8.0
은 cuDNN 5.1
을 설치해야한다.
회원 가입을 하고 다운 받는다.
CUDA 설치 경로 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
4. TensorFlow-GPU 설치
0.12 RC0 버전 부터는 텐서플로우 패키지가 PyPI 에 업로드되어 있어 pip 명령으로 간단히 설치할 수 있게 되었다.pip install tensorflow-gpu
pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0rc1-cp35-cp35m-win_amd64.whl
RC0
에서 RC1
로 업데이트 되었다. 기존 RC0
사용자라면 버그가 고쳐진 새로운 버전으로 업데이트 할 때 위 명령어를 이용 한다.
Anaconda prompt를 관리자 권한으로 실행한다.
python을 실행하고 아래의 script를 실행해 본다.>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
Anaconda
를 설치하면 자동으로 Jupyter Notebook
이 설치된다.Jupyter Notebook
을 실행해서 아래의 코드를 실행해보자.
정상적으로 수행되면 설치 성공이다.성능 테스트
CNN
구조는 아래와 같다.
해당 repo를 clone해서 그 안에 CNNforMNIST.py
를 실행 한다.
실행이 끝나면 경과된 시간이 출력 된다.10 GFLOPS
793 GFLOPS
, 메모리:4096 MB
상세스팩: https://www.techpowerup.com/gpudb/2561/geforce-gtx-745-oem2448 GFLOPS x2
3.5 TFLOPS
3.9 TFLOPS
보스몬스터 DX3 6708KSW
컴퓨터에서 수행한 것이다.i7, 10 GFLOPS
105분 31초
GTX 745, 793 GFLOPS
36분 30초
K520, 2448*2 GFLOPS
22분 4초
GTX 970, 3.4 TFLOPS
9분 10초
GTX 1060 3GB, 3.9TFLOPS
8분 5초
GTX 1080, 8.87 TFLOPS
5분 27초
Tesla P100, 9.3 TFlops
4분 57초
Tesla P100, 9.3 TFlops (8개)
RTX 2080ti, 13.4 TFLOPS
`4분 6초``결론
I7-CPU
(6331초)를 기준으로 비교했을 때 각각의 성능 향상은 아래와 같다.2.89x
4.78x
11.5x
13x
19.3x
21.3x
25.7x
'Data Science > TensorFlow, PyTorch, Keras, Scikit' 카테고리의 다른 글
20.04 우분투기반 NVIDIA GeForce RTX 3090에 CUDA, cuDNN Pytorch 설치 (1) | 2020.12.16 |
---|---|
TensorFlow GPU (RTX 2080ti)버전 우분투 18.04 설치 하기 (1) | 2019.05.03 |
윈도우 GPU tensorflow 설치 및 그래픽카드별 성능 비교 (55) | 2019.05.03 |
Jupyter에 conda env. 추가하기 (0) | 2018.08.05 |
TensorFlow를 공용 GPU에서 사용 할 때 메모리 절약 방법 (0) | 2018.08.02 |
TensorFlow GPU 버전 우분투 16.04에 설치 하기 (10) | 2018.07.31 |
- 이전 댓글 더보기
-
cyberyoshi 2017.02.07 13:28
좋은 글 감사합니다.
저도 딥러닝 공부해보려고, windows 10에 anaconda 4.2.0, python 3.5.2 깔고, CUDA, cuDNN 설치하고서 python 테스트를 했는데, 이렇게 나오네요..
>>> import tensorflow as tf
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:119] Couldn't open CUDA library cublas64_80.dll
CUDA, cuDNN은 디폴트로 설치했는데, 링크가 잘못된 걸까요? ㅠㅠ -
ksh 2017.02.22 17:22
좋은글 잘 봤습니다!!
잘 따라하다가 tensorflow-gpu 설치하는거 까진 잘 완료가 되었는데
import tensorflow 하는 부분에서 많은 오류들이 나서 질문드려요!
successfully opened CUDA library cublas64_80.dll locally
Couldn't open CUDA library cudnn64_5.dll
Unable to load cuDNN DSO
successfully opened CUDA library cufft64_80.dll locally
Couldn't open CUDA library nvcuda.dll
hostname: x??
되게 길게 에러가 나왔는데 젤 위에 있는 오류만 써보았구여
CUDNN 압축 풀어서 폴더채로 해당경로에 집어넣는 것도 했는데
어떤것이 문제인지 알려주시면 감사하겠습니다!! -
-
ksh 2017.03.02 01:06
찾아보니 CUDA를 실행시키려면 nvidia에서 나온 gpu가 필요한거같은데 제가 nvidia gpu가 아니여서 안되는거일까요?
-
ksh 2017.03.02 23:20
그럼 cuda가 안되는게 anaconda에서 tensorflow-gpu가 설치후 import시 문제가 일어나는 거랑 관련이 있는거죠..?
-
신서현 2017.03.29 14:56
안녕하세요 올려주신 코드를 따라하는 와중에 문제가 생겨서 문의드립니다.
음.. 우선 제 그래픽 카드는 GeForce8800GT 인데요.. NVIDIA 사의 그래픽 카드가 맞는데
알려주신데로 CUDA와 CUdnn을 설치 하고 (Cudnn은 맞는 경로에 붙여넣기, 폴더자체를 그냥 대체해서 붙여넣었습니다)
아나콘다의 cmd창을 띄워서 tensor flow를 다운받고 import 하는것 까지는 되었습니다만.. sess = tf.Session() 만 하게 되면 오류가 뜹니다.
Check failed: s.ok() could not find cuDevice PrimaryCtxSetFlags in libcuda DSOl dlerror: cuDevicePrimaryCtxSetFlags nor found
음.. 혹시 제 컴퓨터에서는 gpu가 안되는것일까요? -
DY 2017.06.26 15:15
안녕하세요, 최근 프로그래밍에 입문하게 된 사람인데요,
블로그에 쉽게 따라할 수 있게 포스팅 해주셔서 감사하단 말 먼저 올리고 싶습니다.
위의 과정을 따라하던 중 아래와 같은 단계에서 계속 오류가 나서 질문드립니다.
아나콘다를 관리자권한으로 실행한 뒤,
(D:\Anaconda3) C:\WINDOWS\system32>python
로 파이썬을 실행하고,
>>> import tensorflow as tf
이 명령을 쳤는데, 자꾸 아래와 같은 오류가 나서요..
Traceback (most recent call last):
File "D:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "D:\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 648, in _load_unlocked
File "<frozen importlib._bootstrap>", line 560, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 922, in create_module
File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "D:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "D:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
return importlib.import_module('_pywrap_tensorflow_internal')
File "D:\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\Anaconda3\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
from tensorflow.python import *
File "D:\Anaconda3\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "D:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 52, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "D:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "D:\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 648, in _load_unlocked
File "<frozen importlib._bootstrap>", line 560, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 922, in create_module
File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "D:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "D:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
return importlib.import_module('_pywrap_tensorflow_internal')
File "D:\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
어떻게 하면 좋을까요..?
모든 설치는 권리자권한으로도 재시도해보았으나 같은 증상이 나타납니다.
혹시, 아나콘다와 파이썬을 D드라이브에 깔고, C드라이브에 cuda를 깔아서 경로가 충돌하는 것인지..
도움 주시면 정말 감사하겠습니다!-
jsjoh 2019.11.13 09:58
pip install은 하셨나요? 아나콘다에서 가상환경을 사용하시면 가상환경을 activate한 후에, 가상환경을 사용하지 않으신다면 파이썬이 설치된 폴더의 하위 폴더 scripts에서 'pip install tensorflow'하셔야 합니다.
(python을 windows/system32 경로에서 실행하셨는데 파이썬이 그곳에 설치되지는 않았을겁니다. 설치된 경로는 모르시면, 윈도우 설정/앱 에서 파이썬 삭제하신 다음에, 새로 설치하시면서 custom설치하셔서 쉬운 경로(예를 들면 c:\python37)에 설치하신 후 작업하시는게 편리하실 수 있습니다.
-
-
10010 2018.03.02 13:19
1080Ti 병렬로 4대가 묶여있는 컴퓨터가 있어서 테스트를 해보았는데요
cuda out of memory 에러가 나면서 화면이 나가버립니다 ㅠㅠ
해결하게되면 성능 측정 해드리겠습니다 ^^ -
Lee Seiyon 2020.01.11 17:59
i7-7700HQ
python 3.5.6
tensorflow-gpu 1.12
CUDA 9.0
time elapsed 504.04s
얼추 맞는 성능이네요. 감사합니다.