ai-inference-openvino.py

AAEON PICO-PTH4: Pico-ITX Board with Intel Panther Lake SoC · File : ai-inference-openvino.py · Language : Python · Use case : Exécution d'une inférence IA sur le GPU Arc B390 ou NPU via OpenVINO

Example of using OpenVINO to run inference on the Intel Arc B390 GPU or NPU of the Core Ultra X7 variant.

Install OpenVINO. The X7 358H variant has an Arc B390 GPU and a NPU. Convert ONNX models to OpenVINO IR. Select 'GPU' or 'NPU' as device to maximize TOPS.

ai-inference-openvino.py

#!/usr/bin/env python3
"""
Exemple d'inférence IA sur PICO-PTH4 (Core Ultra X7 358H).
Utilise OpenVINO pour exploiter le GPU Arc B390 ou le NPU.
Nécessite OpenVINO Runtime.
"""
import openvino.runtime as ov
import numpy as np
import cv2

# Charger un modèle IR (Intermediate Representation) pré-converti
# Exemple: yolov8n.xml (téléchargeable depuis OpenVINO Model Zoo)
MODEL_PATH = 'yolov8n.xml'

try:
    core = ov.Core()
    
    # Sélectionner le device : GPU (Arc B390) ou NPU
    # 'GPU' utilise le GPU intégré, 'NPU' utilise le moteur IA dédié
    DEVICE = 'GPU' 
    print(f"Chargement du modèle sur {DEVICE}...")
    
    # Charger le modèle
    model = core.read_model(MODEL_PATH)
    compiled_model = core.compile_model(model, DEVICE)
    
    # Obtenir les entrées et sorties
    input_key = compiled_model.input(0)
    output_key = compiled_model.output(0)
    
    # Préparer une entrée factice (ex: image 640x640 BGR)
    input_shape = input_key.get_shape()
    dummy_input = np.random.rand(*input_shape).astype(np.float32)
    
    # Exécuter l'inférence
    print("Exécution de l'inférence...")
    result = compiled_model([dummy_input])
    
    print(f"Inférence terminée. Shape de la sortie: {result[output_key].shape}")
    print("Le GPU Arc B390 et le NPU permettent une performance combinée de 180 TOPS.")
    
except Exception as e:
    print(f"Erreur OpenVINO: {e}")
    print("Assurez-vous qu'OpenVINO est installé et que le modèle .xml/.bin est présent.")

← Back to the board