유익한 정보/프로그래밍

23년 12월 텐서플로우(tensorflow) gpu 사용하기 (Feat.RTX 4060)

임규보 2023. 12. 23. 09:28
320x100
반응형

서론

노트북을 새로 사고 Tensorflow GPU 설치

   저번에 RTX 3060 노트북이 고장나서 이번에 RTX 4060 노트북을 새로샀다.
따라서 Tensorflow GPU를 다시 설치해야되는 고난의 여정이 시작된 것이다.
이 글은 8시간 동안 고생한 나의 발자취이며, RTX 4060을 사용하는 이들을 위한 글이다.
추가적으로 RTX 3060와 GTX 1660 Super를 위한 내용도 있다.
 
   참고로 이전에 RTX 3060 노트북에 설치할 때는 약 일주일이 걸렸다.
매일 3~4시간 이상의 시간 동안 고생했던 경험은 아찔하다.
 

PC환경

- OS : Windows 11
- CPU : i7-13700HX
- GPU : RTX 4060 Laptop
 

목적

   예전에는 Jupyter Notebook(주피터 노트북)으로 GPU를 돌렸는데, 주피터 노트북은 UI가 너무 마음에 안들어서 이번에 Visual Studio Code(VSCode)를 사용해서 GPU를 돌릴 계획이다.
Tensorflow 버전은 2.10이며, Python 버전은 3.10이다.
 
   추가적으로 본인은 비전공자에 파이썬을 배운지 8개월도 안되어 배경지식도 없다.
따라서 본인은 배경지식이 없는 비전공자라도 구동할 수 있도록 설명할 계획이다.


본론

 
1. Python 설치
2. Visual Studio Code 설치
3. Anaconda(아나콘다) 설치 (설치 중 선택 ㅁ상자는 모두 체크해서 설치하기)
4. NVIDIA 그래픽 드라이버 설치
5. CUDA(쿠다) 설치
6. cuDNN(쿠다 보조파일) 설치
----------- 위 설치 ------------ 아래 실행 ---------
7. cuDNN 내부의 파일 옮기기
8. 환경 변수 설정하기
9. Anaconda Prompt(아나콘다 프롬프트)로 가상환경 만들기
10. Visual Studio Code에서 가상환경 설정하기
11. Tensorflow GPU 구동 확인하기
 
내용의 볼륨상 1~3번은 생략하겠습니다.
단순히 하이퍼링크를 누르고 설치하면 됩니다.
단, 아나콘다는 설치할 때, 모두 체크하고 하는 게 나중에 편합니다.
체크하지 않으면, 따로 설정을 해줘야 되는 불상사가 발생합니다.
 

4. NVIDIA 그래픽 드라이버 설치

   이건 본인의 그래픽카드에 맞는 드라이버를 설치해야 됩니다.
참고로 이 글은 GeForce RTX 4060 Laptop GPU를 기준으로 작성했습니다.
또한 NVIDIA 제품의 GPU가 아니라면 Tensorflow GPU는 사용할 수 없습니다.
 

5. CUDA Toolkit 설치

   CUDA Toolkit(이하 cuda) 또한 본인의 그래픽카드에 맞는 버전을 설치해야 한다.
본인은 11.7을 설치하였다. cuda 버전을 설치할 때는 신중하게 해야 한다.
이번에는 한번에 했지만, 예전에 할 때는 cuda 버전을 몰라서 cuda만 한 5번 넘게 설치했다.
cuda 용량이 대략 8gb 정도 되서 설치하고 삭제하는데 시간이 꽤 걸린다.
특히, 삭제하는데 시간이 걸리기 때문에 잘 알아보고 설치하자.
참고로 11.8을 하려다가 실수로 11.7을 설치했는데, 운 좋게 11.7에서 구동이 잘 됐다.
 
   참고로 본인이 이전에 Tensorflow GPU를 사용하는데, 아래와 같은 그래픽카드를 사용했다.
GTX 1660 Super 6G /Windows 11
RTX 3060 Laptop /Windows 10
 
   위에 두 버전은 모두 아래의 버전과 같은 cuda와 cuDNN을 설치했다.(cuDNN은 아래에서 설명)
CUDA Toolkit 11.8
CuDNN 8.7.0
 
   아마 GTX 1660 Super와 RTX 3060 사이의 그래픽카드는 위에서 언급한 cuda와 cuDNN으로 구동될 것이다. 또한 RTX 4060도 11.8로 구동될 가능성이 크지만, 본인은 실수로 11.7을 설치하여 11.8로 구동되는지 확인하지는 못했다.
 
   추가적으로 그래픽카드뿐만 아니라 Tensorflow 버전과의 호환성도 체크해야 한다.
하지만 본인은 위에서 언급한 Tensorflow 2.10과 Python 3.10에서만 확인했다.
 

6. cuDNN(쿠다 보조파일) 설치

   cuDNN은 cuda 버전과 호환이 되는 버전을 설치해야 한다.
본인은 cuDNN v.8.9.3 for CUDA 11.x을 설치했다.
이제부터 좀 어렵다. 집중하자.
 

7.1. cuDNN 내부의 파일 옮기기

   왼쪽은 설치한 cuda 폴더(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7)이다.
오른쪽은 다운로드한 cuDNN 폴더다.
cuDNN 폴더 내부에는 'bin'과 'include'와 'lib'가 있을 것이다.
주의!! "각 파일을 바로 옮기는 것이 아니라, 폴더를 열어서 내부에 있는 파일을 옮기는 것이다."
 

7.2. cuDNN 내부의 파일 옮기기 예

   위 이미지 처럼 내부의 파일을 옮기는 것이다.
아마 덮어쓰기가 될 것이다. 참고로 'lib' 안에 있는 파일은 'x64'라는 폴더일텐데, 이 폴더를 옮기면 된다.
다음 부분은 나처럼 배경지식이 없는 사람은 매우 어려울 수 있다.
과거 RTX 3060에서 구동할 때, 이 부분에서 많이 힘들었다.
잘 따라오길 바란다.
 

8.1. 환경 변수 설정하기 : 검색하기

   환경 변수를 설정하기 위해서, 윈도우 검색창에 "환경 변수"라고 검색하면 "시스템 환경 변수 편집"이라는 프로그램이 나온다. 이것을 실행하자.
주의! 반드시 "환경(띄어쓰기)변수" 라고 검색해야 한다. "환경변수"라고 붙여쓰면 결과가 나오지 않는다.
 

8.2. 환경 변수 설정하기 : 환경 변수 확인하기

   "환경 변수 => Path => 편집" 순으로 진입하면, "환경 변수 편집" 창이 나온다.
우리의 목적은 "환경 변수 편집" 내에 붉은색 네모로 표시해둔 환경 변수를 새로 만드는 것이다.
참고로 가장 위에 화살표로 표시한 첫 번째 환경 변수는 당신의 pc 환경에 따라서 만들어져 있을 수도 있고, 없을 수도 있다. 또한 환경 변수가 모두 만들어져 있을 수도 있으니, 잘 확인하길 바란다.
아마 보통은 몇 개 없을 확률이 높다.
 

8.3. 환경 변수 설정하기 : 환경 변수 새로 만들기

   "새로 만들기" 버튼을 누르면, 저렇게 "폴더 위치"를 넣을 수 있는 부분이 활성화 된다.
이제 저 부분에 위에서 언급한 cuda 폴더 내부에 있는 'bin'과 'include'와 'lib' 폴더의 주소를 써주면 되는데, 어렵게 생각하지 말고 다음 설명을 보자.
나도 이 부분을 처음 할 때 너무 어려웠다. 힘내라!! 할 수 있다.
 

8.4. 환경 변수 설정하기 : 폴더 위치 복사하기

1. 위에서 언급한 cuda 폴더에서 'bin'을 연다.
2. 붉은색 화살표로 표시한 저 주소 부분을 눌러서 복사한다.
3. 복사한 주소를 바로 위에서 "새로 만들기"한 부분에 붙여넣어서 만든다.
4. 나머지 'include'와 'lib' 폴더의 주소도 같은 방법으로 복사하여 환경 변수를 "새로 만들기" 해준다.
5. 만든 환경 변수들이 기존에 있는 환경 변수와 중복되는지 확인하고 중복된다면 새로 만든 것을 삭제한다.
 
   이제 다 왔다. 고생했다. 나머지는 Anaconda Prompt(아나콘다 프롬프트)에 명령어만 복사 붙여넣기하면 된다. 고생했다. 조금만 더 참자.(나는 지금 이 글을 2시간째 쓰고 있다!)
 

 

9.1 Anaconda Prompt로 가상환경 만들기 : 검색하기

   윈도우 검색창에 "an"이라고 입력하면 아래 Anaconda Prompt가 있을 것이다.
이것을 반드시 우클릭하여 "관리자 권한으로 실행"으로 실행한다.
 

9.2 Anaconda Prompt로 가상환경 만들기 : 명령어 입력하기

   Anaconda Prompt를 실행하면 위와 같이 실행이 될 것이다.
참고로 흰색 박스는 윈도우 사용자 이름이다.
이제 아래 명령어들을 순서대로 복사붙여넣기로 하나씩 실행해주면 된다.
주의! Tensorflow 설치하는 과정 등, 일부 과정은 시간이 조금 걸릴 수 있으니 느긋하게 하자.
 

conda create -n tf210py310 python=3.10

[ tf210py310 ]라는 이름으로 가상환경을 만드는 명령어이다.

   가상환경의 이름은 자유롭게 정하면 된다.
나는 Tensorflow 버전과 Python 버전을 표시하기 위해서 저렇게 만들었다.
추가적으로 뒤에 "python=3.10"은 Python 3.10 버전을 설치한다는 의미이다.
이 부분을 생략하면, 아마 최신 Python 버전을 설치할 것이다.
본인은 "python=3.10" 부분을 타이핑하는 것을 깜박하여 약 8시간 동안 고생했다!!
즉, Tensorflow GPU를 사용하기 위해서는 사소한 실수가 구동을 안되게 만든다.
지금까지 실수하지 않고 잘 따라왔길 바란다.
 

conda activate tf210py310

[ tf210py310 ]라는 이름으로 가상환경을 활성화하는 명령어이다.

   쉽게 말해서 이 명령어를 입력하면, [ tf210py310 ]라는 가상환경을 설정하겠다는 건데, 몰라도 된다.
 

conda update pip

가상환경을 업데이트하는 명령어이다.

   보통 가상환경에 어떤 파일을 설치할 때, 에러를 방지하기 위해서 의례적으로 실행한다.
 

pip3 install tensorflow==2.10.0

가상환경에 Tensorflow 2.10 버전을 설치하는 명령어이다.

   이제 어려운 것은 다 끝났다. 고지가 눈 앞이다!!

 

10.1 Visual Studio Code에서 가상환경 설정하기 : VScode 실행 및 검색

   위에 ">p"라고 검색하면 "Python: Select Interpreter"가 자동완성으로 표시될텐데, 그걸 실행하면 된다.
만약 자동완성으로 표시가 안된다면, [ >python: select interpreter ]를 입력하자.
 

10.2 Visual Studio Code에서 가상환경 설정하기 : 가상환경 선택하기

   좀 전에 만든 가상환경을 선택해주면 된다. 고생했다.
이제 제대로 Tensorflow GPU가 구동이 되는지 확인하면 된다.
 

import tensorflow as tf

# Check if GPU is available
if tf.config.list_physical_devices('GPU'):
    print("GPU is available")
else:
    print("GPU is not available")

11.1 Tensorflow GPU 구동 확인하기 : 코드 입력

   위 코드를 복사해서 입력하면, Tensorflow GPU가 구동되고 있는지 확인할 수 있다.
만약 GPU가 구동된다면 "GPU is available"이 출력될 것이고,
만약 GPU가 구동되지 않는다면 "GPU is not available"이 출력될 것이다.
 

11.2 Tensorflow GPU 구동 확인하기 : 결과 확인하기

   위 과정을 잘 따라왔다면, 위와 같은 결과가 나올 것이다. 고생했다.
만약 구동하지 않았다고 해도 실망하지 마라. 한번에 성공하는 것이 매우 드물고 힘든 일이다.
보통 2~3번의 실패를 겪고 성공할 것이다.
 
   그럼에도 이 글을 본 당신은 한 번에 성공하길 간절히 기도한다.
내가 너무 고생해서 성공해서 그런지, 이 글을 읽는 당신은 고생하지 않길 바란다.


결론

도움이 됐다면, 좋아요와 댓글 간절히 바람

   영상으로 찍을 수 있었다면, 쉽게 했을 텐데 하나하나 캡쳐하니 매우 힘들었다.
또한 Tensorflow GPU 구동은 많은 사람들이 실패를 겪고 고통스러워하는 과정인데,
내가 어렵다고 생각한 부분을 세세하게 설명하려니, 시간이 많이 소모됐다.
 
   부디 이 글을 읽는 당신은 한 번에 성공하길 간절히 바란다.


이전 글

판다스(Pandas) 데이터프레임(DataFrame) 열(column) 삭제

이전 글 판다스(Pandas) 데이터프레임 행,열방향 합치기/붙이기 이전 글 판다스(Pandas) csv 파일(데이터) 불러오기/읽기 이전 글 판다스(padas) 설치/다운로드 관련 글 [ 목차 ] 1. 판다스(panda) 설치 [ 본

gelatinbomber.tistory.com


관련 글

판다스(Pandas) 데이터프레임 행,열방향 합치기/붙이기

이전 글 판다스(Pandas) csv 파일(데이터) 불러오기/읽기 이전 글 판다스(padas) 설치/다운로드 관련 글 [ 목차 ] 1. 판다스(panda) 설치 [ 본문 ] 1. 판다스(pandas) 설치 pip install pandas 아나콘다를 사용한다

gelatinbomber.tistory.com


관련 글

판다스(Pandas) csv 파일(데이터) 불러오기/읽기

이전 글 판다스(padas) 설치/다운로드 관련 글 [ 목차 ] 1. 판다스(panda) 설치 [ 본문 ] 1. 판다스(pandas) 설치 pip install pandas 아나콘다를 사용한다면 Anaconda Prompt에 입력하면 자동으로 설치된다. 관련 글

gelatinbomber.tistory.com


다음 글

 


320x100
반응형