Ir al contenido principal
Base de conocimientos de asistencia

Los resultados de inferencia divergen cuando se comparan con el entorno local y OpenVINO™ Model Server (OVMS) para el mismo modelo

Tipo de contenido: Resolución de problemas   |   ID del artículo: 000098271   |   Última revisión: 01/04/2024

Descripción

  • Se utilizó el repositorio de procesamiento de reclamaciones de seguros y se cargó el modelo YOLO para probar la precisión.
  • Los resultados de la inferencia divergen entre el modelo YOLO ONNX cargado localmente y el mismo modelo cargado en OVMS.
  • Los resultados observados en 04-accident-recognize fueron de alrededor del 86%, mientras que OVMS devolvió alrededor del 88%.

Resolución

Parece que los modelos cargados OpenVINO™ y Ultralytics recibieron diferentes entradas, lo que causa la diferencia en los resultados.

Se deben realizar algunos cambios para ejecutarse en un entorno local, estos son los cambios:

04-04-accident-recog.ipynb

  1. Celda con imagen de entrada de lectura y predicción en ejecución:

    original_image: np.ndarray = cv2.imread("images/carImage3.jpg")
    blob = cv2.dnn.blobFromImage(original_image, size=(640, 640), swapRB=False)
    blob = np.ascontiguousarray(blob[0].transpose((1,2,0)))
    results = model.predict(blob)

  2. Celda que dibuja los resultados en la imagen original:

    Image.fromarray(result.plot()[:,:,::-1].astype(np.uint8))

04-05-model-serving.ipynb

No hay cambios en el propio bloc de notas. Cambios requeridos en remote_infer.py.

  1. Método de preproceso:

    // code placeholder
    def preprocess(image_path):
    original_image: np.ndarray = cv2.imread(image_path)
    [height, width, _] = original_image.shape

    # Calculate scale factor
    scale = (height/640, width/640)

    # Preprocess the image and prepare blob for model
    blob = cv2.dnn.blobFromImage(original_image, scalefactor=1 / 255, size=(640, 640), swapRB=True)
    return blob, scale, original_image

  2. Llamada a draw_bounding_box postproceso interno:

    draw_bounding_box(original_image, class_ids[index], scores[index], round(box[0] * scale[1]), round(box[1] * scale[0]),round((box[0] + box[2]) * scale[1]), round((box[1] + box[3]) * scale[0]))

Productos relacionados

Este artículo se aplica a 3 productos.
Software del procesador Intel® Xeon Phi™ OpenVINO™ toolkit Bibliotecas de desempeño

Descargos de responsabilidad legales

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.