Pytorch报错warning:UserWarning: This overload of nonzero is deprecated

本文介绍了在使用PyTorch的nonzero函数时遇到的警告,并解释了为何需要将as_tuple参数设置为False以获取正确的tensor结果。通过修正这一细节,避免了不必要的警告,提高了代码的正确性和效率。
部署运行你感兴趣的模型镜像

  我们在用pytorch查找矩阵中不为0元素索引时,会用到nonzero方法。但用这个方法时会报警告。其实使我们在python中用习惯了,没用注意到pytorch的语法。改正如下

m = torch.ones((3, 4))
print(m)
row = torch.nonzero(m)[:, 0]
columns = torch.nonzero(m)[:, 1]
m[row, columns] = 0
print(m)
# 以上的用法会报警告,正确使用方法如下
row = torch.nonzero(m, as_tuple=False)[:, 0]
columns = torch.nonzero(m, as_tuple=False)[:, 1]
# 为什么会这样改
这里as_tuple未true的时候意思就是返回一个bool元组。而我们一般都是想让其返回一个tensor,因此这里该参数就赋值为false。
至此,该warning就被消除掉了!

参考文献

[1]使用Pytorch的nonzero函数报warning: UserWarning: This overload of nonzero is deprecated

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

/home/wfs/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/torch/nn/functional.py:3981: UserWarning: Default grid_sample and affine_grid behavior has changed to align_corners=False since 1.3.0. Please specify align_corners=True if the old behavior is desired. See the documentation of grid_sample for details. warnings.warn( /home/wfs/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/mmcv/runner/hooks/optimizer.py:31: FutureWarning: Non-finite norm encountered in torch.nn.utils.clip_grad_norm_; continuing anyway. Note that the default behavior will change in a future release to error out if a non-finite total norm is encountered. At that point, setting error_if_nonfinite=false will be required to retain the old behavior. return clip_grad.clip_grad_norm_(params, **self.grad_clip) 2025-07-25 20:01:14,499 - mmcv - INFO - Reducer buckets have been rebuilt in this iteration. 2025-07-25 20:01:56,509 - mmdet - INFO - Epoch [1][50/28130] lr: 3.987e-05, eta: 8 days, 10:31:11, time: 0.926, data_time: 0.079, memory: 4884, loss_cls: 2.1964, loss_bbox: 2.3503, d0.loss_cls: 2.2795, d0.loss_bbox: 2.3152, loss: 9.1414, grad_norm: nan 2025-07-25 20:02:39,278 - mmdet - INFO - Epoch [1][100/28130] lr: 4.653e-05, eta: 8 days, 2:48:52, time: 0.855, data_time: 0.015, memory: 4884, loss_cls: 2.2189, loss_bbox: 2.3256, d0.loss_cls: 2.2865, d0.loss_bbox: 2.2834, loss: 9.1145, grad_norm: nan 2025-07-25 20:03:22,356 - mmdet - INFO - Epoch [1][150/28130] lr: 5.320e-05, eta: 8 days, 0:41:24, time: 0.862, data_time: 0.015, memory: 4884, loss_cls: 2.2252, loss_bbox: 2.2780, d0.loss_cls: 2.2865, d0.loss_bbox: 2.2274, loss: 9.0171, grad_norm: nan
最新发布
07-26
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值