Python KI in C einfügen

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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.