반응형
1. 에러 발생 상황
torchvision.model 에서 resnet 50을 불러와서 fully connected 부분을 변경시킨 모델을 응용하여 새로운 모델을 작성중에 에러가 발생되었습니다.
에러 내용은 다음과 같습니다.
RuntimeError: CUDA error: device-side assert triggered
또는
RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling `cublasCreate(handle)`
첫번째 에러의 경우 colab에서 확인된 에러이고, 두번째의 경우 로컬 컴퓨터에서의 에러입니다.
RuntimeError: CUDA error: device-side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
혹은
RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling `cublasCreate(handle)`
2. 해결방법
이것저것 찾아보다가 batch size를 다르게 하면 해결된다고 해서 batch size도 조절해보았지만 안됨.
https://brstar96.github.io/devlog/shoveling/2020-01-03-device_error_summary/
위와 같은 사이트에서 다양한 이유를 설명해줬는데, 그중에서 클래스 인덱스 번호가 잘못되면 그럴 수 있다고 이야기함.
classification 하는건 10개인데, 1~10까지의 범위를 주면 생기는 에러일수 있음. python은 0부터 시작하기 때문에 고려해야함.
다시 확인해보니 fully connected에서 class index를 잘못 설정을 해서 정확한 class index를 올바르게 설정후 모델을 돌리니 잘 돌아가게됨.
728x90
반응형
댓글