Forum: Digitale Signalverarbeitung / DSP / Machine Learning Python KI in C einfügen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Timon (Gast)


Lesenswert?

Hallo,
Ich habe vor ein künstliches neuronales Netz (KI) z.B.: auf einen 
Computer , Roboter usw. zuladen damit die hardware Bilder zuordnen kann 
zuladen aber die KI ist in Python geschrieben und wenn die hardware in C 
geschrieben ist ob man die irgendwie einsetzen könnte oder übersetzen 
das der Computer das versteht?

: Verschoben durch Admin
von Dirk B. (dirkb2)


Lesenswert?

Hardware wird in Silizium geschrieben.
Für Software kann man C benutzen.

Man kann C Funktionen/Bibliotheken in Python einbinden.

: Bearbeitet durch User
Beitrag #6621419 wurde von einem Moderator gelöscht.
von A. S. (rava)


Lesenswert?

Welches Datenformat hat dein Netz? Wie sind die Gewichte gespeichert?
Warum nicht das tool benutzen, das zu deinem Framework gehört?

von Andreas (Gast)


Lesenswert?

Für den Produktionseinsatz eines trainierten neuronalen Netzes ist es 
normalerweise nicht so wichtig womit es trainiert wurde. Nach dem 
Training speichert man Struktur und Parameter des Netzes in einem einem 
geeigneten Format ab (z.B., Tensorflow, ONNX), und verwendet dann eine 
kompatible Runtime-Bibliothek die das Netz mit Eingangsdaten füttert und 
die Ausgänge berechnet. Für hardwarenahe Anwendungen gibt es z.B. 
Tensorflow Lite (läuft z.B. auch auf einem Cortex M3 Mikrocontroller, 
siehe https://www.tensorflow.org/lite/microcontrollers). Tensorflow hat 
allgemein den Ruf den Übergang vom Training zum Produktionseinsatz 
relativ einfach zu machen. Für das "offenere" ONNX-Format gibt es auch 
Runtimes (https://github.com/microsoft/onnxruntime), aber das Ökosystem 
ist da m.W. noch nicht ganz so gut aufgebaut.

von Jemand (Gast)


Lesenswert?

Timon schrieb:
> Ich habe vor ein künstliches neuronales Netz (KI) z.B.: auf einen
> Computer , Roboter usw. zuladen damit die hardware Bilder zuordnen kann
> zuladen aber die KI ist in Python geschrieben und wenn die hardware in C
> geschrieben ist ob man die irgendwie einsetzen könnte oder übersetzen
> das der Computer das versteht?

Mit Nuitka [1] und Cython [2] stehen gleich zwei Transpiler zur 
Verfügung, die Python-Code in C übersetzen können. YMMV.

[1] https://nuitka.net/
[2] https://cython.org/

von Tom (Gast)


Lesenswert?

Die Frage geht in die falsche Richtung.

Niemand baut eine Riesenanwendung, in der alle Funktionalitäten 
enthalten sind. "KI", Sensoren, Planung, Regelung etc. sind komplett 
separate Komponenten (im einfachsten Fall einzelne Programme), die 
irgendwie über festgelegte Schnittstellen miteinander kommunizieren.

ROS wäre ein Beispiel. Ob eine Komponente in C++, Python oder INTERCAL 
geschrieben ist, ist egal (und von außen nicht sichtbar), solange sie 
ihre Ein- und Ausgangsdaten mit ROS-Botschaften abwickelt.

von Jemand (Gast)


Lesenswert?

Tom schrieb:
> Die Frage geht in die falsche Richtung.
>
> Niemand baut eine Riesenanwendung, in der alle Funktionalitäten
> enthalten sind. "KI", Sensoren, Planung, Regelung etc. sind komplett
> separate Komponenten (im einfachsten Fall einzelne Programme), die
> irgendwie über festgelegte Schnittstellen miteinander kommunizieren.

Das ist das Prinzip moderner Microservice-Architekturen, das gegenüber 
klassischen Monolithen zwar klare Vorteile -- Modularisierung, 
Austauschbarkeit von einzelnen Komponenten, geringere Komplexität der 
Einzelkomponenten, Technologieunabhängigkeit, ... -- hat, aber leider 
auch gewisse Nachteile. Insbesondere ist hier der zusätzliche Aufwand 
für die Kommunikation zu nennen, der eine zusätzliche Komplexität sowie 
eine gewisse Latenz bedeutet und daher in bestimmten Anwendungsfällen 
inadäquat ist. In Anwendungsfällen, in denen harte oder echte Echtzeit 
gefordert ist, oder in denen besonders große Datenmomolithen verarbeitet 
werden müssen, kann das ein zwingendes Ausschlukriterium für 
Microservice-Architekturen sein.

Beitrag #6665467 wurde von einem Moderator gelöscht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.