반응형
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]
해결~ 👍😎
반응형
댓글