Programavimas

5 „Python“ paskirstymai, skirti įsisavinti mašininį mokymąsi

Jei dirbate statistikos, duomenų mokslo ar mašininio darbo srityje, tikimybė yra didelė, kad naudojate „Python“. Taip pat ir dėl rimtų priežasčių: turtinga bibliotekų ir įrankių ekosistema bei pačios kalbos patogumas daro „Python“ puikų pasirinkimą.

Bet kuri „Python“? Yra keletas kalbos paskirstymų, ir kiekvienas jų buvo sukurtas skirtingomis linijomis ir skirtingoms auditorijoms. Čia mes išsiaiškinome penkis „Python“ įsikūnijimus, nuo bendriausių iki konkrečių, ir išsamią informaciją apie tai, kaip jie kaupiasi tvarkant mašininio mokymosi darbus.

Susijęs vaizdo įrašas: Kaip „Python“ palengvina programavimą

Puikiai IT, „Python“ supaprastina daugybę rūšių darbų, pradedant sistemos automatizavimu ir baigiant darbais pažangiose srityse, tokiose kaip mašininis mokymasis.

„Anaconda Python“

„Anaconda“ išpopuliarėjo kaip pagrindinis „Python“ platintojas ne tik duomenų mokslui ir mašininiam mokymuisi, bet ir bendros paskirties „Python“ kūrimui. „Anaconda“ remia to paties pavadinimo komercinis tiekėjas (anksčiau „Continuum Analytics“), kuris siūlo paramos planus įmonėms.

„Anaconda“ platintojas pirmiausia teikia „Python“ paskirstymą, lengvai pasiekiamą paketus, dažnai naudojamus duomenų moksle: „NumPy“, „Pandas“, „Matplotlib“ ir kt. Jie nėra paprasčiausiai susieti su „Anaconda“, bet prieinami per pasirinktinę paketų valdymo sistemą „Conda“. „Conda“ įdiegtuose paketuose gali būti sudėtingų išorinių dvejetainių priklausomybių, kurių nepavyko valdyti naudojant „Python“ PIP. (Atminkite, kad vis tiek galite naudoti „Pip“, jei norite, bet negausite „Conda“ tiems paketams teikiamų pranašumų.) „Anaconda“ kiekvieną paketą atnaujina ir daugelis jų yra sudaryti su „Intel MKL“. greičio pratęsimai.

Kitas svarbus „Anaconda“ teikiamas pranašumas yra grafinė aplinka - „Anaconda Navigator“. „Navigator“ nėra IDE, o patogi „GUI“ sąsaja, skirta „Anaconda“ funkcijoms, įskaitant „Conda“ paketų tvarkyklę ir vartotojo sukonfigūruotas virtualias aplinkas. Taip pat galite naudoti „Navigator“ ir valdyti trečiųjų šalių programas, tokias kaip „Jupyter“ bloknotai ir „Visual Studio Code“ IDE.

Minimaliai įdiegus „Anaconda“, vadinamą „Miniconda“, įdiegiama tik tiek „Anaconda“ bazės, kad galėtumėte pradėti, tačiau ją galite išplėsti kitais „Conda-“ arba „Pip“ įdiegtais paketais, kai jums jų reikia. Tai naudinga, jei norite pasinaudoti gausia „Anaconda“ bibliotekų gama, tačiau reikia išlaikyti viską liekną.

„ActivePython“

Duomenų mokslas yra tik vienas iš „ActivePython“ naudojimo atvejų, kuris buvo sukurtas kaip profesionaliai palaikomas kalbos leidimas, nuosekliai įgyvendinamas visose architektūrose ir platformose. Tai padeda, jei naudojate „Python“ duomenų mokslui tokiose platformose kaip AIX, HP-UX ir „Solaris“, taip pat „Windows“, „Linux“ ir „MacOS“.

„ActivePython“ stengiasi kuo labiau laikytis pradinio „Python“ nuorodų įsikūnijimo. Vietoj specialios sudėtingų matematikos ir statistikos paketų diegimo programos („Anaconda“ metodas), „ActivePython“ iš anksto sukompiliuoja daugelį šių paketų, naudodama „Intel MKL“ plėtinius, kur reikia, ir pateikia juos kaip paketus su numatytuoju „ActivePython“ diegimu. Jie neturi būti oficialiai sumontuoti; jie yra prieinami iš karto.

Tačiau jei norite atnaujinti į naujesnę tų iš anksto sukompiliuotų paketų versiją, turėsite palaukti, kol pasirodys kitas pats „ActivePython“ paketas. Dėl to „ActivePython“ yra nuoseklesnė - vertingas dalykas, kurį reikia turėti, kai svarbu rezultatų atkuriamumas, bet ir ne toks lankstus.

„CPython“

Jei norite pradėti mašininį mokymąsi nuo nulio, naudodami tik oficialią „Python“ paprastą-vanilinę versiją, pasirinkite „CPython“. Taip pavadinta todėl, kad tai yra „Python“ vykdymo laiko informacinis leidimas, parašytas C, „CPython“ galima rasti „Python Software Foundation“ svetainėje ir jame pateikiami tik įrankiai, reikalingi „Python“ scenarijams paleisti ir paketams valdyti.

„CPython“ yra prasminga, jei norite pritaikyti „Python“ aplinką mašininio mokymosi ar duomenų mokslo projektui, pasitikite savimi, kad tai darote tinkamai, ir nenorite, kad trukdytų trečiųjų šalių pakeitimai. „CPython“ šaltinis yra lengvai prieinamas, todėl netgi galite pritaikyti kompiliaciją bet kokiems pakeitimams, kuriuos galbūt norėsite atlikti, atsižvelgdami į greitį ar projekto poreikius.

Kita vertus, naudodamas „CPython“, turėsite išspręsti paketų, tokių kaip „NumPy“, diegimo ir konfigūravimo trūkumus ir visas jų priklausomybes - kai kurias iš jų reikia ieškoti ir pridėti rankiniu būdu.

Kai kurie šio darbo darbai per pastaruosius kelerius metus tapo ne tokie sudėtingi, ypač dabar, kai „Python Pip“ paketų tvarkyklė elegantiškai įdiegia iš anksto sukompiliuotus dvejetainius failus, naudojamus daugelyje duomenų mokslo paketų. Tačiau vis dar yra daug atvejų, ypač „Microsoft Windows“, kai visas dalis turėsite sutalpinti rankomis, pavyzdžiui, rankiniu būdu įdiegdami C / C ++ kompiliatorių.

Kitas „CPython“ naudojimo trūkumas yra tai, kad jis nenaudoja jokių našumą pagreitinančių galimybių, naudingų mokantis mašinose ir duomenų moksle, tokių kaip „Intel“ Math Kernel Library (MKL) plėtiniai. Norėdami savarankiškai naudoti „Intel MKL“, turite sukurti „NumPy“ ir „SciPy“ bibliotekas.

Pagalvotas baldakimas

„Enthought Canopy“ „Python“ paskirstymas daugeliu atžvilgių primena „Anaconda“. Jis sukurtas naudojant duomenų mokslą ir mašininį mokymąsi kaip pagrindinį naudojimo atvejį, pateikiamas su savo kuruojamų paketų rodikliu ir suteikia grafinius priekinius galus bei komandinės eilutės įrankius, skirtus valdyti visą sąranką. Įmonės vartotojai taip pat gali įsigyti „Enthought Deployment Server“, už ugniasienės esančią paketų valdymo sistemą. Mašinų mokymosi paketuose, sukurtuose „Canopy“, naudojami „Intel MKL“ plėtiniai.

Pagrindinis skirtumas tarp „Anaconda“ ir „Canopy“ yra taikymo sritis. Stogelis kuklesnis, „Anaconda“ visapusiškesnis. Pvz., Nors „Canopy“ apima komandų eilutės įrankius, skirtus „Python“ virtualioms aplinkoms kurti ir valdyti (naudinga dirbant su skirtingais paketais, skirtais skirtingoms mašininio mokymosi darbo eigoms), „Anaconda“ suteikia šiam darbui GUI. Kita vertus, „Canopy“ taip pat yra patogi įmontuota IDE - kombinuota failų naršyklė, „Jupyter“ užrašų knygelė ir kodo rengyklė - kuri yra naudinga norint įšokti į dešinę ir dirbti be vargo.

„WinPython“

Originali „WinPython“ užduotis buvo pateikti „Python“ leidimą, sukurtą specialiai „Microsoft Windows“. Kai „Windows“ „CPython“ kūrimas nebuvo ypač tvirtas, „WinPython“ užpildė naudingą nišą. Šiandien „CPython“ „Windows“ leidimas yra gana geras, o „WinPython“ pasuko link spragų, kurios vis dar nėra užfiksuotos „CPython“, ypač duomenų mokslui ir mašininio mokymo programoms.

Pagal numatytuosius nustatymus „WinPython“ yra nešiojamas. Visas „WinPython“ paskirstymas telpa į vieną katalogą, kurį galima patalpinti bet kur ir paleisti bet kur. „WinPython“ diegimas gali būti pateiktas kaip archyvas arba USB diske, iš anksto įdiegtas su visais aplinkos kintamaisiais, paketais ir scenarijais, reikalingais tam tikrai užduočiai. Tai naudingas būdas susikrauti viską, ko reikia norint išmokti konkretų modelį ar atkurti konkretų duomenų eksperimentą. Arba galite užregistruoti „WinPython“ diegimą sistemoje „Windows“ ir paleisti jį taip, lyg jis būtų įdiegtas savaime (ir vėliau, jei norite, išregistruoti vėliau).

Taip pat aptariama daugybė sudėtingesnių į mašininį mokymąsi orientuoto „Python“ paskirstymo elementų. Dauguma pagrindinių bibliotekų - „NumPy“, „Pandas“, „Jupyter“ ir sąsajos su „R“ ir „Julia“ kalbomis - pagal numatytuosius nustatymus yra įtrauktos ir kuriamos, jei reikia, naudojant „Intel MKL“ plėtinius. „Mingw64 C / C ++“ kompiliatorius taip pat yra „WinPython“ pakuotėje su „NumPy“, kad dvejetainius „Python“ plėtinius būtų galima sukurti iš šaltinio (pavyzdžiui, naudojant „Cython“), nereikia įdiegti kompiliatoriaus.

„WinPython“ turi savo paketų diegimo programą „WPPM“, kuri tvarko paketus, kurie yra su iš anksto pastatytais dvejetainiais failais, taip pat „pure-Python“ paketus. Tiems, kurie nori tik plika kaulų „WinPython“ versijos be jokių numatytų paketų, „WinPython“ siūlo „nulinę versiją“, kaip ir „Anaconda“ „Miniconda“.

Susijęs vaizdo įrašas: mašininis mokymasis ir AI iššifruotas

Pralaužę ažiotažą dėl mašininio mokymosi ir dirbtinio intelekto, mūsų grupė aptaria technologijos apibrėžimus ir pasekmes.