ai-inference-openvino.py
Ejemplo de uso de OpenVINO para ejecutar inferencia en la GPU Intel Arc B390 o la NPU de la variante Core Ultra X7.
Instale OpenVINO. La variante X7 358H tiene una GPU Arc B390 y una NPU. Convierta modelos ONNX a IR OpenVINO. Seleccione 'GPU' o 'NPU' como dispositivo para maximizar los 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.")