Forum: Mikrocontroller und Digitale Elektronik Python Skript in c++ ausführen


von Salem S. (Firma: HTW) (hamsal)


Lesenswert?

Hallo Leute ! Ich arbeite an einem Projekt "Lego sortieren" mit dem 
Jetson Nano. ich habe ein neuronales Netz in Python trainiert und 
getestet zur Formerkennung der Lego. Es funktioniert soweit gut. Da 
andere Subsysteme unseres Legos Projekt, deren Code in C++ geschrieben 
habe und ich möchte erstmal meinen Teil nicht in C++ umschreiben sondern 
ein Code in C++ schreiben, der mein in Python trainiertes Netz ausführt 
und dass ich auf einige variable zugreife und damit weiterarbeiten kann. 
Meine Frage lautet: Wie kriegt man sowas hin ? Ist das überhaupt möglich 
? hättet ihr einen Weg für mich bitte ?

von was (Gast)


Lesenswert?

"Launch Python script from C++" googlen.

Falls du eh schon ROS benutzt, hast du sowieso kein Problem. Wenn nicht, 
wäre es aber mit Kanonen auf Spatzen geschossen damit jetzt anzufangen.

von Nop (Gast)


Lesenswert?

Wenn Du auf einem Posix-System bist (z.B. Linux), kannst Du Dir mal 
popen() ansehen.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Neben den bereits genannten Möglichkeiten, bei denen das Python-Programm
als externer Prozess gestartet und anschließend mit diesem über Pipes
o.ä. kommuniziert wird, kannst du den Python-Interpreter auch innerhalb
deines C++-Programms laufen lassen. Das geht direkt über das von Python
bereitgestellte API

  https://docs.python.org/3/extending/embedding.html

oder über den darauf aufbauenden Boost-Wrapper:

  https://www.boost.org/doc/libs/1_73_0/libs/python/doc/html/tutorial/tutorial/embedding.html

Dadurch wird der Kommunikations-Overhead verringert, was bei deiner
Anwendung aber vermutlich nicht so wichtig ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.