Warum Python für Deep Learning?



  • Hallo liebe Community,
    Deep Learning, also machinelles Lernen, wird immer beliebter. Ich habe mich noch nicht oft mit diesem Thema beschäftigt, doch immer war die Rede von Python. Warum eigentlich? Bietet diese Sprache effizientere Mittel, um ein solches Vorhaben umzusetzen? Ist das einfach nur ein Trend, oder ist es wirklich die "ultimative" Sprache um eine AI zu entwickeln?



  • Es gibt viele fertige Pakete, Python ist generell einfach zu erlernen etc. und viele nutzen Jupyter Notebooks, um schnell mal was zu testen. Nur weil es ein Python-Interface gibt, heißt das aber noch lange nicht, dass das eigentliche ML in Python implementiert ist. Somit hast du den Vorteil, dass du schnell interaktiv was ändern kannst ohne kompilieren zu müssen und aber dennoch, da die unterliegende Methode z.B. in C oder C++ implementiert ist, keine Geschwindigkeitsnachteile hast. Numpy und Pandas sind eben super geeignet, um deine Daten vor dem Learning noch irgendwie in eine sinnvolle Form zu bringen und Features zu entwickeln, daher sind sie de facto Standard in Data Science.

    Wenn du Deep Learning in C++ willst, kannst du z.B. die DNNs von TMVA in ROOT nutzen. Aber auch da gibt es ein Python-Interface 🙂


  • Global Moderator |  Mod

    Die meisten fertigen Frameworks kommen halt mit Python-Bindings. Python ist sehr angenehm, was das Schreiben des "Drumherums" angeht. Die eigentliche Implementierung des Lernalgorithmus ist dann natürlich nicht in Python geschrieben, sondern in C++, CUDA, oder ähnlichem. Da die meisten Leute nur die fertigen Frameworks anwenden wollen, sich aber nicht mit komplizierten Datenschaufeleien in C++ oder CUDA beschäftigen wollen/können, ist Python ein sehr guter Kandidat als "Steuersprache" für die fertigen Routinen.