Conda를 사용하여 PyTorch와 CUDA 설치 문제 해결 방법

PyTorch가 설치되었지만 CUDA가 인식되지 않는 문제 해결

문제 현상:

PyTorch는 설치되어 있고 코드도 정상적으로 실행되지만 GPU가 인식되지 않고 CUDA가 사용 불가능한 상태입니다.

  • 시스템: CentOS
  • GPU: Tesla V100

배경:

특정 저장소인 NeuralHydrology의 코드를 실행하기 위해 환경을 구성했습니다. 이 저장소의 environment.yml 파일에 따라 환경이 생성되었습니다.


문제 원인 분석:

환경 구성 중 다운로드 속도가 느려서 소스를 변경했으며, 이를 통해 환경 설정이 일부 영향을 받았습니다. 특히 PyTorch의 CPU 버전이 기본으로 설치되는 문제가 있었습니다.

conda env create -f environment.yml

위 명령어를 실행하면 기본적으로 PyTorch의 CPU 버전이 설치될 수 있습니다.


문제 발견:

코드 실행 중 CPU 전용 분기를 타는 것을 확인할 수 있었습니다.


해결 방법:

다음 명령어를 실행하여 상황을 확인하세요:

1. CUDA 관련 패키지 확인:

CUDA 또는 CuDNN이 설치되어 있는지 확인합니다.

conda list | grep cuda

결과에 pytorch-cuda 또는 cudatoolkit가 포함되어 있다면 CUDA 관련 패키지가 설치된 상태입니다.

2. PyTorch 설치 상태 확인:

PyTorch가 올바르게 설치되었는지 확인합니다.

conda list | grep torch

build 열에 cpu가 표시된다면 CPU 버전이 설치된 것입니다.

3. GPU 드라이버 호환성 확인:

GPU 드라이버가 지원하는 최대 CUDA 버전을 확인합니다.

nvidia-smi | grep "CUDA Version"

출력 값이 11.8 이상인지 확인합니다.


해결 단계:

  1. 기존 PyTorch 및 CUDA 관련 패키지를 제거합니다.
conda uninstall pytorch torchvision torchaudio libtorch pytorch-cuda

필요한 패키지만 선택적으로 제거할 수도 있습니다.

  1. 적절한 버전의 PyTorch와 CUDA를 다시 설치합니다.

예시 (CUDA 11.8 버전 기준):

conda install pytorch pytorch-cuda=11.8 -c pytorch -c nvidia

여기서 -c 플래그는 다운로드 채널을 지정합니다.


추가 해결 방법:

만약 위 방법이 적용되지 않는다면 다음 사항들을 점검하세요:

  1. PyTorch와 CUDA가 설치되었는지 확인 아래 스크립트를 활용해 확인할 수 있습니다.
echo "=== NVIDIA 드라이버 확인 ==="
nvidia-smi || echo "! 드라이버 미설치"

echo "\n=== CUDA 환경 확인 ==="
which nvcc &>/dev/null && nvcc --version || echo "! CUDA 미설치"

echo "\n=== PyTorch 상태 확인 ==="
python -c "import torch; print('\nPyTorch 버전:', torch.__version__, '\nCUDA 사용 가능:', torch.cuda.is_available())"
  1. 패키지 관리자 일관성 유지 Conda와 Pip에서 동시에 패키지를 설치하지 않도록 주의하세요.

  2. 새로운 환경 구성 새로운 가상 환경을 만들어 필요한 의존성을 순차적으로 설치합니다.

conda create -n new_env python=3.9
conda activate new_env
conda install pytorch cudatoolkit=11.8 -c pytorch
  1. 환경 파일 백업 현재 환경의 의존성을 저장해 두세요.
conda env export > myenv.yml

다음 번에는 해당 파일을 사용해 환경을 재구성합니다.

conda env create -f myenv.yml

Conda 다운로드 속도 개선:

중국 내부의 빠른 미러를 사용해 다운로드 속도를 향상시킬 수 있습니다.

Conda 소스 변경:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch

Pip 소스 변경:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

일회용 소스 변경도 가능합니다.

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name

태그: conda PyTorch CUDA

6월 29일 17:16에 게시됨