can't convert cuda:0 device type tensor to numpy

𝐌𝐢𝐧𝐣𝐢·2021년 8월 28일
0

오류해결

목록 보기
6/6
TypeError: can't convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.

원인

from sklearn.metrics import f1_score
def f1(output, target, is_training=False):
    f1_score(target, output, average = 'macro')
    return f1

로 코드 수정 후 발생

-> output, target이 gpu에 할당되어있는 tensor이지만 이를 numpy로 변환하게 되면서 오류 발생

해결

f1_score(target.cpu().numpy(), output.cpu().numpy(), average = 'macro')

0개의 댓글