본문 바로가기
etc/환경설정

Tensorflow GPU 삽질 및 해결방법 / Linux Tensorflow 설치 완벽가이드

by 하람 Haram 2025. 9. 22.
728x90

제발 큰 이슈 없이 설치하길 기원하며 시작

 

Tensorflow 다운

 

기도하는 겸 아래 코드 실행하고 시작

sudo apt update && sudo apt upgrade
pip install --upgrade pip
python -m pip install --upgrade pip
exec "$SHELL"

 

 

비추천 방법

하지만 아묻따 download start

# TensorFlow (CUDA 11.8용, 가장 안정)
pip install "tensorflow==2.14.1"

 

 

왜 될까...

근데 GPU 가 안잡힘

 

 

Pytorch 다운

 

그럼 기세를 몰아  torch도

 

먼저

GPU 확인

nvida-smi

 

그 다음

Cuda 확인

nvcc --version

 

이렇게 없다고 뜨면 다운로드 ㄱㄱ

sudo apt install nvidia-cuda-toolkit

 

뭐야 왜 위에랑 달라

GPU는 13.0까지 쓸수 있고 지금 개발용 툴킷이 CUDA 11.5가 설치되었다고 한다

 

그럼 뭐다?

CUDA 11.8도 받아도 된다~

https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_local

 

CUDA Toolkit 11.8 Downloads

 

developer.nvidia.com

 

뭐 사실 이걸 다운 받아도 되는데

나는 그냥 다운 받아도 될 것 같아서

pytorch 사이트 ㄱ

(왜 안 받냐? 나 저거 잘못 건드렸다가 화면이 안보인 적이 있어서 최대한 나중에 건드리는 편)

 

Pytorch 다운로드

https://pytorch.kr/get-started/locally/

 

파이토치 한국 사용자 모임 (PyTorch Korea User Group)

파이토치 한국 사용자 모임에 오신 것을 환영합니다. 딥러닝 프레임워크인 파이토치(PyTorch)를 사용하는 한국어 사용자들을 위해 문서를 번역하고 정보를 공유하고 있습니다.

pytorch.kr

 

왜 없누...

 

CUDA 11.8 빌드 버전 GPU 검색하니 아래 꺼 받으란다

# PyTorch CUDA 11.8 빌드
pip install torch==2.2.2+cu118 torchvision==0.17.2+cu118 torchaudio==2.2.2+cu118 --index-url https://download.pytorch.org/whl/cu118

 

하고 실행해보면 잘 돌아간다

 


Tensorflow GPU가 안 잡힐 때

bash에서 다음 두 개의 코드를 실행시켜보자

nvidia-smi

출력이 안나오면 그래픽 카드 연동 문제

NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system.
Please also try adding directory that contains libnvidia-ml.so to your system PATH.

 

해결 방법

# 기존에 깔려있는 거 지우기
sudo apt-get purge nvidia*
sudo apt-get update

#설치할 수있는 드라이버 확인
ubuntu-drivers devices

#위에 출력결과를 Chatgpt에 물어봐서 535 버전 추천받음
#프롬포트에 tensorflow랑 pytorch도 쓴다고 말해야 함

#원한다면 아래의 버전을 바꿔주면 된다
#만약 535-server 만 뜬다고 해도 535 다운로드 받아 질거임
sudo apt install nvidia-driver-535


#reboot 시켜 주자
sudo reboot

 

 

nvcc -V

출력이 안나오면 CUDA  문제 이다

 

근데 제일 골치 아픈 건

위에 두 개가 이상없이 동작하는데

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

tensorflow에서 GPU를 확인하면

2025-09-23 23:21:38.061916: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:894] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355
2025-09-23 23:21:38.118986: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2211] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
[]

이렇게 안잡하는 생황이다

 

터미널로 실행하고 싶으면

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

 

 

해결 시도  1

# >> Tensorflow
export PATH=/usr/local/cuda-11.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
export XLA_FLAGS=--xla_gpu_cuda_data_dir=/usr/local/cuda-11.8/nvvm/libdevice
# << Tensorflow

위에 코드를 /.bashrc 맨 아래에 추가해 보자

 

이거 없으면 어떻게 되냐

CUDA 및 GPU 사용 불가: TensorFlow가 GPU를 활용하여 연산을 수행하려면 CUDA와 cuDNN 라이브러리가 필요합니다. 환경 변수를 설정하지 않으면, 시스템이 CUDA 라이브러리를 찾지 못하여 TensorFlow가 GPU를 사용하지 못하고 대신 CPU만 사용하게 될 수 있습니다.

XLA (Accelerated Linear Algebra) 기능 제한: XLA는 TensorFlow에서 성능 최적화를 위해 사용되는 컴파일러입니다. 특히 GPU에서의 성능 향상을 위해 XLA_FLAGS를 설정하지 않으면, 관련 최적화 기능이 제한될 수 있습니다.

라이브러리 경로 미설정: LD_LIBRARY_PATH를 설정하지 않으면, 시스템이 필요한 동적 라이브러리를 찾지 못할 수 있어 프로그램 실행 시 오류가 발생할 수 있습니다.

 

이렇게 된다고 합니다

그리고 적용을 위해 소스~

source ~/.bashrc

 

 

 

근데 난 이거 해도 안됨

 

밑에 밑에 해결 시도에서는

위에 저 bashrc 추가한 것을 반드시 주석처리 해야한다 (아님 머리 아파짐)

 

 

해결 시도  2

혹시 requirements.txt에 있는

이 녀석들이 문제일가 해서

이걸 뺀 다음에 다시 다운 받기로 함

근거 1. 저 requirements.txt 가 내가 만듬거임 - 의심할 만함

근거 2. 저걸 만든 서버와 지금 실행하는 서버의 GPU가 다름

근거 3. 내 머리속은 cuda 11.8로 세팅했는데, 저거 보면 불안 하게 12.4 이런 숫자들이 있음

 

그래도 안됨

 

해결 시도  3 (해결 완료)

사실 이 사이에 엄청난 삽질을 많이 하였지만 이게 정답인 거 같다.

혹시 모르니 반드시 가상환경에서 진행하도록 하자

 

1. 드라이버 삭제 후 재설치 (위에 nvidia-smi 조치 방안과 동일)

# 기존에 깔려있는 거 지우기
sudo apt-get purge nvidia*
sudo apt-get update

#설치할 수있는 드라이버 확인
ubuntu-drivers devices

#위에 출력결과를 Chatgpt에 물어봐서 535 버전 추천받음
#프롬포트에 tensorflow랑 pytorch도 쓴다고 말해야 함

#원한다면 아래의 버전을 바꿔주면 된다
#만약 535-server 만 뜬다고 해도 535 다운로드 받아 질거임
sudo apt install nvidia-driver-535


#reboot 시켜 주자
sudo reboot

 

 

2. 가상환경내에 tensorflow 와 pytorch 호환 버전으로 재설치 

pip uninstall -y tensorflow tensorflow-gpu tf-nightly
pip install -U pip setuptools wheel

# TensorFlow (CUDA 11.8용, 가장 안정)
pip install "tensorflow==2.14.1"

# PyTorch CUDA 11.8 빌드
pip install torch==2.2.2+cu118 torchvision==0.17.2+cu118 torchaudio==2.2.2+cu118 --index-url https://download.pytorch.org/whl/cu118

 

 

3. 확인

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

반갑다.. 이새끼야...

 

 


cuDNN 설치버전 확인 (참고용)

 

1. cuDNN 버전 8 이전
C: > Program Files > NVIDIA GPU Computing Toolkit > CUDA > v11.8 (설치되어있는 CUDA 버전) > include > cudnn.h

2. cuDNN 버전 8 이후
C: > Program Files > NVIDIA GPU Computing Toolkit > CUDA > v11.8 (설치되어있는 CUDA 버전) > include > cudnn_version.h

 

 

 

 

 

추가자료

https://lkms.tistory.com/2

 

AI 초보자를 위한 PyTorch 완벽 설치 가이드: CUDA, CUDA Toolkit,cuDNN 쉽게 이해하기

PyTorch란?PyTorch는 페이스북(현 Meta)에서 개발한 딥러닝 프레임워크입니다.마치 레고 블록처럼 신경망을 쉽게 조립하고 수정할 수 있게 해 줍니다.CUDA Toolkit이란?CUDA(Compute Unified Device Architecture)는 N

lkms.tistory.com

 

 

참고자료

 

https://velog.io/@ksy5098/CUDA-cuDNN-%EC%84%A4%EC%B9%98-%EB%B2%84%EC%A0%84-%ED%99%95%EC%9D%B8

 

(설치 후) GPU, CUDA, cuDNN 버전 확인

윈도우 명령 프롬프트에서 nvcc --version을 입력하면 설치된 cuda version을 확인할 수 있다.현재 CUDA 11.8이 설치되어 있는 것을 확인할 수 있다. 1\. cuDNN 버전 8 이전C: > Program Files > NVIDIA GPU Comp

velog.io

 

728x90