Python KI in C einfügen

Gast #6621414
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?
Beitrag #6621419 wurde von einem Moderator gelöscht.
Gast
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.
Gast
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/
Gast
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.
Gast
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

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.