记录Error及解决方案(pytorch官方demo(Lenet))

在test_offfical_demo中的predit.py遇见的错误是:

D:\deep-learning-for-image-processing-master\pytorch_classification\Test1_official_demo\predict.py:27: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.

错误原因:由以下代码行导致的:

在代码中,torch.max(outputs, dim=1)[1] 返回的是一个包含单个元素的 NumPy 数组。当你尝试将这个数组直接转换为整数(int(predict))时,NumPy 会发出警告,提醒此操作在未来的版本中将不再被支持。这是因为 NumPy 正在逐步弃用将多维数组直接转换为标量值的做法。

错误解决方法

  • 为了避免这种警告,应该先从数组中提取出标量值,然后再进行类型转换。可以使用 item() 方法来提取标量值,修改后的代码:

  • item() 方法用于将只包含一个元素的数组转换为一个纯量值,避免了不必要的类型转换警告。

总结

  • 错误提示:DeprecationWarning,NumPy 不再支持直接将多维数组转换为标量。
  • 错误原因:代码尝试将 NumPy 数组直接转换为标量值,这种做法在未来版本中将被弃用。
  • 解决方法:使用 .item() 方法从数组中提取标量值,然后再进行类型转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值