一.问题描述
在用GPU训练模型时报如下的错误:
TypeError: can’t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first.
二.原因分析:
GPU上的tensor张量无法转为numpy格式,那我们把它转到CPU上即可。文章来源:https://www.toymoban.com/news/detail-661192.html
三.解决方案:
方法非常简单,只需在目标张量后面加 .cpu() 即可。文章来源地址https://www.toymoban.com/news/detail-661192.html
Before:
loss = valid_loss_function(logits,labels.to(device))
After:
loss = valid_loss_function(logits,labels.to(device)).cpu()
到了这里,关于TypeError: can‘t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!