TypeError:无法将cuda:0设备类型张量转换为numpy。使用Tensor.cpu()首先将张量复制到主机内存。
learned_pred = euclidean_distances(answer.cpu()。data.numpy(),predicates_emb).argmin(axis = 1)
在我使用.cpu()的上一行代码中引发了类型错误,所以我不明白为什么。
我该如何解决这个问题?
答案 0 :(得分:0)
来自变量 answer 的转换是正确的。因此,我认为问题可能出在变量 predicates_emb 上。
您可以检查var predicates_emb 是否为张量。如果是这样,则应将其转换为numpy数组。
答案 1 :(得分:0)
我遇到了同样的问题,answer.cpu()
对我不起作用,但 answer.to('cpu')...
对我有用。