Anaconda Prompt 환경에서 yolov5 학습 CUDA 버전 관련 질문드립니다.

Anaconda prompt에서 YOLOv5 커스텀데이터셋을 GPU로 학습시키려고 합니다.

사용하는 로컬 그래픽카드는 4070Ti이고
다음의 과정으로 진행했습니다.

  1. conda activate (Yolov5 동작시킬 가상환경 이름)
  2. git clone GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
  3. cd yolov5
  4. pip install -r requirements.txt
  5. python train.py --img 640 --batch 16 --epochs 200 --data (yaml파일 path)/data.yaml --cfg (모델yaml 경로)/yolov5s.yaml --weights yolov5s.pt --device 0 --name yolov5test

문제는 --device 0을 인식을 못하여
다음과 같은 AssertionError가 출력됩니다.
assert torch.cuda.is_available() and torch.cuda.device_count() >= len(device.replace(',', '')),
AssertionError: Invalid CUDA '--device 0' requested, use '--device cpu' or pass valid CUDA device(s)

제가 시도한 방법은 CUDA 버전과 torch 버전을 확인하고자 했고 확인하고자
anaconda prompt 창에
nvidia-smi와 nvcc --version을 입력하여 확인해보니

image
nvidia-smi 출력 결과 CUDA버전은 12.1

image
nvcc --version 출력 결과 cuda버전은 11.3 이었습니다.

또한 torch 버전을 확인 하기위해 python -c "import torch; print(torch.version)"을 입력하여 확인한 결과 2.0.0+cpu로 출력됩니다.

GPU를 사용하여 yolov5 커스텀 데이터셋을 학습하고자 하는 경우에
위에 적힌 CUDA 버전 및 torch 버전을 수정하여 학습이 제대로 진행될 방법이 있을까 하여 질문 드립니다.

  • 아래 답변은 OpenAI의 GPT-3.5(ChatGPT) 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요! CUDA 버전과 torch 버전을 확인하신 것은 좋은 시도였습니다. 현재 CUDA 12.1과 torch 2.0.0+cpu를 사용하고 계시다면, CUDA 12.1과 호환되는 torch 버전을 설치해야 합니다.

PyTorch 공식 홈페이지에서 CUDA 12.1과 호환되는 PyTorch 버전을 확인할 수 있습니다. 현재 PyTorch 1.9.0 버전이 CUDA 12.1과 호환되므로, 다음과 같이 명령어를 입력하여 PyTorch 1.9.0 버전을 설치할 수 있습니다.

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/cu111/torch_stable.html

위 명령어를 실행한 후, 다시 yolov5를 학습해보시기 바랍니다. 이제는 CUDA 버전과 torch 버전이 호환되므로, GPU를 사용하여 yolov5 커스텀 데이터셋을 학습할 수 있을 것입니다.

추가적으로, CUDA 버전과 torch 버전이 호환되더라도, GPU가 제대로 인식되지 않는 경우가 있습니다. 이 경우에는 CUDA와 cuDNN을 다시 설치하거나, GPU 드라이버를 업데이트해보시기 바랍니다.

참고로, CUDA와 cuDNN을 설치하는 방법은 PyTorch 공식 홈페이지의 설치 가이드(Start Locally | PyTorch)에서 확인할 수 있습니다.

그리고, GPU 드라이버를 업데이트하는 방법은 NVIDIA 공식 홈페이지(Official Drivers | NVIDIA)에서 확인할 수 있습니다.

이상입니다. 문제가 해결되었으면 좋겠습니다!


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
1개의 좋아요
  • 아래 답변은 OpenAI의 GPT-4 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요! 질문에 대해 도움을 드리겠습니다.

먼저, CUDA 버전과 PyTorch 버전이 호환되어야 합니다. 지금 확인된 결과로는 CUDA 버전이 11.3이고, PyTorch 버전이 2.0.0+cpu로 확인됩니다. 여기서 PyTorch 버전이 CPU 버전이기 때문에 GPU를 사용할 수 없습니다.

따라서, GPU 버전의 PyTorch를 설치해야 합니다. 설치를 위해 아래 명령어를 사용하세요.

conda install pytorch torchvision torchaudio -c pytorch -c conda-forge

이 명령어는 PyTorch, torchvision, torchaudio를 설치하며, GPU 버전의 PyTorch를 설치합니다. 설치가 완료되면 다시 PyTorch 버전을 확인해보세요.

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

이제 PyTorch 버전이 GPU 버전으로 출력되어야 합니다. 그 다음에 YOLOv5 학습을 다시 시도해보세요. 이제 문제가 해결되어야 합니다.

참고로, YOLOv5의 공식 문서에서는 다음과 같은 명령어를 사용하여 필요한 라이브러리를 설치하는 것을 권장하고 있습니다.

conda create -n yolov5 python=3.8
conda activate yolov5
conda install -c pytorch -c conda-forge pytorch torchvision torchaudio
pip install -r requirements.txt

위 명령어들을 사용하여 YOLOv5를 실행하는 가상 환경을 설정하면 호환성 문제가 해결될 것입니다.

참고로, YOLOv5 공식 문서는 다음 링크에서 확인할 수 있습니다: GitHub - ultralytics/yolov5

이렇게 하면 문제가 해결되어야 합니다. 만약 추가적인 질문이나 문제가 있으면 언제든지 질문해주세요!


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!

안녕하세요, @startree 님.

위의 잘못된 답변들;은 무시해주시기를 부탁드립니다 :sweat_smile:

일단 2가지 이슈가 있는 것 같습니다.

  1. PyTorch가 CPU 버전으로 설치된 것
  2. CUDA 버전이 꼬여있는 것 & 2버전 모두 PyTorch 2.0이 공식 지원하지 않는 것


1번은 현재 설치된 torch를 지우시고, 다시 설치하시면 해결되실 것 같습니다.
예를 들어, 직접 설치하기 | 파이토치 한국 사용자 모임 를 참고하시면 아래와 같이 설치 명령어를 제공하고 있습니다.

  • Windows + CUDA 11.7 + codna의 경우:
    conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
    
  • Windows + CUDA 11.7 + pip의 경우:
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
    
  • Windows + CUDA 11.8 + conda의 경우:
    conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
    
  • Windows + CUDA 11.8 + pip의 경우:
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
    


2번의 경우에는 우선 CUDA 버전을 맞추시는게 중요할 것 같은데요,
제가 Windows에서 CUDA 환경 설정 경험이 없어서 약간의 검색이 필요하실 것 같습니다. :sweat_smile:

우선은 설치된 NVIDIA 드라이버와 CUDA/cuDNN 관련된 것들을 모두 삭제하시고 11.7 또는 11.8 버전으로 다시 설치해보시는 것은 어떠실까요?


진행하시다가 잘 안되시면 새롭게 질문을 올려주시면 다른 분들께서도 도와주실 수 있을 것 같습니다. :pray:

1개의 좋아요

답변 정말 감사드립니다 새로운 가상환경 생성후에

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
사용하여 환경구성하니 GPU로 학습할 수 있었습니다!

1개의 좋아요

잘 되신다니 다행입니다! :smiley:

  • 아래 답변은 OpenAI의 GPT-4 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요! YOLOv5 학습을 진행하려고 하는데 문제가 발생한 것 같군요. 여기서 문제의 원인은 PyTorch 버전이 GPU를 지원하지 않는 버전이기 때문입니다. 2.0.0+cpu 버전은 GPU를 지원하지 않습니다. 따라서, GPU를 지원하는 PyTorch 버전을 설치해야 합니다.

먼저, 현재 가상 환경에서 기존의 PyTorch를 제거해야 합니다.

conda activate (Yolov5 동작시킬 가상환경 이름)
pip uninstall torch torchvision

그 다음, GPU를 지원하는 PyTorch를 설치해야 합니다. CUDA 버전 11.3에 맞는 PyTorch를 설치하려면 다음 명령어를 실행하세요.

pip install torch torchvision -f https://download.pytorch.org/whl/cu111/torch_stable.html

이제 다시 학습을 진행해보세요.

python train.py --img 640 --batch 16 --epochs 200 --data (yaml파일 path)/data.yaml --cfg (모델yaml 경로)/yolov5s.yaml --weights yolov5s.pt --device 0 --name yolov5test

이렇게 하면 문제가 해결되어야 합니다. 만약 여전히 문제가 발생한다면, 추가 질문을 해주시기 바랍니다. 화이팅!


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
  • 아래 답변은 OpenAI의 GPT-4 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요! 여러분의 문제를 해결하는 데 도움이 되길 바랍니다.

문제는 GPU 버전의 PyTorch가 설치되지 않았기 때문에 발생한 것 같습니다. torch.__version__을 확인했을 때, 출력된 버전이 2.0.0+cpu로 CPU 버전의 PyTorch가 설치되어 있습니다. GPU 버전의 PyTorch를 설치하려면 다음 명령어를 사용하세요.

conda install pytorch torchvision torchaudio -c pytorch -c conda-forge

또는

pip install torch torchvision torchaudio -f https://download.pytorch.org/whl/cu111/torch_stable.html

위 명령어는 CUDA 11.1 버전에 대한 것입니다. 설치 후 다시 torch.__version__을 확인하면 GPU 버전의 PyTorch가 설치되어 있는지 확인할 수 있습니다.

또한, CUDA 버전이 일치하지 않는 문제가 발생할 수 있으므로, PyTorch가 사용하는 CUDA 버전과 시스템의 CUDA 버전이 일치하는지 확인해야 합니다. PyTorch에서 사용하는 CUDA 버전을 확인하려면 다음 코드를 실행하세요.

import torch
print(torch.version.cuda)

시스템의 CUDA 버전과 일치하지 않으면, 적절한 버전의 PyTorch를 설치해야 합니다. PyTorch 설치 페이지(Start Locally | PyTorch)에서 다양한 버전의 PyTorch를 확인할 수 있습니다.

이렇게 해서 문제가 해결되지 않으면, 추가 질문을 해 주시기 바랍니다.


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!

혹시 죄송합니다만 저가 쿠다 12.1버전으로 * ```
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia