使用onnx模型测试图片的代码
时间: 2024-02-12 16:04:09 浏览: 155
以下是使用ONNX模型测试图片的Python代码示例:
```python
import onnxruntime as ort
import numpy as np
from PIL import Image
# 加载ONNX模型
model_path = "your_model.onnx"
session = ort.InferenceSession(model_path)
# 输入图片的预处理
def preprocess(image_path):
image = Image.open(image_path)
image = image.resize((224, 224)) # 调整图片尺寸
image = np.array(image).astype(np.float32)
image = image.transpose((2, 0, 1)) # 转置为 (C, H, W) 格式
image = image / 255.0 # 归一化
image = np.expand_dims(image, axis=0) # 增加 batch 维度
return image
# 加载测试图片
image_path = "test.jpg"
# 对测试图片进行预处理
image = preprocess(image_path)
# 前向推理
output = session.run(None, {"input": image})
# 输出预测结果
print(output)
```
在这个示例中,我们首先加载了ONNX模型文件,然后定义了一个预处理函数来对输入图片进行预处理。预处理函数将图片调整到模型期望的尺寸,并执行了归一化和维度转换操作。接下来,我们加载了测试图片,并对其进行预处理。最后,我们通过在 `session.run()` 中传入输入张量来运行模型,并获得输出结果。在这个示例中,我们简单地将输出结果打印出来,但实际上您可以根据您的应用程序需求来处理输出结果。
阅读全文