728x90
에러명은 아래와 같았다.
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.FloatTensor [64, 4]], which is output 0 of SoftmaxBackward, is at version 64; expected version 0 instead. Hint: enable anomaly detection to find the operation that failed to compute its gradient, with torch.autograd.set_detect_anomaly(True).
원인을 자세히 보면, inplace operation에서 문제가 생겼다는 내용인데
내 모델에서는 softmax함수를 썼을 때 inplace가 되는 것 같아서 clone()을 붙였더니 해결되었다.
검색해보니, 흔한 문제 중 하나는 torch.nn.ReLU 함수 사용 때 생기는 문제로 torch.nn.ReLU(inplace=False)를 하면 된다고 한다.
728x90
'AI | ML > 코드' 카테고리의 다른 글
[PyTorch] RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces) (0) | 2021.06.28 |
---|---|
[Keras] 'str' object has no attribute 'decode' (0) | 2021.06.22 |
[Data Science] matplotplib을 이용한 데이터셋 가시화 (0) | 2021.02.17 |
[Data Science] 이미지 데이터셋 내 평균, 표준편차 계산 (2) | 2021.01.04 |
[TensorFlow] Model Save/Load 관련 (0) | 2020.08.27 |