본문 바로가기
Trobleshooting

pytorch TypeError: 'int' object is not callable

by pulluper 2022. 11. 3.
반응형

python 에서 TypeError: 'int' object is not callable 문제 

 

import numpy as np
score = np.array([1, 2, 3, 4, 5])
n_object = score.size(0)

 

TypeError: 'int' object is not callable 는 예약어(max, list, sum, module...등) 를 변수명으로 사용할 때, 나오는 error 인데 다음과 같은상황에서도 나온다.   

 

numpy 와 torch.Tensor 를 혼용하며 사용하다 보니  나온 오류이다. 

 

tensor.size()  : tensor 의 객체  size(shape)이 나오는데, 이를 numpy 에서 그대로 사용해서,

numpy.array.size() : 는 error가 난다. 즉, numpy.array 에서는 size 라는 전체 element 의 갯수를 알려주는  int 형 변수가 있는데, 이를 함수처럼 불러오기 때문에, 위에서 TypeError: 'int' object is not callable 가 나는 것이다. 

 

이를 해결하기 위해서 다음과 같이  shape 라는 변수를 쓰면 된다. 

 

import numpy as np
score = np.array([1, 2, 3, 4, 5])
n_object = score.shape[0]

 

해결~ 👍😎

반응형

댓글