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.

A Stackoverflow minden évben elkészíti a felmérést, amelyből kiderülnek az egyes programozási nyelvek népszerűségi és használhatósági eredményei.
A Stackoverflow minden évben elkészíti a felmérést, amelyből kiderülnek az egyes programozási nyelvek népszerűségi és használhatósági eredményei.

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 Jupyter és a Colab logója. A Colab a korábban fejlesztett Jupyter Notebook működési rendszerét használja. Forrás.
A Jupyter és a Colab logója. A Colab a korábban fejlesztett Jupyter Notebook működési rendszerét használja. Forrás.

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.

A Google Colab-ban lehetőségünk van TPU (tensor process unit - tenzor feldolgozó egység) használatára, amely a mesterséges intelligencia tenzor struktúrájú problémáit a leggyorsabban oldja meg Python programozás során.
A Google Colab-ban lehetőségünk van TPU (tensor process unit – tenzor feldolgozó egység) használatára, amely a mesterséges intelligencia tenzor struktúrájú problémáit a leggyorsabban oldja meg Python programozás során.

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.

Anaconda, a világ legnépszerűbb Python / R adattudományi, mesterséges intelligencia platform. Legalábbis a felhívás ezt mondja.
Anaconda, a világ legnépszerűbb Python / R adattudományi, mesterséges intelligencia platform. Legalábbis a felhívás ezt mondja.

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.

Az Anaconda platformon alapesetben elérhető Python programozási könyvtárak. Ezeket természetesen törölni is lehet, az újak telepítése is könnyen megoldható.
Az Anaconda platformon alapesetben elérhető Python programozási könyvtárak. Ezeket természetesen törölni is lehet, az újak telepítése is könnyen megoldható.

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.

Anaconda Spyder Python programozási környezet (itt tanultam meg a mesterséges intelligencia alapjait, de nekem nem a kedvencem).
Anaconda Spyder Python programozási környezet (itt tanultam meg a mesterséges intelligencia alapjait, de nekem nem a kedvencem).

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.

A Sublime Text felhasználói felülete. Ismeri a Python parancsokat, így gyorsan és könnyen átláthatóvá válik a kód.
A Sublime Text felhasználói felülete. Ismeri a Python parancsokat, így gyorsan és könnyen átláthatóvá válik a kód.

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.