작심삼일

[Pytorch 에러] RuntimeError: CUDA error: device-side assert triggeredCUDA 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. 본문

정리/잡 에러들

[Pytorch 에러] RuntimeError: CUDA error: device-side assert triggeredCUDA 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.

yun_s 2023. 3. 4. 10:33
728x90
반응형

에러

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.

학습 시키던 중 두번째 epoch에서 저 오류를 만났다. (생고생 ㅜㅜ)


해결 방법

1. 보통은 classification 진행 중 class 수가 맞지 않을 때 발생하는 오류다.

예를 들면 label이 7개일 때 label을 0 ~ 6으로 설정해야하는데 1 ~ 7로 설정이 되어있다거나,

label이 5개인데 3개만 구분하도록 코드를 짰다던가...

 

2. sigmoid를 씌우지 않고 BCEloss에 넣었을 때

내 경우에는 이 경우였다.

   1) 이렇게 sigmoid를 넣어주거나

out = nn.Sigmoid(input)
out = nn.BCELoss(out)

   2) BCEWithLogitsLoss를 사용하면 된다.

out = nn.BCEWithLogitsLoss(input)
728x90
반응형
Comments