ai-inference-openvino.py

AAEON PICO-PTH4 : Carte Pico-ITX avec SoC Intel Panther Lake · Fichier : ai-inference-openvino.py · Langage : Python · Usage : Exécution d'une inférence IA sur le GPU Arc B390 ou NPU via OpenVINO

Exemple d'utilisation d'OpenVINO pour exécuter une inférence sur le GPU Intel Arc B390 ou le NPU de la variante Core Ultra X7.

Installez OpenVINO. La variante X7 358H possède un GPU Arc B390 et un NPU. Convertissez les modèles ONNX en IR OpenVINO. Sélectionnez 'GPU' ou 'NPU' comme device pour maximiser les 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.")

← Retour à la fiche