A Python programozás népszerűsége továbbra is töretlen. Bemutatom milyen alkalmazásokat érdemes használni a mesterséges intelligencia programozása során.
Python programozás helyzete
A Python mára a legnagyobb felhasználói bázissal rendelkező és legismertebb kódolási nyelv lett a világon. Ennek nem csak a mesterséges intelligencia és a gépi tanulás elterjedése az oka, hanem hogy számos előnnyel rendelkezik, beszéljünk web programozásról, vagy alkalmazás készítésről. Sok helyen a kódolás Svájci bicskájának is nevezik.
A Stackoverflow (egy platform ahol amatőrök és profik tesznek fel és válaszolnak meg programozással kapcsolatos kérdéseket) nemrég tette közzé, a programozási nyelvekkel kapcsolatos felmérését. Nagyon egyszerűen, a regisztrált felhasználókat kérdezték meg, mit gondolnak az egyes nyelvekről. Közel 180 országból, majdnem 90 000 fejlesztő töltötte ki a felmérést.

Ha általánosságban nézzük, a legtöbb kérdést az oldalon a Python-nal kapcsolatban teszik fel, megelőzve a JavaScrip-et. A kérdőív alapján a felhasználók majdnem 75%-a szereti a Python nyelvet (2. helyezett összesítve) és véleményük szerint ez a legkeresettebb kódolási nyelv is.
A mesterséges intelligencia és adattudomány körében a korábbi időszakban a R nyelv sokkal nagyobb népszerűségnek örvendett. Azonban inkább statisztikai és ábrázolástechnikai szempontból van előnye a Python-hoz képest. A Python sok könyvtárral rendelkezik az adatok manipulálásához, sokkal nyitottabb és rugalmasabb nyelv. Könnyen megtanulható és használható mindenki számára.
Következzen a három legismertebb program, amelynek segítségével programozni tudunk a kígyós (Python, mint piton) nyelven.
Google Colab – online mindenes
A Google Colab az egyik legnépszerűbb alkalmazás, a Jupyter notebook tervezési és működési rendszerén nyugszik. A nagy előnye, hogy nem szükséges alkalmazást letölteni vagy telepíteni a számítógépre, hanem online elérhető. A használata ingyenes, csak egy Google fiók szükséges hozzá. A Google Drive tárhelyen tudjuk létrehozni, tárolni és le- vagy feltölteni a .ipynb fájlokat, amelyeket a Colab használ.

A programok futtatása és a számítási folyamatok felhőben, a Google szerverein történnek. Így nagyobb feladatok esetén sincs szükségünk hatalmas számítási teljesítménnyel rendelkező számítógépre, megoldja helyettünk a Google a feladatot. Képfeldolgozás, gépi látás vagy mély tanulás (deep learning) alkalmazása esetén lehetőségünk van GPU (Tesla K80 GPU) vagy TPU (tensor process unit) ingyenes használatára is. Ez a segítség meggyorsítja a nagy számítási igényt jelentő programok futtatási sebességét.

Rengeteg mesterséges intelligencia és gépi tanulás könyvtár elérhető benne, és lehetőségünk van extrák telepítésére is. Gyakorlatban egy ideiglenes tárhelyre lehet feltelepíteni további könyvtárakat és kilépésig használni azokat. Egy korábbi cikkben bemutattam én is a Colab használatát és plusz könyvtárak telepítését.
Gyakran használom az alkalmazást, mert megoszthatom a projekteket, kommentet lehet tenni más munkájához, emellett prezentációkat is lehet építeni. Probléma nélkül lehet a kódsorba beilleszteni képeket és szövegeket, ezért például oktatási célokra is kiválóan használható. A Mesterin Start tanfolyam programozási feladatát is Google Colab programban mutatom be.
Anaconda / Spyder – aki nem piton…
Az Anaconda egy nagyon könnyen használható Python környezet, mely ma már a mesterséges intelligencia alkalmazás igényeire lett szabva. Lehet kódolni (Spyder) vagy Jupyter notebookon dolgozni a program segítségével. Könnyen kezelhetők a Python könyvtárak, telepíthetők és eltávolíthatók grafikus vagy parancssor jellegű felületen is.

Az Anaconda használható Python 2 és Python 3 környezetben is, könnyen telepíthető és több platformon elérhető (OSX, Linux, Windows). Nehézséget jelenthet, hogy meg kell szokni a használatát, egyes könyvtárak nem minden esetben működnek az első telepítéskor. Illetve, mivel mindent a saját tárhelyen tárolunk és futtatunk, szükség van egy komolyabb számítógépre és jó pár GB szabad tárhelyre.

Kezdőknek mindenképpen ajánlható az Anaconda, mert csak egy programot kell telepíteni és szinte az összes gépi tanulás könyvtár (pl. Pandas, Sklearn, Tensorflow) használható. Lehet jegyzetelni Jupyter-ben és kódolni mellette Spyder-ben.
A Spyder egy nyílt forráskódú környezet, mely integrálja az adattudomány alapvető könyvtárait (NumPy, SciPy, Matplotlib). Az grafikus felület nagyon hasonlít a RStudio-hoz.

A program az alábbi linken ingyenesen letölthető.
Sublime text – a személyes kedvenc
Nagyon hosszú ideig használtam a Spyder a programok elkészítéséhez. De nem szerettem, hogy nincsenek jó színkiemelések valamint túl bonyolult az elrendezés és túl sok információt tesz a felhasználó elé.
Véletlenül, egy videóban láttam meg a Sublime Text programot és tesztelése után soha többet nem indítottam el a Spyder-t. A program egy kis erőforrásigényű program szerkesztő, mely extra szolgáltatásokkal is rendelkezik.

Ismeri a Python parancsokat és teljes mértékben a saját programozási igényre lehet szabni a beállításokkal. Csak egy kódolás és egy visszacsatolási felülettel rendelkezik, így könnyen átlátható és gyorsan megtanulható a használata.
Nagyon fontos, hogy ingyenesen letölthető és minden platformon (Windows, OSX, Linux) használható. Mivel csak egy programszerkesztő, a mesterséges intelligencia könyvtárakat külön kell beszerezni mellé.
A legegyszerűbb módszer, ha az Anaconda letöltött és telepített könyvtárait betallózva használjuk például a gépi tanulás, vagy adattudományi eszközöket. A két program összekötéséhez többféle leírást is lehet találni az interneten.
A Sublime Text 3 az alábbi linken ingyenesen letölthető.
Összefoglalás
Aki manapság az adattudomány vagy a mesterséges intelligencia világába szeretne érvényesülni, nem tudja elkerülni a Python nyelvet. Említettem már milyen könnyen elsajátítható a használata és milyen további előnyökkel rendelkezik, azonban egy nyelv tanulása során a legfontosabb milyen grafikus felületet látunk, az alkalmazás mennyire segíti a munkánkat.
Bemutattam pár lehetőséget, felsorolva az általam vélt előnyöket és hátrányokat, remélem tudtam iránymutatást adni. Ezután mindenki saját ízlése szerint válasszon a lehetséges alternatívák közül.
Kovács Róbert vagyok, a Mesterin közösség alapítója. Nagy örömömre szolgál, hogy elolvastad a bejegyzésemet, remélem hasznos információkat tudtam átadni. Elsősorban mesterséges intelligenciával és gépi tanulással foglalkozom. Ha tetszett a bejegyzés, kérlek a fenti lehetőségek segítségével oszd meg, hogy minél több emberhez eljuthasson.