Data Navigator

wsl2 Ubuntu Anaconda 가상환경에 Tensorflow, cudatoolkit, cudnn 설치하고 gpu 사용하기 본문

WSL, Ubuntu

wsl2 Ubuntu Anaconda 가상환경에 Tensorflow, cudatoolkit, cudnn 설치하고 gpu 사용하기

코딩하고분석하는돌스 2023. 11. 3. 11:26

wsl2 Ubuntu Anaconda 가상환경에 

Tensorflow, cudatoolkit, cudnn 설치하고 gpu 사용하기

이 글은 윈도우 10/11 에 설치된 wsl2에 ubuntu-20.04 / ubuntu-22.04 를 설치하고

Anaconda를 설치한 환경에서 현재 글 작성일 기준 (2023-11-03)

최신 버전 tensorflow 2.14 과 nvidia gpu를 사용하도록 셋팅하는 방법을 설명합니다.

 

 

1. wls2 에 설치한 ubuntu 에 tensorflow를 설치하는 이유

 

tensorflow는 공식적으로 2.10 버전을 마지막으로 windows 환경에서 gpu 가속 지원을 중단했다.

최신 tensorflow 버전은 2.14다.

deep learning 특성상 훈련시간이 오래걸리고 cpu를 사용할 때와 gpu를 사용할 때 속도차이가 엄청나기 때문에 gpu 사용은 필수다.

windows 환경에서는 지원이 중단 되었지만 윈도우 서브시스템을 설치하고 우분투를 설치하면 윈도우에서도 gpu 가속이 가능한 tensorflow를 사용할 수 있다.

 

 

이 글은 wsl2에 ubuntu를 설치하고 한글화와 anaconda를 설치한 후의 작업만 다룬다.

wsl2와 ubuntu 설치, anaconda 설치는 아래에 있는 링크의 글을 참고하기 바란다.

 

1) 윈도우 서브시스템 wsl2 설치하기

https://datanavigator.tistory.com/61

 

WSL2 Ubuntu 설치, 목록확인, 삭제

WSL2 Ubuntu 설치, 목록확인, 삭제 윈도우에서 리눅스를 사용하기 위해서는 WSL 을 설치하고 Ubuntu나 CentOS 같은 리눅스 배포판을 사용하면 편리하다. 1.시작 버튼 옆 검색에서 PowserShell 검색 2. PowserShel

datanavigator.tistory.com

 

2) ubuntu 한글화 및 한국어 자판 설치하기

https://datanavigator.tistory.com/60

 

WSL2 Ubuntu 한글화 설정

WSL2 Ubuntu 한글화 설정 윈도우에 WSL2를 설치하고 ubuntu를 다운로드하면 리눅스를 편리하게 사용할 수 있다. 하지만 한글화가 되어 있지 않기 때문에 한글화 설정이 필요하다. 1. 한글 폰트 설치 sudo

datanavigator.tistory.com

3) wsl2 ubuntu에 anaconda 설치하기

https://datanavigator.tistory.com/62

 

WSL2 Ubuntu에 Anaconda 설치 및 path 설정하기

./conda init WSL2 Ubuntu에 Anaconda 설치 및 path 설정하기 1. 아나콘다를 다운로드 하기 위해 firefox 설치 wsl에 ubuntu를 설치하고 난 후에는 기본 커널 외 다른 프로그램은 거의 설치되어 있지 않기 때문에

datanavigator.tistory.com

 

2. tensorflow gpu 가속 버전 설치 전 하드웨어 점검사항

1) nvidia 그래픽 카드가 설치되어 있는가?

본인 컴퓨터에 nvidia 그래픽 카드가 설치되어 있는지 먼저 확인하자.

ctrl + shift + esc 키를 눌러 작업관리자를 열고 성능 탭을 클릭하면 nvidia gpu 설치 여부를 확인 할 수 있다.

 

2) wsl을 지원하는 그래픽카드 드라이버가 설치되어 있는가?

윈도우 시작버튼 오른쪽의 검색창에 cmd를 입력해서 명령 프롬프트를 실행한다.

 

터미널이 열리면 nvidia-smi를 실행해 드라이버 버전과 cuda 버전을 확인 한다.

Driver Version이 495 이상이어야 WSL2를 지원한다.

Driver는 windows에만 설치하면 되고 WSL2에 설치한 ubuntu에는 설치하지 말아야 한다.

그래픽 카드 드라이버 업데이트가 필요하다면 아래의 링크에서 본인의 컴퓨터 사양에 맞게 다운받아 설치한다.

https://www.nvidia.com/Download/index.aspx

 

Download the latest official NVIDIA drivers

Download the latest official NVIDIA drivers

www.nvidia.com

 

3. tensorflow용 anaconda 가상환경 생성 및 gpu지원 tensorflow 설치

1) 아나콘다 가상환경을 설치한다. python은 3.10 버전으로 한다.

   2023-11-03 현재 python을 3.11로 설치한 환경에서 tensorflow를 설치하는 경우 가상환경에 제대로 설치되지 않는 오류가 있음.

conda create -n tf python=3.10

 

 

 

2) 생성한 가상환경을 활성화 한다.

conda activate tf

 

3)  pip를 업그레이드한다.

pip install --upgrade pip

 

4) cudnn과 cuda-toolkit을 설치한다.

conda 명령어를 사용해서 cudnn을 설치하면 cuda toolkit도 함께 설치된다.

conda install cudnn

 

 

4) GPU를 지원하는 tensorflow를 설치한다.

pip install tensorflow[and-cuda]

꽤 많은 패키지가 함께 설치된다.

 

5) conda list 명령으로 텐서플로가 올바르게 설치되어 있는지 확인한다.

   (python 3.11의 경우 위의 명령어로 tensorflow를 설치해도 conda list에서 보이지 않았음)

conda list

 

 

5) GPU 설정을 확인한다.

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

 

위의 코드를 실행했을 때 아래처럼 GPU 가 출력되면 성공이다.

 

 

4. jupyter notebook 설치 후 tensorflow와 gpu 가속 확인

1) conda install -y notebook=6 로 주피터 노트북 6 버전 설치

conda install -y notebook=6

 

2) google chrome 브라우저 설치

설치 완료 후 jupyter notebook을 실행하면 실행은 정상적으로 되지만 웹브라우저가 열리지 않는다.

google chrome 브라우저를 설치하면 정상적으로 열리니 chrome을 설치해준다.

 

/tmp 폴더로 이동

cd /tmp

 

wget을 이용해 google chrome 웹브라우저 설치파일 다운로드

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

 

아래의 명령어를 사용해서 크롬브라우저 설치

sudo apt install --fix-broken -y ./google-chrome-stable_current_amd64.deb

 

3) jupyter notebook 실행

jupyter notebook

주피터 노트북이 웹브라우저에서 정상적으로 실행된다.

 

4) 새 파일 만들기

주피터 노트북 화면 오른쪽 위에 있는 new 버튼을 누르고 ipykernel을 선택해 새 파일을 만든다.

 

 

5) gpu확인 코드 실행

tensorflow를 임포트 하고 명령어를 사용해 GPU가 올바르게 출력되는지 확인한다.

import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))

[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')] 가 출력되면 성공!

 

5) tensorflow로 인공신경망 훈련시 시스템 모니터로 GPU메모리 및 사용률 확인

tensorflow를 사용한 분석 코드 작성 후 실제 훈련시에도 GPU를 사용하고 있는지 확인할 필요가 있다.

경우에 따라서 다르지만 anaconda base에 jupyter notebook을 설치하고 가상 환경의 커널만 추가해서 작업하는 경우 gpu가속이 안 될 경우가 있다.

 

훈련 코드를 실행하고 아래와 같이 메세지가 나오는지 그리고 작업관리자에서 gpu 전용 메모리와 gpu사용량이 변화하는지 살펴보자.

 

GPU로 훈련을 하고 있다면 시스템에 설치된 GPU 이름이 표시된다.

 

 

작업관리자에서도 전용 GPU 메모리 사용량과 GPU 사용률을 확인해 훈련이 GPU로 되고 있는지 확인 할 수 있다.