본문 바로가기
다시 개발자

Windows 10에 Tensorflow 설치하기

by 까삼스 이삐 2021. 12. 5.
728x90
반응형

Tensorflow를 anaconda를 이용해서 windows10에 설치하는 방법입니다.


0. Tensorflow2.5 설치를 위한 요구사항

소프트웨어

* python 3.9

* pip 19.0 이상 

* msvcp140_1.dll - Visual Studio 2015, 2017 및 2019용 Microsoft Visual C++ 재배포 가능 패키지에서 설치 가능

* NVIDIA Driver

* CUDA Toolkit

* cuDNN SDK

 

하드웨어

* CUDA® 아키텍처 3.5, 5.0, 6.0, 7.0, 7.5, 8.0 이상을 포함하는 NVIDIA® GPU 카드

 

상세한 내용은 Tensorflow 설치 가이드를 참조하십시오.

 

1. Visual Studio 2015, 2017 및 2019용 Microsoft Visual C++ 재배포 가능 패키지 설치

tensorflow를 본격적으로 설치하기 앞서 Visual Studio 재배포 가능 패키지를 설치합니다.

Visual Studio 2015, 2017 및 2019용 Microsoft Visual C++ 재배포 가능 패키지를 설치합니다. TensorFlow 2.1.0 버전부터 msvcp140_1.dll 파일이 이 패키지에 필요합니다(이전 재배포 가능 패키지에서는 제공되지 않을 수 있음). 재배포 가능 패키지는 Visual Studio 2019와 함께 제공되지만 별도로 설치할 수 있습니다.

재배포 패키지는 아래 사이트에 가면 받을 수 있습니다.

https://docs.microsoft.com/ko-KR/cpp/windows/latest-supported-vc-redist?view=msvc-170 

 

지원 되는 최신 Visual C++ 재배포 가능 패키지 다운로드

이 문서에는 Visual C++ 재배포 가능 패키지 패키지의 최신 버전에 대 한 다운로드 링크가 나열 되어 있습니다.

docs.microsoft.com

 

그리고 64bit에 해당하는 버전을 download 받아 설치합니다.

 

 

2. Anaconda 64bit 설치

tensorflow는 64bit에서 제대로 실행되기 때문에 anaconda 64bit를 설치합니다. 

2021.12.05 - [다시 개발자] - Anaconda 설치

 

Anaconda 설치

Anaconda를 통해 python 64비트 설치하는 방법입니다. anaconda는 installer를 download 받은 후 default로 선택된 항목 선택해도 잘 설치됩니다. 저는 anaconda 설치 경로만 변경해서 설치했습니다. 자세한 내용..

kka3seb.tistory.com

 

그리고 Anaconda prompt를 실행합니다. 이후 prompt상에서 실행하는 명령어는 모두 Anaconda prompt에서 실행할 예정입니다.

conda 관련 명령어는 다음 사이트를 참조하십시오.

https://conda.io/projects/conda/en/latest/commands.html

 

3. Anaconda 가상 환경 만들기

향후 확장성 및 관리 편의성 등을 고려해서 가상 환경을 만듭니다.

 

정확한 python 버전을 확인합니다.

(base) C:\Users\홍길동> python --version

 

 

'tf' 이름에 python 3.9.7로 가상 환경을 만듭니다. (가상환경을 만들 때 현재 python 버전은 상관 없지만 현재 base에 설치된 python 버전과 일치하는 tensorflow용 가상환경을 만들기 위해 현재 설치된 python 버전을 확인 한 것입니다.)

(base) C:\Users\홍길동> conda create -n tf python=3.9.7

 

가상환경 활성화

(base) C:\Users\홍길동> conda activate tf

prompt 맨 앞이 (base)에서 (tf)로 바뀐 것을 알 수 있습니다. 

 

4. tensorflow 설치

Tensorflow 설치 가이드를 보면 tensorflow를 설치하기 위해서는 Python 3.6~3.9, pip 19.0 이상이 필요합니다. 그리고 tensorflow 2부터는 CPU와 GPU 지원이 포함된다고 합니다. 그래서 이전과 다르게 tensorflow 하나만 설치하면 됩니다.

 

tensorflow 설치에 앞서 cuDNN과 CUDA 버전이 확인이 중요합니다. 더욱이 CUDA 버전이 맞지 않으면 tensorflow 실행이 안됩니다.

 

tensorflow 설치 버전을 확인합니다. (상세내역 확인 URL)

python과 pip 버전을 확인합니다.

만약 pip 버전이 19 이하면 pip을 upgrade 해 줍니다.

(base) C:\Users\홍길동> pip install --upgrade pip

 

이제 tensorflow를 설치합니다.

(tf) C:\Users\홍길동> pip install tensorflow==2.5.0

 

제대로 설치되었는지 확인을 합니다.

(tf) C:\Users\홍길동> pip show tensorflow

base에서는 tensorflow를 찾지 못했지만 tf에서는 제대로 설치된 것을 알 수 있습니다. 그리고 설치된 버전도 원하는 버전으로 잘 설치되었습니다.

 

하지만 python을 실행한 후 tensorflow를 import 하면 "Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found" error가 납니다.

(tf) C:\Users\홍길동> python                  
>>> import tensorflow as tf

 

 

바로 "cudart64_110.dll"이 없어서 난 error입니다. "cuda toolkit"을 설치하면 해결할 수 있습니다.

 

5. NVIDIA GPU 드라이버

CUDA Toolkit을 설치하기 전에 NVIDIA GPU 드라이버를 설치합니다.

 

우선 자신의 컴퓨터에 있는 GPU 모델을 확인합니다.

 

방법은 장치 관리자를 실행해서 "디스플레이 어댑터"를 클릭해 보면 컴퓨터에 설치된 GPU 모델을 확인할 수 있습니다.

 

NVIDIA driver download 사이트에서 내 컴퓨터에 설치된 그래픽 카드와 일치하는 driver를 download 받습니다.

 

https://www.nvidia.com/download/index.aspx?lang=en-us 

 

Download Drivers | NVIDIA

 

www.nvidia.com

 

하지만 안타깝게도 제 노트북에는 "Intel(R) UHD Graphics"가 설치되어 있습니다. 

 

6. CUDA Toolkit 설치

CUDA Toolkit을 다음 사이트에서 download 받을 수 있습니다.

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

 

 

저는 그중에서 tensorflow 2.5.0과 호환이 되는 CUDA Toolkit 11.2.2를 받아서 설치합니다.

2021.11.28 - [다시 개발자] - Could not load dynamic library 'cudart64_110.dll';

 

Could not load dynamic library 'cudart64_110.dll';

Python에서 "pip install tensorflow"로 tensorflow를 설치한 후 tensorflow를 import할 때 "Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found"라는 에러가 발생했을 때..

kka3seb.tistory.com

 

설치를 완료한 후 tensorflow를 import 해 보면 다음과 같이 제대로 실행됨을 알 수 있습니다.

여기서 한 가지 주의할 사항이 있는데, 바로 이전에 실행했던 prompt창을 닫았다 다시 실행해야 한다는 점입니다.

왜냐하면 prompt는 실행할 때 가지고 있는 상황(환경)에서 돌아(실행) 가기 때문에 실행하는 동안에 변경된 사항이 바로 반영되지 않기 때문입니다.

 

CUDA Toolkit을 설치하고 tensorlfow import는 제대로 되었는데 tensorflow에서 제공하는 예제를 실행했더니 "Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found"라는 error나 나왔습니다. 하지만 예제는 정상적으로 실행이 되었습니다.

 

이는 "nvcuda.dll"이 없어도 tensorflow를 실행하는데 문제가 없다는 얘기입니다. 그러나 nvcuda.dll 이 필요한 이유는 아마도 GPU Driver를 이용하기 위함입니다. 그래서 jupyter notebook으로 실행을 했을 때도 문제가 없는 것처럼 보였던 것입니다.

2021.12.04 - [다시 개발자] - Tensorflow 제대로 설치되었는지 확인하기

 

Tensorflow 제대로 설치 되었는지 확인하기

Python에서 "pip install tensorflow"로 tensorflow를 설치한 후 제대로 설치되었는지 확인하는 방법입니다. 우선 jupyter notebook로 tensorflow가 제대로 설치되었는지 확인하는 방법입니다. Jupyter notebook..

kka3seb.tistory.com

 

그래서 저처럼 GPU 그래픽 카드가 없는 사람은 cuDNN을 굳이 설치 안 해도 됩니다. cuDNN은 GPU를 이용할 때 더욱 속도를 향상하기 위한 방법이기 때문입니다.

 

7. cuDNN 설치

cuDNN은 다음 사이트에서 download 받을 수 있습니다. 

https://developer.nvidia.com/rdp/cudnn-archive

 

저는 여기서 CUDA 11.2와 호환이 되는 cuDNN v8.1.1을 선택했습니다. 그랬더니 OS별로 download 받을 수 있는 목록이 나왔습니다. windows 버전은 하나밖에 없어 windows 용 cuDNN을 선택했습니다.

 

로그인을 하면 download가 진행됩니다. 

 

회원 가입이 되어 있지 않으면 회원 가입을 합니다. 

2021.12.04 - [다시 개발자] - NVIDIA Developer Program Membership 회원 가입

 

NVIDIA Developer Program Membership 회원 가입

NVIDIA Developer Program Membership 회원 가입 방법입니다. 1. NVIDIA Developer site에 접속합니다. https://developer.nvidia.com/ NVIDIA Developer Let’s Invent The Future Together Inspiring Sessions...

kka3seb.tistory.com

 

download 파일은 예상과 달리 설치 프로그램이 아닌 zip 파일입니다. 그래서 zip을 풉니다.

CUDA Toolikit이 설치된 "C:\Program Files\NVIDIA GPU Computing Toolkit"에 "cuDNN"이라는 새로운 폴더를 만들어 download 받았던 파일을 옮깁니다.

그리고 "C:\Program Files\NVIDIA GPU Computing Toolkit\cuDNN\bin"을 환경변수 "path"에 추가합니다.

2021.12.04 - [다시 개발자] - windows 10, 환경 변수 설정

 

windows 10, 환경 변수 설정

windows 10에서 환경 변수 설정하는 방법입니다. windows 검색창에서 "설정"이라고 입력해서 "설정"앱을 선택합니다. 설정 앱에서 "시스템"을 선택합니다. 왼쪽 메뉴를 아래로 내리면 "정보"가 보입니

kka3seb.tistory.com

 

그리고 제대로 설정되었는지 prompt에서 "path"를 통해 확인해 봅니다.

 

제 컴퓨터에 NVIDIA GPU 그래픽 카드가 없어서 NVIDIA GPU driver를 설치하지 못해 tensorflow를 실행할 때 "Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found" 에러가 계속 나지만 tensorflow에서 제공하는 예제는 제대로 실행된 것을 확인했습니다. 만약 제 글에서 잘 못된 점이나 저에게 도움을 줄 내용이 있으면 댓글 남겨 주시면 감사하겠습니다.

 

728x90
반응형

댓글