개요
windows 11 에서 wsl2를 활용, Tensorflow 개발 환경 세팅 방법을 소개합니다.
WSL 설치
tensorflow를 설치하는 곳은 windows 내부에 만들어질 리눅스 환경(wsl)입니다. wsl2를 먼저 설치해 주어야 합니다.
파워셀을 켜서 아래 명령을 실행시켜 주세요. wsl2가 설치됩니다.
wsl2 설치 후 재부팅을 반드시 해 주세요.
wsl --install
설치가 완료되면 cmd에서 아래 명령어로 wsl2를 사용할 수 있습니다.
wsl.exe
호환되는 파이썬 설치
Tensorflow와 호환되는 파이썬을 설치해 주세요. 설치 방법은 넘어가겠습니다.
아래 링크를 통해 호환되는 파이썬 버전을 확인할 수 있습니다.
pip로 TensorFlow 설치
이 페이지는 Cloud Translation API를 통해 번역되었습니다. pip로 TensorFlow 설치 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 가이드는 TensorFlow의 최신 안정
www.tensorflow.org
pip3 설치
sudo apt update && upgrade
sudo apt install python3-pip
pip3 설치 후 버전 확인
pip3 --version
# pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
NVIDIA 드라이버 설치
아래 링크를 통해 필요한 드라이버를 모두 설치해 주세요. NVIDIA 드라이버, CUDA Toolkit, CUDA DNN 모두 설치해 주어야 합니다.
Download the latest official NVIDIA drivers
Download the latest official NVIDIA drivers
www.nvidia.com
CUDA Toolkit Archive
Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production
developer.nvidia.com
CUDA Deep Neural Network
cuDNN provides researchers and developers with high-performance GPU acceleration.
developer.nvidia.com
Tensorflow 설치
python3 -m pip install tensorflow[and-cuda]
[ python setup.py egg_info did not run successfully 에러 발생 시 해결 방법 ]
pip 업데이트
python3 -m pip install --upgrade pip
setuptools 업데이트
pip3 install --upgrade setuptools
CUDA for WSL-Ubuntu 설치
wsl2에 필요한 CUDA를 추가로 설치. 아래 링크를 따라 설치 진행합니다 .
CUDA Toolkit 12.1 Downloads
Get the latest feature updates to NVIDIA's proprietary compute stack.
developer.nvidia.com
[ 설치 여부 확인 ]
아래 명령을 통해 그래픽카드가 정상적으로 목록에 출력되는 지 확인
nvidia-smi
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.07 Driver Version: 546.12 CUDA Version: 12.3 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 3070 ... On | 00000000:01:00.0 On | N/A |
| N/A 46C P8 14W / 95W | 594MiB / 8192MiB | 2% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+
위와 같이 사용중인 그래픽카드 모델 및 사양이 출력되는 경우, CUDA for WSL-Ubuntu가 정상적으로 설치되었음을 확인할 수 있습니다.
Tensorflow 설치 확인
[ CPU 인식 테스트 ]
아래와 같이 텐서 객체 반환 시 정상
python3 -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
# tf.Tensor(-2911.9321, shape=(), dtype=float32)
[ GPU 인식 테스트 ]
아래와 같이 GPU 항목이 출력되면 정상
python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
# [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
[ 학습 테스트 ]
아래 예제 학습 테스트 실행 동안 GPU를 사용하는 경우 정상
import tensorflow as tf
cifar = tf.keras.datasets.cifar100
(x_train, y_train), (x_test, y_test) = cifar.load_data()
model = tf.keras.applications.ResNet50(
include_top=True,
weights=None,
input_shape=(32, 32, 3),
classes=100,)
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False)
model.compile(optimizer="adam", loss=loss_fn, metrics=["accuracy"])
model.fit(x_train, y_train, epochs=5, batch_size=64)
[참고] Vscode로 wsl2 접속하기
vscode extension인 REMOTE DEVELOPMENT 설치. 설치 후 vscode 상단 중앙에서 > wsl 입력하여 wsl 접속 시도
[ 파이썬 인터프리터 확인 ]
windows에 설치된 python 인터프리터가 아니라, wsl에 tensorflow 설치를 담당한 파이썬 인터프리터를 선택해야 합니다. 한 운영체제에서 파이썬 버전 여러 개를 바꾸어 가며 개발하시는 분들이 자주 놓치시는 부분입니다.
import tensorflow as tf
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices() )
위 코드를 wsl 파이썬으로 실행한 경우, 아래와 같이 GPU 정보가 인식되어야 합니다.
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 364653326627053698
xla_global_id: -1
,
name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 5848956928
locality {
bus_id: 1
links {
}
}
physical_device_desc: "device: 0, name: NVIDIA GeForce RTX 3070 Ti Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6"
...
]
참고 자료
GPU 지원 | TensorFlow
GPU 지원 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 참고: GPU 지원은 CUDA® 지원 카드가 있는 Ubuntu 및 Windows에 제공됩니다.TensorFlow GPU 지원에는 다양한 드
www.tensorflow.org
Python Release Python 3.9.13
The official home of the Python Programming Language
www.python.org
CUDA Deep Neural Network
cuDNN provides researchers and developers with high-performance GPU acceleration.
developer.nvidia.com
pip로 TensorFlow 설치
이 페이지는 Cloud Translation API를 통해 번역되었습니다. pip로 TensorFlow 설치 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 가이드는 TensorFlow의 최신 안정
www.tensorflow.org
PIP 사용법 - 설치, 제거, 일괄 업그레이드
pip(Pip Installs Packages)는 파이썬에서 패키지를 관리하는 프로그램이다. pip는 파이썬을 설치하면 기본으로 설치되어 있다. 1) 패키지 설치 >> pip install 패키지 예) >> pip install PySide2 2) 패키지 삭제 >> p
www.jbmpa.com
'소프트웨어 & 클라우드' 카테고리의 다른 글
[Docusaurus] plugin-ideal-images width 문제 해결 (1) | 2024.09.27 |
---|---|
[Docusaurus] 작성 문서 최신 출력 스크립트 (0) | 2024.08.11 |
[Docusaurus] Utterances 다크 모드 적용하기 (0) | 2024.08.10 |
[Docusaurus] Deploy 스크립트 메모 (0) | 2024.08.09 |
[Docusaurus] Github page로 배포하기 (0) | 2024.08.08 |