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

如何根据特定a、b值打印神经网络输出字典outvar的对应值?

按特定a、b值提取outvar数值的方法

1. 定位目标值对应的数组索引

a和b是用np.linspace生成的等间距数组,要找到特定a_target、b_target的位置,直接用np.argmin找最接近的元素索引即可:

import numpy as np

# 替换成你要查询的具体数值
a_target = 0.3
b_target = 1.5

# 找a数组中最接近a_target的索引
a_idx = np.argmin(np.abs(a - a_target))
# 找b数组中最接近b_target的索引
b_idx = np.argmin(np.abs(b - b_target))

2. 提取对应outvar数值

outvar是单键字典,直接取唯一键对应的二维数组,再用索引取值:

# 获取outvar中的唯一键
out_key = next(iter(outvar.keys()))
# 取出目标位置的数值
target_value = outvar[out_key][a_idx, b_idx]
# 打印结果
print(f"a={a_target}, b={b_target}时,对应数值:{target_value}")

3. 整合到现有代码中

把查询逻辑直接加到你的__call__方法里,修改后的代码如下:

def __call__(self, invar, outvar):
    "自定义函数,绘制推理数据"
    ndim = len(invar)
    extent, outvar = self._interpolate_2D(100, invar, outvar) # 100需与linspace的点数一致
    a = np.linspace(0, 1, 100) # z长度
    b = np.linspace(0, 4, 100) # 时间
    
    # --- 添加查询逻辑 ---
    # 设置要查询的a、b值
    a_target = 0.3
    b_target = 1.5
    # 计算索引
    a_idx = np.argmin(np.abs(a - a_target))
    b_idx = np.argmin(np.abs(b - b_target))
    # 提取并打印数值
    out_key = next(iter(outvar.keys()))
    target_value = outvar[out_key][a_idx, b_idx]
    print(f"a={a_target:.2f}, b={b_target:.2f} 对应的数值:{target_value:.4f}")
    # --- 查询逻辑结束 ---
    
    # 绘图部分
    dims = list(invar.keys())
    fs = []

    for k in outvar:
        f = plt.figure(figsize=(5, 4), dpi=100)
        plt.pcolor(a, b, outvar[k].T, vmax=1.0, vmin=0.0) # origin="lower", extent=extent)
        plt.xlabel(dims[0])
        plt.ylabel(dims[1])
        plt.colorbar()
        plt.title("浓度分布")
        plt.tight_layout()
        fs.append((f, k))
    return fs

额外优化:精确插值

如果不想只取最接近的点,想要更精准的计算结果,可以用scipy的二维插值函数:

from scipy.interpolate import interp2d

# 构建插值函数
interp_func = interp2d(a, b, outvar[out_key], kind='linear')
# 传入目标值计算精确结果
precise_value = interp_func(a_target, b_target)[0]
print(f"精确插值结果:{precise_value:.4f}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 13:02:49