Libérez la puissance des SoCs HiSilicon AI avec des outils ouverts
Vous pouvez rapidement développer pour HiSilicon AI SoCs. Vous utiliserez des outils standard ouverts comme le SDK Ascend CANN. Ce puissant SDK
Vous pouvez rapidement développer pour HiSilicon AI SoCs. Vous utiliserez des outils standard ouverts comme le SDK Ascend CANN. Ce SDK puissant prend en charge vos projets de machine learning. Votre chemin vers la création d'applications IA est simple.
- Configurez votre environnement de développement sur le tableau.
- Convertir un modèle d'apprentissage automatique à partir d'un framework ouvert.
- Déployez et exécutez votre modèle d'IA sur la carte Edge.
Ce guide vous donne un moyen pratique d'exécuter votre première application d'IA. Vous pouvez prendre un modèle standard et le voir performer sur votre carte pour le edge computing. L'écosystème offre d'excellentes performances pour vos tâches d'apprentissage et de calcul en périphérie.
Atteindre des performances IA de haut niveau🚀
Métrique Valeur (par NPU) Débit de preremplissage 6,688 jetons/s Décoder le débit 1 943 jetons/s Décoder soutenu 538 jetons/s
Ce parcours d'apprentissage fait passer vos concepts d'IA à l'informatique de pointe dans le monde réel.
Les clés à emporter
- Vous pouvez créer des applications d'IA sur HiSiliconSoCs AIEn utilisant des outils ouverts comme le SDK Ascend CANN.
- Le SDK Ascend CANN dispose de deux outils principaux: ATC convertit les modèles, et AscendCL les exécute sur le matériel AI.
- Vous pouvez utiliser des frameworks d'IA populaires comme TensorFlow et PyTorch. Convertissez vos modèles en ONNX pour obtenir les meilleurs résultats.
- Configurez votre environnement de développement en installant la boîte à outils CANN. Ensuite, vérifiez l'installation pour vous assurer qu'elle fonctionne.
- Pour exécuter votre première application d'IA, convertissez un modèle comme ResNet-50 avec ATC. Ensuite, utilisez AscendCL pour le déployer et l'exécuter sur votre carte.
EXPLORER L'ÉCOSYSTÈME DE L'IA
Vous utiliserez le SDK Ascend CANN (Compute Architecture for Neural Networks) en tant que cœur de l'écosystème de l'IA moderne. Ce SDK puissant vous donne les outils nécessaires pour vos projets de machine learning. L'écosystème prend en charge votre parcours du développement du modèle au déploiement sur les périphériques de périphérie. Cet écosystème d'IA est conçu pour le «high performance edge computing».
OUTILS POUR SOCS HISILICON AI
Votre outil principal est le SDK Ascend CANN. Il remplace l'ancien HUAWEI HiAI DDK. Ce SDK contient deux composants clés pour vos tâches d'intelligence artificielle.
-
Compilateur Tensor Ascend (ATC):Vous utilisez cet outil pour convertir vos modèles de réseaux de neurones. Il prend des modèles de cadres d'IA ouverts et les prépare pour le conseil. ATC optimise également votre modèle pour de meilleures performances etMémoireUtilisation en soutenantCalcul demi-précision. Il améliore votre modèle avec des fonctionnalités telles que:
- Optimisation de l'ordonnancement des opérateurs
- Optimisation de la mémoire
- Digital Vision Pre-Processing (DVPP) pour un traitement d'image plus rapide
-
Langage informatique Ascend (AscendCL):Vous utilisez cette API pour exécuter votre modèle sur le matériel AI.La bibliothèque Python, pyACL, vous permet d'écrire du code pour gérer la carte, contrôler la mémoire et exécuter votre modèle d'apprentissage automatique. C'est ainsi que votre application communique avec les SoC Hisilicon AI.
INTÉGRATION DU CADRE
Vous pouvez commencer avec le cadre d'apprentissage en profondeur que vous connaissez déjà. La plate-forme Ascend prend en charge les frameworks d'IA populaires, ce qui facilite votre transition vers l'edge computing. Vous pouvez facilement intégrer vos flux de travail de machine learning existants.
Astuce:Pour de meilleurs résultats, vous devez exporter vos modèles au format ONNX. Vous pouvez utiliser des outils comme
Tf2onnxPour convertir vos modèles TensorFlow avant d'utiliser l'ATC.
Le SDK CANN maintient la compatibilité avec des versions de framework spécifiques pour assurer la stabilité. Par exemple, voici quelques versions prises en charge pourPyTorch (en):
| Cadre | Version | Version CANN |
|---|---|---|
| PyTorch (en) | 2.1.0 | 7.0.1 |
| PyTorch (en) | 1.11.0 | 7.0.1 |
PROJETS COMMUNAUTAIRES
Au-delà du SDK officiel, une communauté forte se construitOutils open-source. Le projet OpenIPC/openhisilicon est un excellent exemple. Il s'agit d'un SDK piloté par la communauté pour le firmware et le développement de bas niveau sur divers systèmes. Ce projet vous donne plus de contrôle sur votre carte avec sa licence MIT/GPL. Il prend en charge une large gamme de puces de traitement de vision, notamment:
- Hi3516ev300
- Hi3516dv300
- Hi3559a
Cet effort communautaire fournit une autre voie pour votre apprentissage et votre développement de l'IA sur les appareils de pointe.
CONFIGURATION DE L'ENVIRONNEMENT
Vous êtes maintenant prêt à préparer votre environnement de développement. Cette configuration est la base de tous vos futurs projets d'IA au tableau. Vous installerez le logiciel nécessaire et confirmerez que votre matériel est prêt pour les tâches de machine learning.
MATÉRIEL ET LOGICIEL
Votre matériel principal est la carte de développement HiSilicon AI SoCs. Vous avez également besoin d'un ordinateur hôte exécutant une distribution Linux compatible, comme Ubuntu. Avant de commencer, assurez-vous que votre carte est allumée et connectée à votre réseau. Une bonne configuration de ces systèmes empêche les problèmes communs plus tard.
Surveillez ces erreurs de configuration courantes⚠️
Lors de la configuration initiale de vos périphériques Edge, vous pouvez rencontrer des erreurs de script ou de pilote. Prêter une attention particulière aux chemins de fichiers et aux autorisations peut vous aider à les éviter.
Sh: impossible d'ouvrir './pinmux.sh': aucun fichier ou répertoire de ce typeSh: ne peut pas ouvrir 'clkcfg.sh': Aucun fichier ou répertoire de ce typeInsmod: ne peut pas insérer 'hi _ osal.ko': Aucun fichier ou répertoire de ce typePas de connexion réseau sur le Hi3516AV200
INSTALLATION DE LA TROUSSE À OUTILS CANN
Vous allez installer le SDK Ascend CANN pour activer le traitement AI sur votre carte. Ce processus implique le téléchargement des paquets corrects et l'exécution des installateurs.
- Packages de téléchargementObtenez les packages de pilotes, de micrologiciels et de boîtes à outils auprès de la communauté officielle Ascend.
- Créer un utilisateurConfigurez un groupe d'utilisateurs dédié pour exécuter les applications Ascend.
Sudo groupadd -g HwHiAiUser Sudo useradd -g HwHiAiUser-d/home/HwHiAiUser-m HwHiAiUser - Installer le pilote et le micrologiciel: Accorder des autorisations d'exécution aux fichiers et exécuter les installateurs.
Sudo chmod x *.run Sudo. /Ascend-hdk-xxx-npu-driver _ *.run -- complet Sudo. /Ascend-hdk-xxx-npu-firmware _ *.run -- complet - Installer la boîte à outils: Enfin, exécutez le programme d'installation de la boîte à outils pour terminer la configuration du SDK.
. /Ascend-cann-toolkit _ *.run -- install
| Variable | Description |
|---|---|
ASCEND_HOME_PATH | Définit le chemin d'accès à la boîte à outils CANN. |
SOC_VERSION | Spécifie la version de votre puce Ascend. |
MAX_EMPLOIS | Définit le nombre de cœurs de CPU pour la compilation. |
VÉRIFICATION DE L'INSTALLATION
Après l'installation, vous devez vérifier que tout fonctionne. Une installation réussie affichera un message commeXxx installer succès. Vous pouvez également exécuter une commande pour vérifier l'état du matériel AI. Cette étape confirme que votre environnement de machine learning est prêt pour l'edge computing et le deep learning.
Vérifier l'état NPU✅
Vous pouvez exécuter le
Infos sur npu-smiPour obtenir des informations détaillées sur votre NPU. Une sortie réussie montre que la puce estOKEt prêt pour le traitement et le calcul de l'IA.$ Npu-smi infos + Ba + | Npu-smi 23.0.1 Version: 23.0.1 | + Ra + ---------------- + Ra + | Nom de NPU | Santé | Temp de la puissance (W) (C) | | Puce | Bus-Id | AICore(%) | + =========================== + =============== + ===================== + | 4 910B3 | OK | 93,6 40 | | 0 | 0000:01:00.0 | 0 | + =========================== + =============== + ===================== +
Cela confirme que votre parcours d'apprentissage dans l'IA sur le bord peut commencer.
VOTRE PREMIÈRE APPLICATION AI
Vous êtes prêt à créer votre première application d'IA. Ce processus prend un modèle d'apprentissage automatique standard et l'exerce sur votre carte de développement. Vous verrez comment le logiciel et le matériel fonctionnent ensemble pourEdge computing (informatique de bord). Ce projet se concentrera sur une tâche simple de vision par ordinateur.
PRÉPARER UN MODÈLE OUVERT
Votre première étape consiste à choisir un modèle pré-formé. Vous pouvez trouver de nombreux modèles dans des bibliothèques open-source comme ONNX Model Zoo. Pour ce guide, vous utiliserez ResNet-50, un modèle populaire pour la reconnaissance d'image. Il constitue un excellent point de départ pour votre parcours d'apprentissage.
Votre modèle a besoin de données d'entrée dans un format spécifique. ResNet-50 s'attend à ce que les images soient d'une certaine taille et pré-traitées. Avant de fournir une image au réseau de neurones, vous devez la redimensionner à la forme d'entrée du modèle de224x224 pixels avec 3 canaux de couleur. Vous devez égalementNormaliser les valeurs de pixels. Cette préparation garantit que le modèle peut comprendre correctement les données de l'image.
Vous pouvez facilement charger un modèle ResNet-50 pré-entraîné à l'aide d'un framework d'apprentissage profond tel que TensorFlow. Le code suivant montre comment préparer le modèle pour votre tâche de vision par ordinateur.
Importation tensorflow en tant que tf Img_hauteur = 224 Img_largeur = 224 Pretrained_model = tf.keras.applications.ResNet50(include_top = Vrai, Input_shape =(img_height, img_width, 3), Poids = 'imagenet')
Bien que ResNet-50 soit un bon choix, l'écosystème de l'IA prend en charge d'autres modèles pour diverses tâches de vision et de reconnaissance. Vous pouvez également commencer par ces alternatives:
- MobileNetUn modèle efficace conçu pour les appareils de vision mobiles et embarqués.
- SqueezeNetUn petit modèle qui offre une bonne précision avec moins de ressources.
- VGGUn modèle puissant pour des défis de classification d'images plus complexes.
Vous pouvez également explorer des modèles pour d'autres domaines de l'intelligence artificielle, tels que la reconnaissance vocale, afin d'élargir vos compétences.
CONVERSION MODÈLE AVEC ATC
VotreSoCs de HiSilicon AINe peut pas exécuter directement un modèle TensorFlow ou ONNX. Vous devez d'abord le convertir dans un format que le conseil comprend. Vous utiliserez l'outil Compilateur Tensor Ascend (ATC) du SDK pour cette conversion. Cet outil optimise votre modèle pour le matériel AI, permettant une accélération d'inférence AI haute performance.
La commande ATC prend votre modèle d'origine et génère un modèle hors ligne (. Om) Fichier. Ce fichier est prêt à être déployé sur vos systèmes Edge.
Convertissez votre modèle avec cette commande⚙️
Exécutez la commande suivante dans votre terminal. Assurez-vous que vous avez déjà exporté votre modèle ResNet-50 au format ONNX.
Atc -- model =./resnet50.onnx \ -- Cadre = 5 \ -- Output =./resnet50 \ -- Input_shape = "actual_input_1:1,3,224,224" \ -- Soc_version = Ascend310B4
Passons en revue les arguments clés dans cette commande:
| Argument | Description |
|---|---|
-Modèle | Spécifie le chemin d'accès à votre fichier de modèle en entrée (par exemple,. Onnx). |
-- Cadre | Définit le cadre d'origine.5Pour ONNX. |
-- Sortie | Définit le chemin et le nom de la sortie. OmFichier sans l'extension. |
-- Input_shape | Indique au compilateur les dimensions d'entrée exactes de votre modèle. |
-- Soc_version | Spécifie la puce Ascend cible sur votre carte. |
LE LANGAGE INFORMATIQUE ASCEND
Vous utiliserez leLangage informatique Ascend (AscendCL)Pour interagir avec votre modèle converti. AscendCL est une API qui permet à vos applications de communiquer avec le processeur Ascend AI. Pour les développeurs Python, le SDK fournit une bibliothèque appeléePyACL. Cette API vous donne les fonctions pour gérer la carte, charger votre modèle et exécuter l'inférence de machine learning.
L'API comprend des outils de gestion de la mémoire. Vous pouvez utiliser des fonctions commeAlloctensorPour allouer de la mémoire pour vos données d'entrée et de sortie directement sur l'appareil. Ce contrôle permet d'optimiser les performances en gérant la façon dont la mémoire est utilisée pendant le traitement des données. AscendCL fournit également des fonctions pour l'exécution synchrone et asynchrone, vous donnant la flexibilité dans la façon dont vous concevez vos applications d'IA.
Voici un extrait Python simplifié utilisantPyACLPour montrer la logique fondamentale. Ce code montre le chargement d'un modèle et la préparation à l'inférence.
Importation acl
#1. Initialiser AscendCL
Ret = acl.init()
#2. Allouer des ressources (périphérique, contexte, flux)
Device_id = 0
Ret = acl.rt.set_device(device_id)
Contexte, ret = acl.rt.create_context(device_id)
Stream, ret = acl.rt.create_stream()
#3. Chargez le. Modèle om
Model_path = "./resnet50.om"
Model_id, ret = acl.mdl.load_from_file(model_path)
#. .. Coder pour préparer les données d'entrée, exécuter l'inférence et traiter la sortie...
#4. Décharger le modèle et libérer les ressources
Ret = acl.mdl.unload(model_id)
Ret = acl.rt.de stroy_stream (flux)
Ret = acl.rt.de stroy_context (contexte)
Ret = acl.rt.reset_device(device_id)
Ret = acl. finalise ()
DÉPLOYER ET EXÉCUTER
La dernière étape consiste à déployer et à exécuter votre code sur la carte Edge. Vous allez transférer votre script Python et le. OmModèle à l'appareil. Lorsque vous exécutez le script, il exécute le flux de travail de machine learning complet. L'API AscendCL chargera le modèle, votre code préparera et lui fournira une image, et le matériel AI effectuera le calcul.
La sortie du modèle est un tenseur brut de nombres. Ce tenseur représente les probabilités pour chaque classe possible. Votre code doit effectuer un post-traitement sur cette sortie pour obtenir un résultat lisible par l'homme. Vous pouvezAppliquer une fonction Softmax à ces nombres pour obtenir des probabilités finales. La probabilité la plus élevée correspond à la classe prédite pour l'image d'entrée. Cette dernière étape transforme les données brutes de votre modèle d'apprentissage profond en une réponse significative pour votre application de vision par ordinateur. Ceci termine votre premier projet d'IA, de la sélection du modèle à l'inférence sur l'appareil et au traitement des résultats.
Vous pouvez maintenant créer de puissantes applications d'IA pour les SoC HiSilicon AI. Votre chemin le plus rapide utilise le SDK Ascend CANN avec des cadres d'apprentissage automatique ouverts. Cette approche simplifie le développement de l'IA pour les périphériques. Vos futurs projets peuvent suivre un modèle de base pour réussir.
Votre flux de travail IA au tableau🗺️
- Configurez le SDK CANN sur votre carte.
- Convertissez votre modèle avec l'outil ATC.
- Déployez votre code avec l'API AscendCL pour le traitement sur l'appareil.
Ce parcours d'apprentissage vous prépare à l'informatique de pointe. Vous pouvez développer vos compétences en apprentissage automatique et explorer de nouvelles possibilités de traitement d'IA sur votre carte. Le SDK officiel et les ressources communautaires soutiennent votre apprentissage continu.
- Vous pouvez trouver le completDocumentation Ascend CANNPour l'apprentissage profond.
- LeGitHub de la communauté AscendPropose des projets et des outils pour l'edge computing.
FAQ
Que faire si mon modèle n'est pas au format ONNX?
Vous pouvez d'abord convertir votre modèle en ONNX. La plupart des frameworks AI, comme TensorFlow et PyTorch, fournissent des outils pour exporter des modèles. Cette étape supplémentaire prépare votre modèle pour l'outil ATC. C'est une pratique standard dans de nombreux workflows de développement AI.
Puis-je utiliser ces outils pour des projets autres que la vision par ordinateur?
Oui, vous pouvez. La boîte à outils Ascend CANN ne se limite pas aux tâches de vision. Vous pouvez créer de nombreux types d'applications AI. Cela comprend des projets dans la reconnaissance vocale et le traitement du langage naturel. Les outils prennent en charge une large gamme de modèles AI.
Où puis-je trouver des exemples de projets d'IA pour commencer?
Explorer des exemples de projets🧑💻
Vous pouvez trouver de nombreux exemples de projets dans la communauté Ascend sur GitHub. Ces échantillons couvrent diverses tâches AI et fournissent un code complet. Ils sont une excellente ressource pour apprendre à construire vos propres applications.
Ai-je besoin d'une version Linux spécifique pour l'ordinateur hôte?
Oui, vous avez besoin d'une distribution Linux compatible. La documentation CANN toolkit répertorie les systèmes d'exploitation et les versions prises en charge. Vous devriez consulter le guide officiel pour éviter les problèmes d'installation. Cela garantit que votre environnement de développement AI est stable.



