ai-inference-openvino.py

AAEON PICO-PTH4: Placa Pico-ITX con SoC Intel Panther Lake · Archivo : ai-inference-openvino.py · Lenguaje : Python · Uso : Exécution d'une inférence IA sur le GPU Arc B390 ou NPU via OpenVINO

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.")

← Volver a la ficha