Python 报错 RuntimeError: Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead
在使用 sklearn 计算回归模型的 R2 评分时,出现该报错
1 |
|
出现这个现象的原因是:待转换类型的 PyTorch Tensor 变量带有梯度,直接将其转换为 numpy 数据将破坏计算图,因此 numpy 拒绝进行数据转换,实际上这是对开发者的一种提醒。如果自己在转换数据时不需要保留梯度信息,可以在变量转换之前添加 detach() 调用。
解决办法:
1 |
|
参考:解决Python报错:RuntimeError: Can’t call numpy() on Variable that requires grad. Use var.detach().numpy()
Python 报错 RuntimeError: Can't call numpy() on Tensor that requires grad. Use tensor.detach().numpy() instead
https://wonderhoi.com/2024/10/11/Python-报错-RuntimeError-Can-t-call-numpy-on-Tensor-that-requires-grad-Use-tensor-detach-numpy-instead/