컴퓨터/ML-DL1 [TIL] 파이썬 float32, float64 자료형 문제상황 PyTorch로 간단한 내용을 구현하는 공부를 하다가, numerical gradient와 체크를 해 보니 차이가 크게 벌어지는 현상이 나타났다. 그래서 코드를 잘못 짰으리라고 생각하고 오래 고민하고 이것저것 시도를 해보았으나 고쳐지질 않았다. 그래서 다른 사람이 같은 내용을 구현해 놓은 코드를 가지고 돌려 본 뒤, 문제의 원인이 자료형에 있음을 발견했다. 원인 위의 코드 어딘가에서 $torch.softmax(..., dtype=float32)$로 값을 받아온 게 있었는데, 해당 부분에서는 실제로 float32의 인풋이 이루어졌으나, 뒤에는 보다 정밀한 계산을 위해 float64가 사용되었다. 그러다 보니 에러메시지 "RuntimeError: expected scalar type Double b.. 2023. 10. 13. 이전 1 다음