Erschließen Sie die Leistung von HiSilicon AI-SoCs mit offenen Werkzeugen

Sie können schnell für HiSilicon AI SoCs entwickeln. Sie werden Open-Standard-Tools wie das Ascend CANN SDK verwenden. Dieses leistungs starke SDK

Entsperren

Sie können schnell für HiSilicon AI SoCs entwickeln. Sie werden Open-Standard-Tools wie das Ascend CANN SDK verwenden. Dieses leistungs starke SDK unterstützt Ihre maschinellen Lern projekte. Ihr Weg zur Erstellung von KI-Anwendungen ist einfach.

  1. Richten Sie Ihre Entwicklungs umgebung auf dem Board ein.
  2. Konvertieren Sie ein maschinelles Lern modell aus einem offenen Framework.
  3. Stellen Sie Ihr KI-Modell auf dem Edge-Board bereit und führen Sie es aus.

Dieser Leitfaden bietet Ihnen eine praktische Möglichkeit, Ihre erste KI-Anwendung auszuführen. Sie können ein Standard modell verwenden und sehen, wie es für Edge Computing auf Ihrem Board ausgeführt wird. Das Ökosystem bietet hervorragende Leistung für Ihre Edge-Lern-und Computer aufgaben.

Erreichen Sie eine erstklassige KI-Leistung🚀

Das Ascend CANN-Framework ermöglicht eine beeindruckende Effizienz für Deep Learning am Rande.

MetrikWert (pro NPU)
Vorfüll durchsatz6.688 Token/s
Durchsatz decodieren1.943 Token/s
Nachhaltige Entschlüsse538 Token/s

Diese Lern reise verlagert Ihre KI-Konzepte auf Real-World-Edge-Computing.

Wichtige Imbiss buden

  • Sie können KI-Anwendungen auf HiSilicon erstellenKI-SoCsMit offenen Werkzeugen wie dem Ascend CANN SDK.
  • Das Ascend CANN SDK verfügt über zwei Hauptwerk zeuge: ATC konvertiert Modelle und AscendCL führt sie auf der KI-Hardware aus.
  • Sie können beliebte KI-Frameworks wie Tensor Flow und PyTorch verwenden. Konvertieren Sie Ihre Modelle zu ONNX für die besten Ergebnisse.
  • Richten Sie Ihre Entwicklungs umgebung ein, indem Sie das CANN-Toolkit installieren. Überprüfen Sie dann die Installation, um sicher zustellen, dass sie funktioniert.
  • Um Ihre erste KI-App auszuführen, konvertieren Sie ein Modell wie ResNet-50 mit ATC. Verwenden Sie dann AscendCL, um es auf Ihrem Board bereit zustellen und auszuführen.

ENTDECKEN SIE DAS KI-ÖKOSYSTEM

ENTDECKEN

Sie verwenden das SDK Ascend CANN (Compute Architecture for Neural Networks) als Kern des modernen KI-Ökosystems. Dieses leistungs starke SDK bietet Ihnen die Werkzeuge für Ihre maschinellen Lern projekte. Das Ökosystem unterstützt Ihren Weg von der Modellent wicklung bis zur Bereitstellung auf Edge-Geräten. Dieses KI-Ökosystem ist für High-Performance-Edge-Computing konzipiert.

WERKZEUGE FÜR HISILICON AI SOCS

Ihr Haupt werkzeug ist das Ascend CANN SDK. Es ersetzt das ältere HUAWEI HiAI DDK. Dieses SDK enthält zwei Schlüssel komponenten für Ihre Aufgaben der künstlichen Intelligenz.

  1. Ascend Tensor Compiler (ATC):Sie verwenden dieses Tool, um Ihre neuronalen Netze-Modelle zu konvertieren. Es nimmt Modelle aus offenen KI-Frameworks und bereitet sie für das Board vor. ATC optimiert auch Ihr Modell für eine bessere Leistung und wenigerErinnerungVerwendung durch UnterstützungHalbpräzisions-Computing. Es verbessert Ihr Modell mit Funktionen wie:

    • Optimierung der Betreiber planung
    • Speicher optimierung
    • Digital Vision Pre-Processing (DVPP) für eine schnellere Bild verarbeitung
  2. Ascend Computing Sprache (AscendCL):Sie verwenden diese API, um Ihr Modell auf der AI-Hardware auszuführen.Mit der Python-Bibliothek pyACL können Sie Code schreiben, um das Board zu verwalten, den Speicher zu steuern und Ihr maschinelles Lern modell auszuführen. So kommuniziert Ihre Anwendung mit den Hisilicon AI SoCs.

RAHMEN INTEGRATION

Sie können mit dem Deep Learning Framework beginnen, das Sie bereits kennen. Die Ascend-Plattform unterstützt beliebte KI-Frameworks und macht Ihren Übergang zum Edge-Computing reibungslos. Sie können Ihre vorhandenen Workflows für maschinelles Lernen problemlos integrieren.

Tipp:Für beste Ergebnisse sollten Sie Ihre Modelle in das ONNX-Format exportieren. Sie können Werkzeuge wie verwendenTf2onnxUm Ihre TensorFlow-Modelle zu konvertieren, bevor Sie die ATC verwenden.

Das CANN SDK behält die Kompatibilität mit bestimmten Framework-Versionen bei, um Stabilität zu gewährleisten. Hier sind beispiels weise einige unterstützte Versionen fürPyTorch:

RahmenVersionCANN Version
PyTorch2.1.07.0.1
PyTorch1.11.07.0.1

PROJEKTE DER GEMEINSCHAFT

Über das offizielle SDK hinaus baut sich eine starke Community aufOpen-Source-Tools. Das OpenIPC/Openhisilicon-Projekt ist ein gutes Beispiel. Es ist ein Community-gesteuertes SDK für Firmware und Low-Level-Entwicklung auf verschiedenen Systemen. Dieses Projekt gibt Ihnen mehr Kontrolle über Ihr Board mit seiner MIT/GPL-Lizenzierung. Es unterstützt eine breite Palette von Vision-Verarbeitung chips, einschl ießlich:

Diese Community-Bemühungen bieten einen weiteren Weg für Ihr KI-Lernen und Ihre Entwicklung auf Edge-Geräten.

UMWELT SETUP

Sie sind jetzt bereit, Ihre Entwicklungs umgebung vor zubereiten. Dieses Setup ist die Grundlage für alle Ihre zukünftigen KI-Projekte auf dem Board. Sie installieren die erforderliche Software und bestätigen, dass Ihre Hardware für Aufgaben des maschinellen Lernens bereit ist.

HARDWARE UND SOFTWARE

Ihre primäre Hardware ist das HiSilicon AI SoCs-Entwicklungs board. Sie benötigen auch einen Host-Computer mit einer kompatiblen Linux-Distribution wie Ubuntu. Bevor Sie beginnen, stellen Sie sicher, dass Ihr Board eingesc haltet und mit Ihrem Netzwerk verbunden ist. Die ordnungs gemäße Einrichtung dieser Systeme verhindert später häufige Probleme.

Achten Sie auf diese häufigen Setup-Fehler⚠️

Während der ersten Einrichtung Ihrer Edge-Geräte können Skript-oder Treiber fehler auftreten. Wenn Sie Datei pfade und Berechtigungen genau beachten, können Sie diese vermeiden.

  • Sh: kann nicht öffnen './pinmux.sh': Keine solche Datei oder Verzeichnis
  • Sh: kann 'clkcfg.sh' nicht öffnen: Keine solche Datei oder Verzeichnis
  • Insmod: kann 'hi _ osal.ko' nicht einfügen: Keine solche Datei oder Verzeichnis
  • Keine Netzwerk verbindung auf Hi3516AV200

INSTALLIERUNG DES CANN TOOLKIT

Sie installieren das Ascend CANN SDK, um die KI-Verarbeitung auf Ihrem Board zu ermöglichen. Bei diesem Vorgang werden die richtigen Pakete herunter geladen und die Installation programme ausgeführt.

  1. Pakete herunter laden: Holen Sie sich die Treiber-, Firmware-und Toolkit-Pakete von der offiziellen Ascend-Community.
  2. Benutzer erstellen: Richten Sie eine dedizierte Benutzer gruppe für die Ausführung von Ascend-Anwendungen ein.
    Sudo group add -g HwHiAiUser
    Sudo user add -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser
    
  3. Treiber & Firmware installieren: Erteilen Sie den Dateien Ausführungs berechtigungen und führen Sie die Installation programme aus.
    Sudo chmod x *.run
    Sudo. /Ascend-hdk-xxx-npu-driver _ *.run-voll
    Sudo. /Ascend-hdk-xxx-npu-firmware _ *.run -- voll
    
  4. Installieren Sie Toolkit: Zum Schluss führen Sie das Toolkit-Installation programm aus, um das SDK-Setup abzuschließen.
    . /Ascend-cann-toolkit _ *.run -- installieren
    

Nach der Installation des SDK müssen Sie möglicher weise Umgebungs variablen festlegen, um Ihre Edge-Computing-Plattform für die Erstellung von KI-Anwendungen zu konfigurieren.

VariabelBeschreibung
ASCEND_HOME_PATHLegt den Home-Pfad für das CANN-Toolkit fest.
SOC_VERSIONGibt die Version Ihres Ascend-Chips an.
MAX_JOBSDefiniert die Anzahl der CPU-Kerne für die Kompilierung.

ÜBERPRÜFUNG DER INSTALLATION

Nach der Installation sollten Sie überprüfen, ob alles funktioniert. Eine erfolgreiche Installation zeigt eine Nachricht wieXxx installieren erfolg. Sie können auch einen Befehl ausführen, um den Status der KI-Hardware zu überprüfen. Dieser Schritt bestätigt, dass Ihre maschinelle Lernumgebung für Edge Computing und Deep Learning bereit ist.

Überprüfen Sie den NPU-Status

Sie können dieNpu-smi infoBefehl, um detaillierte Informationen über Ihre NPU zu erhalten. Eine erfolgreiche Ausgabe zeigt, dass der ChipOKUnd bereit für KI-Verarbeitung und Computing.

$ Npu-smi info
+ ----------------------------------------------------------------- +
| Npu-smi 23.0.1 Version: 23.0.1 |
---------------------------------------------------------
| NPU Name | Gesundheit | Leistung (W) Temp(C) |
| Chip | Bus-Id | AICore(%) |
+ =========================== + =============== + ===================== +
| 4 910 B3 | OK | 93,6 40 |
| 0 | 0000:01:00.0 | 0 |
+ =========================== + =============== + ===================== +

Dies bestätigt, dass Ihre Lern reise in die KI am Rande beginnen kann.

IHRE ERSTE KI-ANWENDUNG

IHRE

Sie sind bereit, Ihre erste KI-Anwendung zu erstellen. Dieser Prozess verwendet ein Standard modell für maschinelles Lernen und führt es auf Ihrem Entwicklungs board aus. Sie werden sehen, wie die Software und Hardware zusammenarbeiten, um leistungs stark zu seinKanten-Computing. Dieses Projekt konzentriert sich auf eine einfache Computer-Vision-Aufgabe.

VORBEREITUNG EINES OFFENEN MODELLS

Ihr erster Schritt ist die Wahl eines vor trainierten Modells. Sie finden viele Modelle in Open-Source-Bibliotheken wie dem ONNX Model Zoo. Für diesen Leitfaden verwenden Sie ResNet-50, ein beliebtes Modell für die Bilder kennung. Es bietet einen großartigen Ausgangs punkt für Ihre Lern reise.

Ihr Modell benötigt Eingabedaten in einem bestimmten Format. ResNet-50 erwartet, dass Bilder eine bestimmte Größe haben und vor verarbeitet werden. Bevor Sie ein Bild an das neuronale Netzwerk einspeisen, müssen Sie die Größe auf die Eingabe form des Modells von ändern224x224 Pixel mit 3 Farb kanälen. Sie müssen auchDie Pixel werte normalisieren. Diese Vorbereitung stellt sicher, dass das Modell die Bilddaten korrekt verstehen kann.

Sie können ein vorab geschultes ResNet-50 modell problemlos mit einem Deep-Learning-Framework wie Tensor Flow laden. Der folgende Code zeigt, wie Sie das Modell für Ihre Computer-Vision-Aufgabe vorbereiten.

Tensor flow importieren als tf

Img_height = 224
Img_width = 224

Pretrained_model = tf.keras.applications.ResNet50(include_top = True,
Input_shape =(img_height, img_width, 3),
Gewichte = 'imagenet')

Während ResNet-50 eine gute Wahl ist, unterstützt das KI-Ökosystem andere Modelle für verschiedene Seh-und Erkennungs aufgaben. Sie könnten auch mit diesen Alternativen beginnen:

  • Mobile Net: Ein effizientes Modell für mobile und eingebettete Vision-Geräte.
  • SqueezeNet: Ein kleines Modell, das eine gute Genauigkeit mit weniger Ressourcen liefert.
  • VGG: Ein leistungs starkes Modell für komplexere Herausforderungen bei der Bild klassifizierung.

Sie können auch Modelle für andere Bereiche der künstlichen Intelligenz, wie z. B. die Spracher kennung, erkunden, um Ihre Fähigkeiten zu erweitern.

MODELL UMWANDLUNG MIT ATC

IhreHiSilicon AI SoCsKann ein Tensor Flow-oder ONNX-Modell nicht direkt ausführen. Sie müssen es zuerst in ein Format konvertieren, das das Board versteht. Für diese Konvertierung verwenden Sie das ATC-Tool (Ascend Tensor Compiler) aus dem SDK. Dieses Tool optimiert Ihr Modell für die KI-Hardware und ermöglicht eine leistungs starke KI-Inferenz beschleunigung.

Der ATC-Befehl nimmt Ihr ursprüngliches Modell und gibt ein Offline-Modell aus (. Om) Datei. Diese Datei ist bereit für die Bereitstellung auf Ihren Edge-Systemen.

Konvertieren Sie Ihr Modell mit diesem Befehl⚙️

Führen Sie den folgenden Befehl in Ihrem Terminal aus. Stellen Sie sicher, dass Sie Ihr ResNet-50 modell bereits in das ONNX-Format exportiert haben.

Atc -- model =./resnet50.onnx \
-- Framework = 5 \
-- Output =./resnet50 \
-- Input_shape = "actual_input_1:1,3,224,224" \
-- Soc_version = Ascend310B4

Lassen Sie uns die wichtigsten Argumente in diesem Befehl überprüfen:

ArgumentBeschreibung
-- ModellGibt den Pfad zu Ihrer Eingabe modell datei an (z.. Onnx).
-RahmenDefiniert das ursprüngliche Framework.5Steht für ONNX.
-AusgabeLegt den Pfad und den Namen für die Ausgabe fest. OmDatei ohne die Erweiterung.
-- Input_shapeErzählt dem Compiler die genauen Eingabe abmessungen für Ihr Modell.
-- Soc_versionGibt den Ziel-Aufstieg-Chip auf Ihrem Board an.

DIE ASCEND-COMPUTING-SPRACHE

Sie werden dieAscend Computing Sprache (AscendCL)Um mit Ihrem konvertierten Modell zu interagieren. AscendCL ist eine API, mit der Ihre Anwendungen mit dem Ascend AI-Prozessor kommunizieren können. Für Python-Entwickler bietet das SDK eine Bibliothek namensPyACL. Diese API bietet Ihnen die Funktionen zum Verwalten des Boards, Laden Ihres Modells und Ausführen der Inferenz für maschinelles Lernen.

Die API enthält Tools für die Speicher verwaltung. Sie können Funktionen wieAllocTensorUm Speicher für Ihre Ein-und Ausgabedaten direkt auf dem Gerät zuzuweisen. Diese Steuerung hilft, die Leistung zu optimieren, indem verwaltet wird, wie Speicher während der Datenverarbeitung verwendet wird. AscendCL bietet auch Funktionen für die synchrone und asynchrone Ausführung und bietet Ihnen Flexibilität bei der Gestaltung Ihrer KI-Anwendungen.

Hier ist ein vereinfachtes Python-Snippet mitPyACLUm die Kern logik zu zeigen. Dieser Code zeigt das Laden eines Modells und die Vorbereitung auf Inferenz.

Acl import

#1. AscendCL initial isieren
Ret = acl.init()

#2. Ressourcen zuordnen (Gerät, Kontext, Stream)
Device_id = 0
Ret = acl.rt.set_device(device_id)
Context, ret = acl.rt.create_context(device_id)
Stream, ret = acl.rt.create_stream()

#3. Laden Sie die. Om modell
Model_path = "./resnet50.om"
Model_id, ret = acl.mdl.load_from_file(model_path)

#. .. Code, um Eingabedaten vor zubereiten, Inferenz auszuführen und Ausgabe zu verarbeiten...

#4. Modell entladen und Ressourcen freigeben
Ret = acl.mdl. entladen (model_id)
Ret = acl.rt.de stroy_stream (Stream)
Ret = acl.rt.de stroy_context (Kontext)
Ret = acl.rt.reset_device(device_id)
Ret = acl.final ize()

VERWENDEN UND AUSFÜHREN

Der letzte Schritt besteht darin, Ihren Code auf dem Edge Board bereit zustellen und auszuführen. Sie übertragen Ihr Python-Skript und das konvertierte. OmModell zum Gerät. Wenn Sie das Skript ausführen, wird der vollständige Workflow für maschinelles Lernen ausgeführt. Die AscendCL-API lädt das Modell, Ihr Code bereitet ein Bild vor und füttert es ein, und die KI-Hardware führt das Computing durch.

Die Ausgabe des Modells ist ein Roh tensor von Zahlen. Dieser Tensor stellt die Wahrscheinlichkeiten für jede mögliche Klasse dar. Ihr Code muss eine Nach bearbeitung dieser Ausgabe durchführen, um ein vom Menschen lesbares Ergebnis zu erhalten. Sie könnenWenden Sie eine Softmax-Funktion auf diese Zahlen an, um endgültige Wahrscheinlichkeiten zu erhalten. Die höchste Wahrscheinlichkeit entspricht der vorhergesagten Klasse für das Eingabe bild. Dieser letzte Schritt macht die Rohdaten aus Ihrem Deep-Learning-Modell zu einer aussage kräftigen Antwort für Ihre Computer-Vision-Anwendung. Damit ist Ihr erstes KI-Projekt abgeschlossen, von der Modell auswahl bis zur Inferenz-und Ergebnis verarbeitung auf dem Gerät.


Sie können jetzt leistungs starke KI-Anwendungen für HiSilicon AI-SoCs erstellen. Ihr schnellster Weg nutzt das Ascend CANN SDK mit offenen Frameworks für maschinelles Lernen. Dieser Ansatz vereinfacht die KI-Entwicklung für Edge-Geräte. Ihre zukünftigen Projekte können einem Kern muster für den Erfolg folgen.

Ihr KI-Workflow auf dem Board🗺️

  1. Richten Sie das CANN SDK auf Ihrem Board ein.
  2. Konvertieren Sie Ihr Modell mit dem ATC-Tool.
  3. Stellen Sie Ihren Code mit der AscendCL-API für die Verarbeitung auf dem Gerät bereit.

Diese Lern reise bereitet Sie auf fortschritt liches Edge-Computing vor. Sie können Ihre Fähigkeiten zum maschinellen Lernen erweitern und neue Möglichkeiten zur KI-Verarbeitung auf Ihrem Board erkunden. Das offizielle SDK und die Community-Ressourcen unterstützen Ihr kontinuierliches Lernen.

FAQ

Was ist, wenn mein Modell nicht im ONNX-Format ist?

Sie können Ihr Modell zuerst in ONNX konvertieren. Die meisten ai-Frameworks wie Tensor Flow und PyTorch bieten Tools zum Export von Modellen. Dieser zusätzliche Schritt bereitet Ihr Modell auf das ATC-Tool vor. Es ist eine Standard praxis in vielen ai-Entwicklungs workflows.

Kann ich diese Tools für andere Projekte als Computer Vision verwenden?

Ja, das kannst du. Das Ascend CANN Toolkit ist nicht auf Visions aufgaben beschränkt. Sie können viele Arten von ai-Anwendungen erstellen. Dazu gehören Projekte in der Spracher kennung und der Verarbeitung natürlicher Sprache. Die Werkzeuge unterstützen eine breite Palette von ai-Modellen.

Wo finde ich Beispiel-KI-Projekte, um los zulegen?

Beispiel projekte erkunden🧑‍💻

Auf GitHub finden Sie viele Beispiel projekte in der Ascend-Community. Diese Proben decken verschiedene ai-Aufgaben ab und liefern vollständigen Code. Sie sind eine großartige Ressource, um zu lernen, wie Sie Ihre eigenen Anwendungen erstellen.

Brauche ich eine bestimmte Linux-Version für den Host-Computer?

Ja, Sie benötigen eine kompatible Linux-Distribution. Die CANN-Toolkit-Dokumentation listet die unterstützten Betriebs systeme und Versionen auf. Sie sollten den offiziellen Leitfaden überprüfen, um Installation probleme zu vermeiden. Dies stellt sicher, dass Ihre ai-Entwicklungs umgebung stabil ist.

Related Articles