Ohjelmointi

5 Python-jakelua koneoppimisen hallitsemiseksi

Jos työskentelet tilastojen, datatieteen tai koneoppimisen parissa, kertoimet ovat korkeat, jos käytät Pythonia. Ja myös hyvästä syystä: Kirjastojen ja työkalujen rikas ekosysteemi ja itse kielen mukavuus tekevät Pythonista erinomaisen valinnan.

Mutta mikä Python? Kielellä on useita jakeluita, ja jokainen niistä on luotu eri linjoilla ja eri yleisöille. Tässä on kuvattu viisi Python-inkarnaatiota, yleisimmistä erityisimpiin, ja yksityiskohtaiset tiedot siitä, miten ne pinotaan koneoppimisen tehtävien käsittelyyn.

Liittyvä video: Kuinka Python tekee ohjelmoinnista helpompaa

IT-tekniikalle täydellinen Python yksinkertaistaa monenlaista työtä järjestelmän automaatiosta huipputeknisillä aloilla, kuten koneoppiminen.

Anaconda Python

Anaconda on noussut tärkeäksi Python-jakeluksi paitsi datatieteen ja koneoppimisen, myös yleiskäyttöisen Python-kehityksen kannalta. Anacondan takana on kaupallinen tarjoaja, jolla on sama nimi (aiemmin Continuum Analytics) ja joka tarjoaa yrityksille tukisuunnitelmia.

Anaconda-distro tarjoaa ennen kaikkea Python-jakelun, joka tarjoaa helpon pääsyn datatieteessä usein käytettyihin paketteihin: NumPy, Pandas, Matplotlib ja niin edelleen. Niitä ei yksinkertaisesti toimiteta Anacondan mukana, vaan ne ovat saatavana mukautetun pakettihallintajärjestelmän, nimeltään Conda. Condan asentamat paketit voivat sisältää hankalia ulkoisia binaaririippuvuuksia, joita ei voitu hallita Pythonin omalla Pipillä. (Huomaa, että voit silti käyttää Pipiä, jos haluat, mutta et saa Condan tarjoamia etuja näille paketeille.) Anaconda pitää jokaisen paketin ajan tasalla, ja monet niistä on koottu Intel MKL: n kanssa. nopeuden laajennukset.

Toinen merkittävä etu, jonka Anaconda tarjoaa, on graafinen ympäristö, Anaconda Navigator. Navigator ei ole IDE, vaan pikemminkin kätevä graafisen käyttöliittymän käyttöliittymä Anaconda-ominaisuuksille, kuten Conda-paketinhallinta ja käyttäjän määrittämät virtuaaliset ympäristöt. Voit myös käyttää Navigator-ohjelmaa kolmannen osapuolen sovellusten, kuten Jupyter-muistikirjojen ja Visual Studio Code IDE, hallintaan.

Pienellä Anacondan asennuksella, nimeltään Miniconda, asennetaan vain tarpeeksi Anaconda-alustaa aloittaaksesi, mutta sitä voidaan laajentaa muilla Conda- tai Pip-asennetuilla paketeilla tarpeen mukaan. Tästä on hyötyä, jos haluat hyödyntää Anacondan runsaasti kirjastoja, mutta sinun on pidettävä asiat ohuina.

ActivePython

Datatiede on vain yksi ActivePythonin käyttötapauksista, joka on suunniteltu toimimaan ammattimaisesti tuettuna kielen painoksena, jolla on johdonmukainen toteutus arkkitehtuureissa ja alustoissa. Tästä on apua, jos käytät Pythonia tietojenkäsittelyyn sellaisilla alustoilla kuin AIX, HP-UX ja Solaris sekä Windows, Linux ja MacOS.

ActivePython yrittää pitää kiinni mahdollisimman lähellä Pythonin alkuperäistä viitekehitystä. Monimutkaisten matematiikka- ja tilastopakettien erityisen asennusohjelman (Anaconda-lähestymistapa) sijasta ActivePython kääntää valmiiksi monia näistä paketeista tarvittaessa käyttämällä Intel MKL -laajennuksia ja toimittaa ne paketteina ActivePythonin oletusasennuksella. Niitä ei tarvitse asentaa virallisesti; ne ovat saatavilla heti laatikosta.

Jos kuitenkin haluat päivittää näiden esikäännettyjen pakettien uudempaan versioon, joudut odottamaan, kunnes seuraava ActivePython-koontiversio tulee ulos. Tämä tekee ActivePythonista johdonmukaisemman kokonaisuutena - arvokkaan asian, joka on oltava tulosten toistettavuuden kannalta - mutta myös vähemmän joustavaa.

CPython

Jos haluat aloittaa koneoppimistyön tyhjästä käyttämällä vain virallista Pythonin tavallista vaniljaversiota, valitse CPython. Nimi on siksi nimetty, koska se on C-muodossa kirjoitettu Python-ajonaikaisen ohjeen versio. CPython on saatavana Python Software Foundation -sivustolta ja tarjoaa vain työkalut, joita tarvitaan Python-komentosarjojen suorittamiseen ja pakettien hallintaan.

CPythonilla on järkevää, jos haluat rakentaa Python-ympäristön mukautetusti koneoppimis- tai tietojenkäsittelyprojektiin, luotat itseesi tekemään sen oikein, etkä halua minkään kolmannen osapuolen tekemien muutosten häiritsemistä. CPythonin lähde on helposti saatavilla, joten voit jopa kääntää mukautetut muutokset, jotka haluat tehdä nopeuden tai projektin tarpeiden vuoksi.

Toisaalta CPythonin käyttäminen tarkoittaa, että joudut käsittelemään NumPyn kaltaisten pakettien asentamisen ja määrittämisen yksityiskohtia ja kaikkia niiden riippuvuuksia - joista osa on metsästettävä ja lisättävä manuaalisesti.

Osa tästä työstä on tullut vähemmän rasittavaksi muutaman viime vuoden aikana, varsinkin kun Pythonin Pip-paketinhallinta asentaa tyylikkäästi esikäännetyt binäärit, jollaisia ​​käytetään monissa datatiedepaketeissa. Mutta on edelleen monia tapauksia, etenkin Microsoft Windowsissa, joissa joudut sovittamaan kaikki kappaleet käsin - esimerkiksi asentamalla manuaalisesti C / C ++ -kääntäjän.

Toinen haittapuoli CPythonin käytössä on, että se ei käytä mitään koneen oppimisen ja tietojenkäsittelyn kannalta hyödyllisiä suorituskykyä nopeuttavia vaihtoehtoja, kuten Intelin Math Kernel Library (MKL) -laajennuksia. Sinun on rakennettava NumPy- ja SciPy-kirjastot, jotta voit käyttää Intel MKL: ää yksin.

Ajatteli katos

Pythonin ajateltu katosjakauma muistuttaa Anacondaa monin tavoin. Se on rakennettu tietojenkäsittelytieteen ja koneoppimisen ensisijaisina käyttötapauksina, mukana on oma kuratoitu pakettiindeksi ja tarjoaa sekä graafiset käyttöliittymät että komentorivityökalut koko kokoonpanon hallintaan. Yrityskäyttäjät voivat myös ostaa Enthought Deployment Server -palomuurin takana olevan paketinhallintajärjestelmän. Koneelle rakennetut koneoppimispaketit käyttävät Intel MKL -laajennuksia.

Tärkein ero Anacondan ja Canopyin välillä on laajuus. Katos on vaatimattomampi, Anaconda kattavampi. Esimerkiksi, kun Canopy sisältää komentorivityökaluja Python-virtuaaliympäristöjen luomiseen ja hallintaan (hyödyllinen käsiteltäessä erilaisia ​​pakettisarjoja eri koneoppimisen työnkulkuille), Anaconda tarjoaa GUI: n tälle työlle. Toisaalta, Canopy sisältää myös kätevän sisäänrakennetun IDE: n - yhdistelmätiedostoselaimen, Jupyter-muistikirjan ja koodieditorin - joka on hyödyllinen hyppäämiseen oikealle ja töihin pääsemiseen ilman hätää.

WinPython

Alkuperäinen tehtävä WinPythonin takana oli toimittaa Python-versio, joka on rakennettu nimenomaan Microsoft Windowsille. Kun CPythonin Windows-rakennukset eivät olleet erityisen vahvoja, WinPython täytti hyödyllisen kapealla. Nykyään CPythonin Windows-versio on varsin hyvä, ja WinPython on kääntynyt kohti halkeamien täyttämistä, joita CPython ei vieläkään ole päällystä - etenkään datatieteen ja koneoppimissovellusten osalta.

Oletusarvoisesti WinPython on kannettava. Koko WinPython-jakelu mahtuu yhteen hakemistoon, joka voidaan sijoittaa minne tahansa ja ajaa missä tahansa. WinPython-asennus voidaan toimittaa arkistona tai USB-asemalle, johon on esiasennettu kaikki ympäristömuuttujat, paketit ja komentosarjat, joita tarvitaan tiettyyn työhön. Se on hyödyllinen tapa pakata kaikki tarvittava tietyn mallin kouluttamiseen tai tietyn tietokokeen toistamiseen. Tai voit rekisteröidä WinPython-asennuksen Windowsiin ja suorittaa sen ikään kuin se olisi ollut asennettuna (ja poista rekisteröinti myöhemmin, jos haluat).

Myös koneoppimiseen keskittyvän Python-jakelun monimutkaisemmat elementit katetaan. Suurin osa avainkirjastoista - NumPy, Pandas, Jupyter ja R- ja Julia-kielten liitännät - sisältyvät oletusarvoisesti ja rakennettu tarvittaessa Intel MKL -laajennuksiin. Mingw64 C / C ++ -kääntäjä on myös pakattu NumPyn kanssa WinPythoniin, jotta binaariset Python-laajennukset voidaan rakentaa lähteestä (esimerkiksi Cythonin avulla) ilman kääntäjän asentamista.

WinPythonilla on oma paketin asennusohjelma WPPM, joka käsittelee paketit, jotka tulevat valmiiksi asennetuilla binääreillä, sekä puhtaita Python-paketteja. Ja niille, jotka haluavat vain WinPythonin pelkän luun version ilman oletuspaketteja, WinPython tarjoaa "nollaversio" samalla tavalla kuin Anacondan Miniconda.

Aiheeseen liittyvä video: Koneoppiminen ja tekoälyn tulkinta

Koneoppimisen ja tekoälyn ympärillä vallitsevan hyökkäyksen läpi paneelimme puhuu tekniikan määritelmät ja vaikutukset.

$config[zx-auto] not found$config[zx-overlay] not found