본문 바로가기
개발 Error

Device 0 is not available, available devices are []

by doraemin_dev 2025. 2. 17.

🚀 CUDA를 설치하여 GPU 사용하기

현재 오류는 실행하려는 모델이 GPU를 필요로 하지만, 현재 시스템에서 GPU를 사용할 수 없어서 발생한 에러.

PyTorch가 GPU를 인식하지 못해서 발생한 문제입니다.
이를 해결하려면 CUDA를 설치하고, PyTorch가 GPU를 올바르게 인식하도록 설정해야 합니다.

 

0. CUDA가 정상적으로 설치되었는지 확인

(venv2) PS C:\Users\007\Documents\TEAM3_GITHUB\AI> nvidia-smi
Mon Feb 17 15:05:06 2025       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 538.92                 Driver Version: 538.92       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                     TCC/WDDM  | 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 4090 ...  WDDM  | 00000000:01:00.0  On |                  N/A |
| N/A   48C    P8               8W /  89W |    289MiB / 16376MiB |     10%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

(venv2) PS C:\Users\007\Documents\TEAM3_GITHUB\AI> nvidia-smi
Mon Feb 17 15:05:19 2025       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 538.92                 Driver Version: 538.92       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                     TCC/WDDM  | 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 4090 ...  WDDM  | 00000000:01:00.0  On |                  N/A |
| N/A   49C    P8               8W /  86W |    289MiB / 16376MiB |      8%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

현재 nvidia-smi 명령어를 실행한 결과 **GPU(GeForce RTX 4090)**와 **CUDA 버전(12.2)**이 표시되고 있습니다.

 

🚀 결론: CUDA가 정상적으로 설치되어 있습니다! 🎉

그러나 PyTorch가 이 CUDA를 제대로 인식하는지 확인해야 합니다.

 

👉만약, CUDA가 설치되어 있지 않다면, CUDA 설치하기.


🔍 1. PyTorch가 CUDA를 인식하는지 확인

아래 명령어를 실행하여 PyTorch가 GPU를 인식하는지 확인하세요.

 
python -c "import torch; print(torch.cuda.is_available())"

👉 출력 결과:

  • True → PyTorch가 CUDA를 정상적으로 인식 ✅
  • False → PyTorch가 CUDA를 인식하지 못함 ❌ (아래 해결 방법 참고)

 


🔥 2. PyTorch가 CUDA를 인식하지 못할 경우 해결 방법

만약 **torch.cuda.is_available()이 False**를 반환하면, PyTorch가 CPU 버전으로 설치되어 있기 때문입니다.

1️⃣ 현재 설치된 PyTorch 버전 확인

python -c "import torch; print(torch.__version__)"

 

👉 버전이 +cpu가 포함되어 있다면CUDA 버전이 아닌 CPU 버전임!

2.6.0+cpu ❌ (잘못된 버전)

 

해결 방법: PyTorch를 CUDA 지원 버전으로 다시 설치해야 합니다.


2️⃣ PyTorch GPU 버전 재설치

👉 현재 CUDA 버전이 12.2이므로, 아래 명령어를 실행하세요.

pip uninstall torch -y pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
  • cu121 → CUDA 12.1을 지원하는 PyTorch 버전입니다.
  • CUDA 11.8을 사용한다면:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

 

👉 설치 완료 후 다시 확인:

python -c "import torch; print(torch.cuda.is_available())"
  • True가 나오면 정상적으로 GPU를 사용할 수 있습니다. ✅
  • False가 나오면 추가 설정이 필요합니다. ❌


✅ (선택사항) 3. accelerate 설정을 GPU 모드로 변경

PyTorch가 GPU를 인식하면, accelerate도 GPU를 사용할 수 있도록 설정해야 합니다.

accelerate config

 

👉 설정 마법사에서 아래 옵션을 선택하세요.

  • "Which compute resource should be used?" → CUDA
  • "Do you want to offload to CPU?" → No
  • "What is the maximum GPU memory available in GB?" → 16GB (4090이면 24GB일 수도 있음)

설정 완료 후 다시 실행:

python app/models/model_main.py