展示一段代码吧
import os
import cv2
import numpy as np
import onnx
import torch
from PIL import Image
import onnxruntime as ort
from anomalib.data.utils.image import save_image
from torchvision.transforms import transforms
import halcon as ha
trans_PIL = transforms.ToPILImage()
model = onnx.load(r'C:\Users\Administrator\Desktop\deeplearning\PythonProject\output_onnx_model')
onnx.checker.check_model(model)
#通过路径加载模型
onnx_session = ort.InferenceSession(r'C:\Users\Administrator\Desktop\deeplearning\PythonProject\output_onnx_model')
input_name = onnx_session.get_inputs()[0].name
print(input_name) #input
transform = transforms.Compose( [transforms.ToTensor(),
transforms.Resize((128,128)),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
path=r'C:\Users\Administrator\Desktop\B\BAD\006.png'
names = os.path.split(path)
out_path = os.path.join(names[0], 'result'+names[1])
img = Image.open(path)
img_tensor = transform(img).type(torch.float32)
img_tensor = img_tensor.unsqueeze_(0)
img_tensor = img_tensor.numpy()
pred_score,_,pred_map,_ = onnx_session.run(None, {input_name: img_tensor})
print(pred_score)
map = pred_map[0][0]*255.0
save_image(out_path,map )
image_show = trans_PIL(map)
image_show.show()