본문 바로가기
카테고리 없음

AssertionError: Torch not compiled with CUDA enabled 해결하기

by Knowledge Atlas 2025. 4. 7.
반응형
AssertionError: Torch not compiled with CUDA enabled

PyTorch는 딥러닝 모델을 구축하고 학습시키기 위한 강력한 라이브러리로, CUDA를 통해 GPU를 활용하여 연산 속도를 획기적으로 향상시킬 수 있습니다. 그러나, "AssertionError: Torch not compiled with CUDA enabled" 오류가 발생하면, 이는 CUDA 기능이 활성화된 PyTorch를 설치하지 않았음을 의미합니다. 이 글에서는 이 오류의 원인과 해결 방법, 그리고 CUDA를 활용한 PyTorch의 장점을 설명하겠습니다.

AssertionError의 원인

이 오류는 주로 두 가지 이유로 발생합니다. 첫 번째는 PyTorch가 CPU 전용으로 설치되었기 때문입니다. 두 번째는 CUDA가 시스템에 설치되어 있지 않거나, PyTorch와 호환되지 않는 버전의 CUDA가 설치된 경우입니다.

CUDA 설치 확인 및 PyTorch 설치 방법

CUDA가 제대로 설치되었는지 확인하려면, NVIDIA의 공식 웹사이트에서 자신의 GPU 모델에 맞는 CUDA를 다운로드할 수 있습니다. CUDA가 설치된 후, 아래의 명령어를 통해 PyTorch를 CUDA 지원 버전으로 설치할 수 있습니다.

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113

사례 연구

사례 1: GPU 활용의 필요성

딥러닝에서는 대량의 데이터와 복잡한 모델을 처리해야 하기 때문에, GPU를 활용하는 것이 매우 중요합니다. 예를 들어, 이미지 분류 모델을 학습시키는 경우, CPU에서 수행하면 수 시간이 걸릴 수 있지만, GPU를 활용하면 수 분 안에 완료할 수 있습니다. 아래의 표는 CPU와 GPU를 사용할 때의 시간 차이를 보여줍니다.

장치 소요 시간 (시간)
CPU 5
GPU 0.5

따라서, GPU를 올바르게 설정하여 사용할 수 있는 방법을 아는 것이 중요합니다.

사례 2: CUDA 설치 후 PyTorch 사용

CUDA를 설치한 후, PyTorch를 CUDA 지원 버전으로 설치하면 GPU를 이용한 다양한 실험이 가능합니다. 예를 들어, MNIST 데이터셋을 이용한 손글씨 숫자 인식 모델을 학습시킬 때, CUDA를 통해 몇 배 빠른 학습 속도를 경험할 수 있습니다. 아래는 CUDA가 활성화된 PyTorch에서 모델을 학습시키는 간단한 코드 예제입니다.


import torch
import torchvision
import torchvision.transforms as transforms

# 데이터 로드
transform = transforms.Compose([transforms.ToTensor()])
trainset = torchvision.datasets.MNIST(root='./data', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True)

# 모델 정의
class Net(torch.nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.fc1 = torch.nn.Linear(28 * 28, 128)
        self.fc2 = torch.nn.Linear(128, 10)

    def forward(self, x):
        x = x.view(-1, 28 * 28)
        x = torch.nn.functional.relu(self.fc1(x))
        x = self.fc2(x)
        return x

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = Net().to(device)
    

이 코드는 GPU를 통해 더욱 빠르게 학습할 수 있도록 돕습니다.

사례 3: 오류 해결 과정

CUDA가 설치되어 있음에도 불구하고 여전히 오류가 발생하는 경우, 다음의 단계를 통해 문제를 해결할 수 있습니다. 먼저, PyTorch의 CUDA 버전과 시스템의 CUDA 버전이 일치하는지 확인합니다. 또한, PyTorch 버전을 확인하여 최신 버전으로 업데이트할 수 있습니다. 이를 통해 오류를 해결하고, 정상적으로 딥러닝 모델을 학습시킬 수 있습니다.

실용적인 팁

팁 1: PyTorch 버전 확인하기

PyTorch의 현재 버전을 확인하면, CUDA 지원 여부를 알 수 있습니다. 아래의 명령어를 통해 확인할 수 있습니다.

import torch
print(torch.__version__)

이 정보를 바탕으로, 적절한 CUDA 버전을 선택하여 설치할 수 있습니다.

팁 2: CUDA Toolkit 설치

CUDA Toolkit은 GPU를 활용하기 위한 필수 도구입니다. NVIDIA의 공식 웹사이트에서 자신의 GPU에 맞는 버전을 다운로드하여 설치하면 됩니다. 설치 후에는 환경 변수를 설정하여 시스템이 CUDA를 인식하도록 해야 합니다.

팁 3: GPU 메모리 확인

GPU 메모리가 부족할 경우에도 오류가 발생할 수 있습니다. 아래의 명령어를 통해 GPU 메모리를 확인할 수 있습니다.

!nvidia-smi

메모리 사용량을 확인하고, 필요시 불필요한 프로세스를 종료하여 메모리를 확보할 수 있습니다.

팁 4: PyTorch의 CUDA 지원 확인

PyTorch가 CUDA를 지원하는지 확인하려면, 아래의 코드를 실행하면 됩니다.

torch.cuda.is_available()

이 결과가 True인 경우에만 CUDA를 사용할 수 있습니다.

팁 5: 커뮤니티 활용하기

PyTorch 커뮤니티에서 제공하는 다양한 자료와 포럼을 활용하면, 비슷한 문제를 겪고 있는 사용자들의 경험을 공유받을 수 있습니다. GitHub, Stack Overflow, PyTorch 포럼 등에서 해결책을 찾을 수 있습니다.

요약 및 실천 팁


"AssertionError: Torch not compiled with CUDA enabled" 오류는 주로 PyTorch가 CPU 전용으로 설치되었거나, CUDA와의 호환성 문제로 발생합니다. 이를 해결하기 위해서는 CUDA를 설치하고, PyTorch를 적절히 설정해야 합니다. 다음의 실천 팁을 통해 이 오류를 해결하고 CUDA의 혜택을 누려보세요:

  • PyTorch 버전을 확인하고, CUDA와의 호환성을 점검하세요.
  • CUDA Toolkit을 설치하고, 환경 변수를 설정하세요.
  • GPU 메모리를 확인하여 메모리 부족 문제를 예방하세요.
  • PyTorch의 CUDA 지원 여부를 체크하여 문제가 있는지 확인하세요.
  • 커뮤니티 자원을 활용하여 다른 사용자들의 경험을 참고하세요.

이러한 방법들을 통해 빠르게 문제를 해결하고, GPU를 활용한 딥러닝 모델 학습의 장점을 누릴 수 있습니다.

반응형