您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页解决RuntimeError: Can‘t call numpy() on Variable that requires grad. Use var.detach().numpy() instead.

解决RuntimeError: Can‘t call numpy() on Variable that requires grad. Use var.detach().numpy() instead.

来源:测品娱乐

转自:

1. 问题描述

如题,将PyTorch Tensor类型的变量转换成numpy时报错:

RuntimeError: Can't call numpy() on Variable that requires grad. Use var.detach().numpy() instead.
  •  

2. 解决办法

出现这个现象的原因是:待转换类型的PyTorch Tensor变量带有梯度,直接将其转换为numpy数据将破坏计算图,因此numpy拒绝进行数据转换,实际上这是对开发者的一种提醒。如果自己在转换数据时不需要保留梯度信息,可以在变量转换之前添加detach()调用。假设原来的写法是:

aaa.cpu().numpy()
  •  

那么现在改为

aaa.cpu().detach().numpy()
  •  

即可。

 


 

参考资料:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务