티스토리 뷰
우리가 신나는 게임을 할때 그래픽 카드에 영향을 많이 받지만 컴퓨터가 알아서 자동으로 그래픽 카드를 인식하고 작동하지만, 데이터 분석을 할때는 여러가지 설정을 해줘야 합니다.
이글에서는 인공지능 학습을 할때 가장 유명한 패키지인 텐서플로우를 GPU에서 실행할 수 있는 설정방법을 설명하고자 합니다.
해당 컴퓨터 사양은 window 11에서 RTX 4070 laptop GPU가 설치되어 있다고 가정합니다.
이 글은 Windows 11에서 Tensorflow를 실행하여 최신 Visual Studio, CUDA 및 최신 드라이버와 함께 모델링에 GPU를 사용하는 과정을 설명합니다.
미리 말하지만 최신버전인 cuda 12.1과 cudnn 8.8.1 버전은 작동되지 않는 것을 확인되었고
cuda 11.8버전과 cuddd 8.8.1는 성공했기에 이 버전을 중심으로 설명한다.
1. 컴퓨터 GPU 환경
- 삼성 울트라북 3, window 11 Home(22H2), RTX 4070 laptop(studio)
- 아나콘다 가상환경 이름: tf39(Python 3.9.16 버전 이용) 또는 geo38(Python 3.8.12 버전 이용)
2. 설치해야 할 드라이버와 유틸들
- GPU 드라이버 설치
- Microsoft Visual C++(MSVC) 컴파일러 2022 설치
- CUDA 툴킷 11.8 설치
- cuDNN 라이브러리 설치
- tensorflow 설치
3. 파이썬으로 Tensorflow 프레임워크의 GPU 인식여부 확인
tensorflow에서 현재 사용하고 있는 처리장치가 CPU인지 GPU인지를 확인하기 위해서 아래와 같이 코드를 실행시켜보면 알 수 있다.
현재 사용 가능한 device는 현재 CPU 1개만 인식되는 것을 알 수 있다.
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
>>> [name: "/device:CPU:0"
>>> device_type: "CPU"
>>> memory_limit: 268435456
>>> locality {
>>> }
>>> incarnation: 8308089636571588817]
4. GPU 드라이버 설치
텐서플로우에서 GPU를 사용하기 위해서는 아래 4가지 단계를 완료하시면 됩니다. 제일 먼저 사용자 컴퓨터의 그래픽 카드 사양을 확인하여 해당되는 GPU 드라이버를 설치한다.
1) NVIDIA GPU 드라이버 설치
컴퓨터에 장착된 그래픽 카드의 종류를 확인하고, 아래 링크로 들어가서 드라이버를 받은 후 설치를 한다.
여기서 GeForece RTX 4070 Laptop GPU에 맞는 사양은 다음과 같이 지정한 후 드라이버를 다운받는다.
물론 사용자의 컴퓨터 환경에 맞게 지정해야 한다.
여기서 SD는 데이터분석이나 동영상편지, 애니메이션, 그래픽디자인 등에 적용되고 게임을 위해서는 GRD를 선택해야한다고 알려주고 있다.
해당 컴퓨터에 맞는 그래픽 드라이버 버전은 531.41로 확인된다.
다운로드 완료한 파일을 실행하면 설치파일을 추출할 경로 확인 창이 뜨고, 그대로 확인을 누르면 설치 프로그램이 실행되는데 설치하는데 다른 선택사항은 없이 기본 값으로 계속 다음버튼을 클릭해서 설치를 마친다.
설치가 완료되면 cmd 창을 열고 nvidia-smi 명령어를 입력하면 아래와 같이 잘 설치가 되었는지 확인할 수 있다.
여기서 중요한 것은 CUDA Version: 12.1 부분이다.
CUDA를 설치해야 하는데 이 버전과 맞아야 텐서플로우에서 GPU 장치를 제대로 인식할 수 있다.
그런데 예외적으로 cuda 12.1버전에서는 텐서플로우가 GPU를 인식하지 못하는 것 같았다.
그래서 한 단계 아래인 버전을 선택하여 작동여부를 확인한 결과
cuda 11.8, cudnn 8.8.1.3(cuda 11버전)이 작동하는 것을 알 수 있었다.
5. Microsoft Visual C++(MSVC) 컴파일러 2022 설치
1) 사이트 접속: https://learn.microsoft.com/en-us/visualstudio/releases/2022/compatibility
2) Community 2022를 다운로드 한다.
3) Microsoft Visual C++(MSVC) 컴파일러 다운로드
다운받은 VisualStudioSetup.exe 파일을 실행하여 C++와 함께 데스크탑 개발를 선택하여 설치
6. CUDA Toolkit 설치
위에서 확인했던 CUDA 버전을 다운받아서 설치하기 위해서 아래 링크를 통해 맞는 버전을 받아서 설치할 수 있습니다.
https://developer.nvidia.com/cuda-toolkit-archive
여기서 11.8.0 버전을 선택하고,
아래와 같이 해당 컴퓨터 운영체제 맞게 설정하고 cuda 툴킷 파일을 다운받는다.
7. cuDNN SDK 8.8.1 다운로드 및 CUDA 설치 폴더에 덮어쓰기
CUDA를 설치한 이후에는 cuDNN SDK를 다운로드 받아 CUDA 설치폴더에 동일한 파일을 덮어쓰기 해야 작동이 된다.
아래 링크를 통해 cuDNN 파일을 다운로드를 받을 수 있다.
단, 회원가입은 필수라 회원이 아닌 분은 회원가입 후에 다운을 받아야 한다.
https://developer.nvidia.com/rdp/cudnn-archive
설문조사와 함께 회원가입 후에 CUDA 버전과 운영체제에 맞는 파일을 다운받는데
여기서는 CUDA 11.8 이고, 윈도우11 64비트라 Download cuDNN v8.8.1(March 8th, 2023), for CUDA 11.x를 선택한다.
윈도우 운영체제에 맞게 Local installer for Windows(zip) 압축파일을 다운받는다.
다운로드가 끝난 cuDNN 파일의 압축을 풀면
3가지 폴더(bin, include, lib)와 1가지 파일이 있습니다. 이 파일들을 cuda 툴킷이 설치된 CUDA 폴더에 덮어쓰기를 한다.
제대로 설치가 되었다면 "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8" 폴더에 생성되었을 것이다.
해당 폴더에 들어가면 cuDNN에 있던 3가지 폴더가 동일하게 있는 것을 알 수 있다.
동일한 폴더사이로 복사하고 붙여넣기를 하면 된다.
include 폴더 x64 폴더 내용 복사
8. 환경변수 설정
마지막으로 앞서 복사 붙여넣기 했던 bin, include, lib 폴더를 컴퓨터가 접근할 수 있도록 환경 변수를 설정한다.
환경 변수를 설정 창으로 들어가는 방법은 다음과 같다.
검색 창에 시스템 환경변수 편집을 입력한 후 선택하고 클릭한다.
다음 화면에서 고급 탭을 선택하여 환경변수 버튼을 클릭하고 환경변수 창에서 path를 선택하고 편집버튼을 클릭한다.
환경변수 편집 창에서 찾아보기 버튼을 클릭해서 아래와 같이 해당되는 3개의 폴더인 bin, include, lib 각각의 절대경로를 차례로 지정하면 된다.
9. tensorflow 설치
버전 2.11보다 낮은 버전의 tensorflow 설치하기
python -m pip install "tensorflow<2.11"
10. tensorflow 설치 및 GPU 인식 확인
11. 쥬피터 노트북에서 GPU 인식 여부 확인
최종적으로 tensorflow에서 인식 가능한 처리 장치가 무엇이 있는지 확인하기 위해서 다음 코드를 실행하면 된다.
CPU 말고도 GPU 디바이스도 있는 것을 볼 수 있으면 성공적으로 설치된 것이다.
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
'머신러닝 & 딥러닝' 카테고리의 다른 글
python을 이용해서 asc 파일을 tiff 파일로 일괄 변환하기 (0) | 2023.04.07 |
---|---|
pytorch 설치(CUDA 11.8버전 기준) 후 GPU인식 확인 (0) | 2023.04.06 |
텍스트마이닝을 이용한 국내연구동향 분석을 위한 자료수집 (0) | 2023.03.31 |
쥬피터 노트북 실행파일 생성 (0) | 2023.03.30 |
위성사진들을 딥러닝 모델에 적합한 형태로 변환하는 기본코드 (0) | 2023.03.21 |