ai-inference-openvino.py
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.")