개발, 웹, 블로그/DeepLearning 상식
Python ONNX Runtime으로 Resnet 테스트 하기
삼성동고양이
2024. 2. 8. 09:05
반응형
목적
ONNX Model의 검증이 필요할 때에 간략하게 테스트 하는 방법
Dependency package
Pillow가 없을 경우 pip 설치가 필요함
출력
해당 모델은 customized된 Resnet 모델로 Output이 10개 이하임.
그래서 수치의 결과물을 보기 위한 것으로, 모든 값을 한 행에 출력을 하게끔 작성함.
필요에 따라 적절한 수정이 필요함.
Python Code
import os
import onnxruntime as rt
from PIL import Image
import numpy as np
model_path = 'model path str'
image_dir = 'image path str'
width = 224
height = 224
sess = rt.InferenceSession(model_path)
for filename in os.listdir(image_dir):
if filename.endswith('.jpg') or filename.endswith('.jpeg'):
img = Image.open(os.path.join(image_dir, filename))
img = img.resize((width, height))
img = np.array(img).astype('float32')
img = np.expand_dims(img, axis=0)
img = np.transpose(img, (0, 3, 2, 1))
input_name = sess.get_inputs()[0].name
result = sess.run(None, {input_name: img})
result = np.reshape(result, (-1))
print("{}: {}".format(filename, ', '.join(np.array2string(r.flatten(), separator=', ', max_line_width=np.inf) for r in result)))
반응형