在 Python 中,当调用 session = ort.InferenceSession("model.onnx") 时,Python 会通过以下机制处理这个类实例化和方法调用:
1. InferenceSession 类的实例化
-
类定义:
onnxruntime模块的 C++ 代码中定义了InferenceSession类,并通过 Python 绑定(通常是使用 pybind11)将其暴露给 Python。 -
实例化过程:
-
当你调用
ort.InferenceSession("model.onnx")时,Python 会:
a. 查找ort模块中的InferenceSession类
b. 调用该类的__init__方法(构造函数)
c. C++ 层会加载 ONNX 模型并初始化推理会话
d. 返回一个 Python 对象,这个对象是 C++ 类的 Python 包装器
-
-
Python 对象:
-
返回的
session对象看起来像普通的 Python 对象 -
实际上它是一个"影子对象",背后连接着 C++ 的实现
-
2. run 方法的确定
当调用 session.run()<

最低0.47元/天 解锁文章
5556

被折叠的 条评论
为什么被折叠?



