python ONNXRuntime的使用例子

import onnx
import numpy as np
import onnxruntime as rt
import cv2
import time

model_path = './lite_hrnet_30_384x288_coco.onnx'
onnx_model = onnx.load(model_path)
onnx.checker.check_model(onnx_model)

sess = rt.InferenceSession(model_path)
# sess.set_providers(["TensorrtExecutionProvider"])
sess.set_providers(["CPUExecutionProvider"])
# sess.set_providers(["CUDAExecutionProvider"])

image = cv2.imread("hrnet_demo.jpg")
image = cv2.resize(image, (288,384))
image = image.astype(np.float32)/255.0

image = image.transpose(2,0,1)
image = np.array(image)[np.newaxis, :, :, :]
print(image.shape)

input_name_1 = sess.get_inputs()[0].name
output_name_1 = sess.get_outputs()[0].name
output_name_2 = sess.get_outputs()[1].name

print("input_name_1:",input_name_1)
print("output_name_1:",output_name_1)
print("output_name_2:",output_name_2)

i=0
while i<10:
    start = time.time()
    output = sess.run([output_name_1,output_name_2], {(input_name_1): image})
    print('spend time:',(time.time()-start)*1000.0)

    i+=1





  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
onnxruntime 是一个用于执行 ONNX 模型的高性能推理引擎,支持多种平台和硬件设备。下面是 onnxruntimePython 中的使用教程: 1. 安装 onnxruntime 可以使用 pip 命令来安装 onnxruntime: ``` pip install onnxruntime ``` 2. 加载 ONNX 模型 在使用 onnxruntime 执行推理之前,需要先加载 ONNX 模型。可以使用 `onnxruntime.InferenceSession` 类来加载模型: ```python import onnxruntime # 加载 ONNX 模型 session = onnxruntime.InferenceSession("model.onnx") ``` 其中,`model.onnx` 是 ONNX 模型的文件路径。 3. 执行推理 加载完模型后,可以使用 `session.run` 方法来执行推理: ```python import numpy as np # 构造输入数据 input_data = np.array([[1, 2, 3, 4]], dtype=np.float32) # 执行推理 output = session.run(None, {"input": input_data}) # 输出结果 print(output) ``` 其中,`session.run` 方法的第一个参数是输出的名称列表,可以为 `None`,也可以是一个字符串或字符串列表;第二个参数是一个字典,键为输入的名称,值为输入的数据。在上面的例子中,输入的名称为 `input`。 4. 获取模型信息 使用 `session.get_inputs` 和 `session.get_outputs` 方法可以获取模型的输入和输出信息: ```python # 获取输入信息 input_info = session.get_inputs()[0] print(input_info) # 获取输出信息 output_info = session.get_outputs()[0] print(output_info) ``` 其中,`input_info` 和 `output_info` 是 `onnxruntime.NodeArg` 类型的对象,包含了输入和输出的名称、形状、数据类型等信息。 5. 设置运行配置 可以使用 `onnxruntime.SessionOptions` 类来设置运行配置,例如使用 CPU 或 GPU 进行计算、设置线程数等: ```python import onnxruntime # 设置运行配置 options = onnxruntime.SessionOptions() options.intra_op_num_threads = 1 # 设置线程数为 1 options.execution_mode = onnxruntime.ExecutionMode.ORT_SEQUENTIAL # 设置为顺序模式 # 加载 ONNX 模型 session = onnxruntime.InferenceSession("model.onnx", options=options) ``` 6. 释放资源 使用onnxruntime 后,需要调用 `session.close` 方法来释放资源: ```python # 释放资源 session.close() ``` 以上就是 onnxruntimePython 中的使用教程,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值