Python/PyTorch 공부

[PyTorch] RuntimeError("grad can be implicitly created only for scalar outputs")

AI 꿈나무 2021. 12. 3. 04:02
반응형

UserWarning: Was asked to gather along dimension 0, but all input tensors were scalars; will instead unsqueeze and return a vector

 

RuntimeError("grad can be implicitly created only for scalar outputs")

 

위와 같은 에러가 발생했다.

 

 loss.backward() 에서 발생했는데..

 

 loss.shape = ([2]) 로 되어 있기 때문이다.

 

 파이토치 DP를 쓰면서 loss가 gpu 수 만큼 반환하게 되어, vector를 출력하게 된 것이다.

 

 loss.backward()를 위해서는 loss가 scalar이어야 하낟.

 

 따라서 loss.mean().backward()로 수정해주면 된다.

 

반응형