WSL2에 CUDA 사용하도록 Tensorflow 설치하는 방법을 다룹니다.
2022. 11. 26 최초작성
1. WSL2를 설치하는 방법은 다음 링크를 참고하세요.
WSL2를 설치하여 Ubuntu 20.04 사용하는 방법
https://webnautes.tistory.com/1170
2. WSL2에 CUDA를 설치하는 방법은 다음 링크를 참고하세요.
WSL2에 CUDA 설치하는 방법
https://webnautes.tistory.com/1762
3. 다음 명령을 차례로 실행하여 WSL2에서 pip3 명령을 사용할 수 있도록 해줘야 합니다.
참고 https://learn.microsoft.com/ko-kr/windows/python/web-frameworks
sudo apt update && sudo apt upgrade
sudo apt install python3-pip
4. tensorflow-gpu를 설치합니다.
pip3 install tensorflow-gpu
5. Python에서 tensorflow 모듈을 로드해봅니다.
문제 있을 경우 ~/.bashrc 파일에 cuda 라이브러리 위치를 추가하지 않은건 아니지 확인하세요. 맨아래줄에 추가한 후, source ~/.bashrc를 실행해주면 됩니다.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64/
$ python3
Python 3.10.6 (main, Nov 2 2022, 18:53:38) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
2022-11-26 14:44:38.762219: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-11-26 14:44:39.564916: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda-11.8/lib64/
2022-11-26 14:44:39.568884: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda-11.8/lib64/
2022-11-26 14:44:39.568926: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
빨간색으로 표시한 경고는 아래 링크에 따르면 무시해도 된다고 합니다.
6. Tensorflow에서 GPU를 사용할 수 있는지 확인해봅니다.
>>> from tensorflow.python.client import device_lib
>>> print(device_lib.list_local_devices())
아래 스크린샷처럼 마지막에 device_type: “GPU”와 그래픽카드 이름이 보여야 합니다.
CPU만 보인다면 CUDA 설치에 문제가 발생한 것입니다. 보통 5번에서 언급한 LD_LIBRARY_PATH 설정이 문제가 됩니다.