본문 바로가기
머신러닝&딥러닝

Windows 10, GTX 1660Ti에서 YOLOv8 train 방법, 설치 순서

by j2b2 2023. 4. 10.

GTX 1660Ti에서 최신버전의 pytorch에서 정상적으로 동작하지 않는다.(관련글)

cuda 10.2에서 정상동작 하는데 문제가 없는 버전의 설치 순서이다.
물론, 최신의 GPU가 있다면 최신의 버전으로 설치해도 문제가 되지 않을 것 같다.
pytorch, onnxruntime, tensorrt, opencv에서 cuda, cudnn을 사용하는 부분은 모두 GPU와 관련이 있다.

 



1. windows 페이징 파일 확장 (참고글)
windows 기본 페이징 파일 크기로 YOLO train을 동작하면 메모리 파일의 크기가 작다는 오류 메시지가 나오면서 train이 안된다.
고급시스템 설정 -> 시스템 속성 -> 성능 설정 -> 성능 옵션 -> 고급 -> 가상 메모리 -> 사용자 크기 지정의 크기를 변경해야 한다.

 

사용자 지정 크기에서 처음 크기는 램 크기의 1.5배로 해주고, 최대 크기는 처음 크기의 3배로 해줍니다. 예를 들어, 8GB의 램이라면 1GB가 1024MB이므로 1024x8x1.5=12288을 처음 크기에 입력해주고, 최대 크기는 그것의 3배인 36864를 입력해줍니다. 어떻게 이러한 계산법이 생긴 것인지는 저도 잘 모르겠지만, 참고자료 [1]에서 이렇게 해주라고 하더군요. 아무튼 이렇게 설정한 후에 컴퓨터를 재부팅합니다. 저도 이렇게 했더니 에러가 더이상 안났습니다. 



아래는 16GB 램의 설정 예다.

 



2. pytorch 1.10.0 CUDA 설치 (pytorch 홈페이지)

pip install torch==1.10.0+cu102 torchvision==0.11.0+cu102 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html


cuda 10.2를 지원하는 pytorch의 최신 버전이 1.10.1이지만 해당 버전을 설치할 경우, torchvision과 관련한 오류 메시지가 출력이 된다. 그래서 다운그레이드 버전을 설치. (관련글)



3. YOLOv8 설치 (YOLOv8 github의 예제)

pip install ultralytics




4. train

yolo train model=yolov8n.pt data=coco128.yaml epochs=3 imgsz=640




5. onnx export (YOLOv8 github의 예졔)

yolo export model=yolov8n.pt imgsz=640 format=onnx opset=12




6. test

roboflow의 Hard Hat Sample Image Dataset을 model=yolov8l.pt, epochs=10으로 train한 결과

테스트 이미지 출처 : http://www.safetyin.co.kr/news/articleView.html?idxno=303