인프런 커뮤니티 질문&답변

김남욱님의 프로필 이미지
김남욱

작성한 질문수

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

coco128 데이터로 Train 실습 - train.py 수행해보기

Train Error가 발생합니다

작성

·

792

0

안녕하세요 train을 진행하는데 다음과 같은 오류가 발생합니다.

RuntimeError: CUDA out of memory. Tried to allocate 100.00 MiB (GPU 0; 11.17 GiB total capacity; 10.15 GiB already allocated; 79.81 MiB free; 10.64 GiB reserved in total by PyTorch)

반복해서 해봐도 에포크가 안돌고 학습이 진행이 안되면서 다음과 같은 오류가 뜨네요 ㅠㅠ

+) 가끔은 런타임에러가 아닌

/usr/lib/python3.7/multiprocessing/semaphore_tracker.py:144: UserWarning: semaphore_tracker: There appear to be 6 leaked semaphores to clean up at shutdown len(cache))

라는 에러가 뜨면서 역시 에포크가 안도네요ㅠㅠ

답변 2

0

권 철민님의 프로필 이미지
권 철민
지식공유자

음, 그렇군요. 아래와 같이 batch size를 8로 바꿔보십시요. 

!python train.py --img 640 --batch 8 --epochs 3 --data coco128.yaml --weights yolov3.pt --nosave 
김남욱님의 프로필 이미지
김남욱
질문자

배치 사이즈를 줄여도 안되다 혹시 몰라 학습 이미지 수를 절반으로 같이 줄이니 정상 작동했습니다!! 감사합니다!!

권 철민님의 프로필 이미지
권 철민
지식공유자

앗 학습 이미지 수는 관련이 없어야 합니다만. 저는 batch size를 8로 했을 때 잘 수행되었습니다 

김남욱님의 프로필 이미지
김남욱
질문자

앗 제가 헷갈렸습니다. 이미지 수가 아니라 이미지 크기였습니다ㅠㅠ 저는 말씀해주신대로 배치 사이즈와 이미지 크기도 함께 줄여주니 잘 수행되었습니다!

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

GPU 메모리를 과도하게 사용하는 것 같습니다. BATCH SIZE를 지금 어느정도 잡으셨는지는 모르지만, COLAB에서 실습 코드가 BATCH SIZE  16일 때 정상적으로 동작합니다. 

근데, 메모리 사이즈가 나온걸로 보면, COLAB을 사용하지 않으신것도 같습니다만, 만일 COLAB을 사용하지 않으면 BATCH SIZE를 8로 줄여서 다시 학습 시켜보시기 바랍니다. 

그리고 아래 메시지는 COLAB에서는 나오는 건가요?

/usr/lib/python3.7/multiprocessing/semaphore_tracker.py:144: UserWarning: semaphore_tracker: There appear to be 6 leaked semaphores to clean up at shutdown len(cache))

 

김남욱님의 프로필 이미지
김남욱
질문자

모든 과정은 강의 파일 수정 없이 코랩에서 구동하였는데 위와 같은 오류가 발생합니다ㅠㅠ

김남욱님의 프로필 이미지
김남욱

작성한 질문수

질문하기