Machine learning und AI nur für Python-Programmierer?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.

Machine learning und AI nur für Python-Programmierer?

Beitragvon kirchfritz » 10. Aug 2019, 12:31 Machine learning und AI nur für Python-Programmierer?

Wenn ich heute im Internet zum Thema Machine Learning, Deep Learning, Artificial Intelligence, neuronale Netze recherchiere, finde ich nur Artikel, die zu diesem Thema die Programmiersprache Python bevorzugen.
Wie kann ich mich als überzeugter Freepascal/Lazarus-Anhänger mit diesen Themen auseinandersetzen und dabei bei meiner geliebten Programmiersprache bleiben?
Fritz
kirchfritz
 
Beiträge: 55
Registriert: 3. Jan 2011, 14:34
OS, Lazarus, FPC: Win10 (L 1.7 FPC 3.1.1) | 
CPU-Target: 32Bit
Nach oben

Beitragvon kupferstecher » 10. Aug 2019, 19:25 Re: Machine learning und AI nur für Python-Programmierer?

Im englischen Forum gibt es Beiträge:
https://forum.lazarus.freepascal.org/in ... opic,39049
https://forum.lazarus.freepascal.org/in ... opic,18769

Beim Stuttgarter Lazarustreffen wurden auch mal neuronale Netze vorgestellt (hilft dir jetzt aber natürlich nichts).
kupferstecher
 
Beiträge: 223
Registriert: 17. Nov 2016, 12:52

Beitragvon Warf » 12. Aug 2019, 14:14 Re: Machine learning und AI nur für Python-Programmierer?

Ich weiß nicht warum du das überhaupt willst. Programmiersprachen sind wie Werkzeuge, es gibt immer das richtige für einen speziellen Job. Und die schnittmenge zwischen dem worin Pascal/Lazarus gut ist und was du für Machine Learning brauchst ist eher sehr gering.

Für ML brauchst du vor allem Matrix und Vector rechnungen. Python bietet dafür numpy als sehr gute bibliothek. Dann benutzt du für ML eh normalerweise ein komplett optimiertes backend wie TensorFlow oder Torch. D.h. das python als skriptsprache langsam ist, macht hier nichts aus. Außerdem musst du oft, grade am anfang, mit den hyperparametern rumspielen. Dafür ist pythons natur als skriptsprache sehr gut geeignet da man die einfach im souce ändern kann. Außerdem läuft python als skriptsprache einfach überall, und mit einem pipenv gehen auch alle dependencies ohne wenn und aber. Und ML algorithmen sind meist nicht mehr als ein paar hundert zeilen code, was bedeutet das das python script auch nicht zu unübersichtlich wird (was mMn. das größte problem an python ist)

Im vergleich dazu pascal. Du hast im bestenfall eine Ok Numerik bibliothek, die es mit numpy sowohl von der performance als auch von den features wahrscheinlich nicht mithalten kann, die performance durch das Kompilieren von Pascal code bringt dir nichts, stattdessen musst du um kleinere änderungen zu machen immer das gesammte Projekt neukompilieren, oder für deine hyperparameter irgendein Config file system schreiben, was selbst im besten fall locker 200 zeilen source sind. Mal ganz davon abgesehen das es ein absoluter scheiss job ist, zu versuchen seine Pascalprogramme auf einem fremden rechner zum laufen zu bekommen. Dependencies installieren, und dann noch sicherstellen das man es auch fürs richtige target kompiliert hat.

Die stärken von Pascal sind:
1. gutes/einfaches GUI design, was du nicht brauchst da du fürs ML normalerweise keine GUI's verwendest.
2. Gut strukturiereter leserlicher code, was du nicht brauchst da deine ML Programme meist nur ein paar hundert zeilen brauchen sollten. Nicht nur das, die strukturierung von Pascal code sorgt wahrscheinlich dafür das du für äquivalenten code statt ein paar hunder zeilen python, eventuell mehr als tausend zeilen Pascal brauchst
3. Robuste performance, was du nicht brauchst, da die ganzen berechnungen eh von einem hoch optimierten backend gemacht werden

Wenn du also pascal für ML verwenden willst, ist das ein bisschen so als wölltest du eine Säge zum reinhämmern von nägeln verwenden, weil du die Säge einfach lieber magst als den Hammer
Warf
 
Beiträge: 1185
Registriert: 23. Sep 2014, 17:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

• Themenende •

Zurück zu Sonstiges



Wer ist online?

Mitglieder in diesem Forum: Lazarussuche 2.0 und 1 Gast

porpoises-institution
accuracy-worried