본문 바로가기

IT

아나콘다 및 TensorFlow 설치기

728x90
반응형
SMALL

금일은 왠지 딥러닝에 대해 관심을 갖게 되면서 나도 한번 깔아서 실행해 보자 하고 시도하게 되었습니다. 

우선 제 컴퓨터 환경은 이렇습니다.


OS : Windows 10 Home (x64)

CPU : i7-7700K

RAM : 64 GB

그래픽 : GTX 1080 Ti

HDD : 삼성 960 Pro 1TB



딥러닝에 대해서 검색해 봤을 때 GPU 기반 Process 진행 시 개인적인 동작은 1080 Ti로도 괜찮다는 내용이 있어서 급히 개인 환경을 구축해보고 싶어서 시도하게 되었지만 이게 화근이 될 줄이야...


정리된 순서는 이렇습니다.

1. 아나콘다 설치

2. 텐서 플로우 설치

3. cuda 설치

4. cdnn 설치

5. 환경 변수 확인

6. 실행


처음에 어떤 블로그에서는 아나콘다 설치하고 텐서플로우 설치하면 된다~

어떤 블로그에서는 파이썬을 먼저 설치하고 비쥬얼 스트디오를 설치하고 나서 아나콘다 설치하고 cuda를 설치하고 cdnn을 설치하고.. 어쩌구 저쩌구...

다 해봤지만 위 경우 제 결과물 내용은 아래와 같았습니다.


Python 3.6.8 |Anaconda, Inc.| (default, Feb 21 2019, 18:30:04) [MSC v.1916 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import tensorflow as tf

Traceback (most recent call last):

  File "C:\Anaconda3\envs\tensorflowKJ\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>

    from tensorflow.python.pywrap_tensorflow_internal import *

  File "C:\Anaconda3\envs\tensorflowKJ\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>

    _pywrap_tensorflow_internal = swig_import_helper()

  File "C:\Anaconda3\envs\tensorflowKJ\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper

    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)

  File "C:\Anaconda3\envs\tensorflowKJ\lib\imp.py", line 243, in load_module

    return load_dynamic(name, filename, file)

  File "C:\Anaconda3\envs\tensorflowKJ\lib\imp.py", line 343, in load_dynamic

    return _load(spec)

ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "C:\Anaconda3\envs\tensorflowKJ\lib\site-packages\tensorflow\__init__.py", line 24, in <module>

    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import

  File "C:\Anaconda3\envs\tensorflowKJ\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>

    from tensorflow.python import pywrap_tensorflow

  File "C:\Anaconda3\envs\tensorflowKJ\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>

    raise ImportError(msg)

ImportError: Traceback (most recent call last):

  File "C:\Anaconda3\envs\tensorflowKJ\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>

    from tensorflow.python.pywrap_tensorflow_internal import *

  File "C:\Anaconda3\envs\tensorflowKJ\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>

    _pywrap_tensorflow_internal = swig_import_helper()

  File "C:\Anaconda3\envs\tensorflowKJ\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper

    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)

  File "C:\Anaconda3\envs\tensorflowKJ\lib\imp.py", line 243, in load_module

    return load_dynamic(name, filename, file)

  File "C:\Anaconda3\envs\tensorflowKJ\lib\imp.py", line 343, in load_dynamic

    return _load(spec)

ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.



무슨짓을 해도 저 ImportError를 벗어날 수 없었지요.

환경변수 추가하라는 내용도 확인 되어서 환경변수를 확인해보니

Patch 쪽에 Anaconda 환경변수가 누락 되어있는건 확인 되었으나 저걸 추가해도, 다시 설치해봐도 동일한 결과를 가져올 뿐이였습니다...


그래서 결론 지은 내용.


1. 아나콘다 설치

https://www.anaconda.com/distribution/#download-section

 - Windows10 환경에서 꼭 관리자 권한으로 실행해보세요

 - 경로는 기억해둡시다!

2. 설치 이후 새로생긴 'Anaconda Prompt' 를 관리자 권한으로 실행

3. Anaconda Prompt에서 가상환경 만들기

 - 처음 실행 시 

     (base) C:\WINDOWS\system32>

   상태로 나올건데 이때 아래 명령어를 입력

conda create --name [이름]

 - [이름] 부분에 자기가 원하는 가상환경 이름으로 작성하시면 됩니다.

 - 저의 경우 tensorflowKJ 로 했는데요. 괜히 길게 썼다가 지금 후회중이라는 후문.

  → 저 처럼 만든신다 할땐 conda create --name tensorflowKJ 가 되겠네요.

4. 가상환경 실행

active [이름]

 - 역시나 [이름] 부분은 위에 생성한 가상환경 이름을 따라갑니다.

 - 저의 경우 active tensorflowKJ 가 되겠네요.

 - 실행 완료 시 처음 실행했던 모습이랑 다르게 됩니다.

   기존 : 

     (base) C:\WINDOWS\system32>

   실행 후 :

(이름) C:\WINDOWS\system32>

   - 누누히 말하지만 (이름) 부분은 앞서 생성한 가상환경 이름을 따라갑니다.

5. CUDA, CUDNN 설치

 - CUDA는 아래 주소로 설치

https://developer.nvidia.com/cuda-toolkit-archive

* 저는 앞서 검색했던 블로그 내용으론 CUDA가 10이 지원이 안될 수 있다 해서 9.2로 깔았는데요.. 그래도 처음엔 실행이 안되었습니다. 

* 경로는 꼭 기억해주세요!

  해결 했던 방법은 아래 서술.

- CUDNN은 아래 주소로 설치

https://developer.nvidia.com/cudnn

* 이때 설치하는 CUDNN 버전은 앞서 설치한 CUDA 버전을 참조하여 깔아주세요. 

* 저의 경우 CUDA 9.2 로 깔았으니... Download cuDNN v7.5.0 (Feb 21, 2019), for CUDA 9.2 로 깔았습니다.

* 처음 접속 시 가입을 하라는 메세지가 뜨는데 가볍게 가입해줍시다.

* 다운로드 받으면 압축파일로 열릴건데 이 파일을 앞서 CUDA가 설치된 위치에 붙여넣습니다.

ex) C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2

6. 환경 변수 확인

(1) 탐색기를 실행 후 [내컴퓨터]에 좌클릭 - [속성]에 들어갑니다.

(2) 나온 화면에서 우측에 [고급 시스템 설정]에 들어갑니다.

(3) 시스템 속성이라는 창이 뜨면 [고급] 탭을 누르고 아래 [환경 변수(N)] 이라는 버튼을 누릅니다.

(4) 시스템 변수에 CUDA_PATH와 CUDA_PATH_V(버전) 이 존재 하는지 1차 확인

  - (버전)은 앞서 깔은 CUDA버전을 말하며 저의 경우 CUDA PATH_V9_2 였습니다.

이름도 확인하는겸 CUDA가 깔린 위치가 제대로 기록되어있는지 봅니다.

(5) (사용자)에 대한 사용자 변수에서 'Path'라는 항목을 누르고 아래 [편집]을 누름

 - (사용자)는 윈도우즈에 로그인한 User의 이름이 들어가있습니다.

 - [편집]을 누를 시 "환경 변수 편집" 이라는 창이 뜨는데 이때 아나콘다가 설치한 위치가 등록 되어있는지 봅니다.

 - 저의 경우 C:\Anaconda3 에 설치를 하였고 내용이 누락되어있어서 아래와 같이 등록했습니다. 

(등록은 빈 칸에 더블클릭 또는 우측에 [새로 만들기] 버튼을 눌러서 추가합니다.)

C:\Anaconda3

C:\Anaconda3\Scripts

C:\Anaconda3\Library\bin

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin

     * 설치한 위치는 위에 기억해 두라는 위치이니 입력해두시면 됩니다.

(6) 다 추가가 되었으면 [확인] 버튼들을 눌러서 나오고 윈도우 재부팅 또는 로그오프 후 다시 윈도우즈에 진입합니다.

7. Tensorflow 설치하기

 - Tensorflow는 CPU버전과 GPU버전이 있다는데요. GPU가 연산쪽에서는 CPU보다 빠르다는 내용을 받았기에 저는 GPU버전을 설치합니다.

 - 우선 Anaconda Prompt를 관리자 권한으로 실행 후 차례대로 입력

activate [이름]

* Case 1 ) GPU 버전을 깔 경우 

pip install –upgrade tensorflow-gpu

* Case 2 ) CPU 버전을 깔 경우

pip install –upgrade tensorflow

입력창이 다 나올 때 까지 대기 해주시고

설치가 완료 되었다면 Phyton 실행 (아래 내용을 입력)

phyton

8. Tensorflow 동작해보기

자 이제 제대로 깔렸는지 볼 시간입니다. (저는 이 순간 몇번을 실패했음)

아래 내용을 입력해봅니다.

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

* 위 내용 결과가 b'Hello, TensorFlow!' 라는 내용으로 뜨면 성공! 아니라면 (저와 같다면) CUDA, CUDNN을 아나콘다 내에서 설치합니다.

1) 우선 phyton을 나옵니다. 

나오는 법은 아래를 입력합니다.

>>> exit()

2) CUDA, CUDNN을 설치하기 위해 아래를 입력합니다.

conda install -c anaconda cudatoolkit
conda install -c anaconda cudnn

 위에 내용을 복사, 붙여넣기 하시면 알아서 깔립니다. 

3) 다시 8번으로 돌아가서 동작해봅니다.

phyton

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

* 위 내용 결과가 b'Hello, TensorFlow!' 라는 내용으로 뜨면 성공!!!!!

이래도 안된다면.... 저도 더이상 방법을 모르겠네요 .. :(


이상으로.. Tensorflow 1도 모르는 초보자의 Tensorflow 설치기였습니다!

다른 초보자분들도 꼭 문제를 해결 해 보시길 바라며... 이 글을 남깁니다 :)

좋은 하루보내셨길 바랍니다.


* 참고 ! 아래는 제가 성공했을 때 내용입니다.


(tensorflowKJ) C:\WINDOWS\system32>python

Python 3.6.8 |Anaconda, Inc.| (default, Feb 21 2019, 18:30:04) [MSC v.1916 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import tensorflow as tf

>>> hello = tf.constant('Hello, TensorFlow!')

>>> sess = tf.Session()

2019-03-17 19:17:58.929770: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

2019-03-17 19:17:59.108599: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties:

name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582

pciBusID: 0000:01:00.0

totalMemory: 11.00GiB freeMemory: 9.10GiB

2019-03-17 19:17:59.118034: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0

2019-03-17 19:17:59.481590: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:

2019-03-17 19:17:59.485310: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0

2019-03-17 19:17:59.487303: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N

2019-03-17 19:17:59.489824: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 8780 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1)

>>> print(sess.run(hello))

b'Hello, TensorFlow!'



728x90
반응형
SMALL

'IT' 카테고리의 다른 글

Locale Emulator 설치 방법과 사용 방법  (1) 2023.04.04
[AI사진] 오늘 뽑은 사진들  (0) 2023.03.04
[WebUI] 설치 및 개인적인 Tip  (0) 2023.03.04
[WebUi] 처음부터 시작  (0) 2023.03.03