You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用numpy.vectorize结合uncertainties为何触发无效值警告?

问题描述

环境

  • Python 3.10
  • numpy 1.23.5
  • uncertainties 3.1.7(Linux Fedora 37系统,conda-forge包)

复现代码

import numpy as np
from uncertainties.core import Variable


x = np.array([1.0, 2.0])
y = np.array([np.nan, np.nan], dtype=float)
func = np.vectorize(lambda x, y: Variable(x, y), otypes=[object])
func(x, y)

触发的警告

/lib/python3.10/site-packages/numpy/lib/function_base.py:2411: RuntimeWarning: invalid value encountered in <lambda> (vectorized)
  outputs = ufunc(*inputs)

相关现象

  • 启用warnings.simplefilter("error")后可获取完整回溯信息
  • 将输入y改为有限浮点数时,不会触发警告
  • 使用自定义Variable类替代uncertainties的Variable类时,无警告
  • 直接通过列表推导式调用Variable(x[i], y[i])也无异常

疑问

numpy为何会触发该警告?该警告来自pdb无法调试的编译代码,且uncertainties的Variable类逻辑与自定义类无明显差异。实际场景中使用uncertainties.unumpy.uarray时遇到此问题,其内部实现类似示例中numpy.vectorize的用法。


内容的提问来源于stack exchange,提问作者ws_e_c421

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 06:30:12