[Pytorch] 분류(classification)문제 에서 label 변환 (one-hot vs class)
bce를 사용하는등의 거나 여러 상황에서 class의 label을one-hot label로 혹은 class label 로 변환해야 하는 때가 있다. 1. one-hot label 에서 class label 로 변환 : torch.argmax(dim) shape 변환 (*, num_classes) 에서 (*) 로 바뀐다. import torch one_hot_label = torch.tensor([[1, 0, 0, 0], [0, 0, 1, 0]]) class_label = torch.argmax(one_hot_label, dim=-1) print(class_label) 정답 : tensor([0, 2]) 2. class label 에서 one-hot label로 변환 : torch.nn.functional..
2022. 12. 4.
pytorch TypeError: 'int' object is not callable
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가 난다. ..
2022. 11. 3.