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

Python中如何遍历二维样本数组,逐行传参调用自定义模型函数

逐行调用model的实现方法

你的需求用Python的*序列解包特性就能非常简单实现,完全不需要手动从每行里拆分出p1到p16的数值。从你贴的print输出格式可以判断,当前的sample是典型的NumPy二维数组,每一行就是一个长度为16的一维向量,刚好匹配model的参数个数。

核心实现逻辑

  • 先初始化一个空列表,按顺序存储每一行调用model得到的输出
  • 循环遍历sample的每一行,把当前行的所有元素自动拆分为model需要的16个位置参数,调用函数后把结果存入列表

可直接运行的基础代码

# 初始化结果存储列表,按行顺序存model的输出
results = []
# 逐行遍历数据集
for row in sample:
    # *row 的作用:自动把当前行的16个数值按顺序作为位置参数传给model
    # 等价于手动写 model(row[0], row[1], row[2], ..., row[15])
    current_output = model(*row)
    results.append(current_output)

新手实操注意事项

  • 这个写法对普通Python二维列表、NumPy二维数组完全通用,不需要额外做格式转换
  • 正式批量运行前,先提前确认每一行的元素长度刚好是16:可以用print(len(sample[0]))检查第一行的长度,如果长度和model要求的参数个数不匹配,Python会直接抛出参数个数错误,提前检查可以避免无效运行
  • 建议先单独测试第一行的调用是否正常:执行print(model(*sample[0])),确认没有参数传递错误再跑全量数据
  • 熟悉语法后可以用更简洁的列表推导式实现完全相同的效果,代码量更少:
    results = [model(*row) for row in sample]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 17:24:03