如何解决使用Onnxruntime后出现的IndexError: list index out of range问题
解决ONNX Runtime推理结果转DataFrame的IndexError问题
错误原因
你提到打印结果是包含一个二维数组的列表,但代码里用了res[1],这直接导致索引越界——因为列表只有1个元素,索引只有0,不存在1这个位置。
解决步骤
- 修正索引:把代码里的
res[1]改成res[0],正确的代码如下:prob = pd.DataFrame(res[0][:,1], columns=['prob_1']) - 提前验证结构(可选):如果不确定结果结构,可以先打印以下内容确认:
这样能确保你要取的列(索引1)确实存在,避免后续列索引越界。print(f"结果列表长度: {len(res)}") print(f"数组维度: {res[0].shape}")
额外提醒
sess.run(None, ...)会返回模型所有输出张量组成的列表,如果你的模型只有一个输出节点,那结果列表只会有1个元素,必须用res[0]访问。如果模型有多个输出,才需要对应使用res[0]、res[1]等索引。
内容的提问来源于stack exchange,提问作者UbuntuPython
相关产品推荐
相关产品推荐

