Programmeringsspråket Python är poppis och kanske allra mest för AI, mer specifikt maskininlärning. Varför har det blivit så?

Här presenterar Infoworld fyra skäl till att Python ofta blir det språk som väljs för maskinlärning.

1. Enkelt att programmera

Python upplevs ofta som enkelt, både för generella tillämpningar och för maskininlärning. Bland designmålen när språket skapades märks att det skulle vara enkelt både att skriva och läsa programkod. Det senare skulle bland annat minska problemen när kod lämnas över mellan programmerare och team.

Läs också: Google-grundaren varnar för riskerna med oetisk AI

Vad gäller maskininlärning är en aspekt på enkelheten med Python att språket tillför lite logik förutom den som krävs för den specifika lösningen. Man behöver alltså inte hålla reda på en massa ”interna” språkkonstruktioner, som försvårar förståelsen för själva tillämpningen.

2. Bibliotek för maskininlärning

Det finns ett stort utbud av bibliotek och ramverk för maskininlärning för Python. Exempel på det är Scikit-learn och Tensorflow. Vissa är första klassens medborgare i Pythonland, andra erbjuder api:er.

Det är dessutom ofta enkelt att installera biblioteken och ramverken, ibland räcker det med kommando. I vissa fall krävs det dock fulfixar för att få det att fungera, men för det mesta är lösningarna genomtänkta.

3. Minnet hanteras åt dig

I Python är detaljerna vad gäller minneshantering dolda för programmeraren. Det innebär att det blir hjärnkapacitet över för att lösa problemen med själva tillämpningen.

Konstruktioner som listor, tuplar, med flera, minneshanteras av Pythons programkörningsmiljö (runtime). Jämfört med Java som har liknande lösningar så är Pythons ofta enklare.

Även om minneshanteringen sköts av Python så finns det ibland ändå anledning att sätta sig in i hur det fungerar, för att förbättra prestanda genom att skruva på detaljlösningar. Ett annat sätt att trimma lösningar är att konvertera Pythonkod till C med Cython. Det blir enklare att jobba på låg nivå i C.

Läs också: AI-explosion i Sverige – staten pumpar in pengar i hundratals projekt

4. Prestanda duger

Smidigt, men inte så snabbt. Det är ett vanligt omdöme om Python och det stämmer ofta. Varför ska man använda ett språk som inte ger maximala prestanda för en krävande tillämpning som maskininlärning?

För att det inte är med Python som det verkligt krävande jobbet utförs. Det görs oftast med bibliotek som skrivits med C, C++ eller Java. De uppgifter som utförs med Python är oftast inte så prestandakrävande.

Det kan dock bli problem med prestanda om körningen av koden ofta växlar fram och tillbaka mellan Python och olika bibliotek. Det gäller att minimera antalet anrop av extern kod. Och det går, som sagt, att konvertera Pythonkod till C, samt att använda andra lösningar för bättre prestanda för Pythonkod.