15 Felfedezetlen és nyílt forráskódú gépi tanulási keret, amelyet ismernie kell 2020-ban.

A gépi tanulás (ML) manapság az egyik leggyorsabban fejlődő technológia. A gépi tanulás alkalmazása a számítástechnika különböző területein pedig gyorsan növekszik.

Ez nem csak az olcsó és nagy teljesítményű hardverek miatt van. Ennek oka az ingyenes és nyílt forráskódú szolgáltatások növekvő elérhetősége isGépi tanulási keretrendszerek , amelyek lehetővé teszik a fejlesztők számára a gépi tanulás egyszerű megvalósítását.

A nyílt forráskódú gépi tanulási keretek ezen széles skálája lehetővé teszi az adatkutatóknak és a gépi tanulási mérnököknek a gépi tanulási rendszerek kiépítését, megvalósítását és karbantartását, új projektek generálását, valamint új és hatásos gépi tanulási rendszerek létrehozását.

Gépi tanulási keretrendszer vagy könyvtár kiválasztása a felhasználási eset megoldásához magában foglalja az értékelés elvégzését annak eldöntésére, hogy mi a megfelelő a felhasználási esetre. Számos tényező fontos ennek az értékelésnek, például:

  • Egyszerű használat.
  • Támogatás a piacon (Közösség).
  • Futási sebesség.
  • Nyitottság.

Kinek szól ez a cikk?

Ez a cikk azoknak szól, akik az elmélet elsajátítása után a gyakorlatban szeretnék felhasználni az ismereteket.

Ez azoknak is szól, akik további lehetséges nyílt forráskódú gépi tanulási kereteket szeretnének felfedezni jövőbeli ML projektjükhöz.

Itt van a fel nem fedezett és nyílt forráskódú keretek vagy könyvtárak listája, amelyeket a vállalkozások és az egyének felhasználhatnak a gépi tanulási rendszerek felépítéséhez.

1. Blokkok

A Blocks egy olyan keretrendszer, amely segít neurális hálózati modellek felépítésében a Theano tetején. Jelenleg támogatja és biztosítja a paraméterezett Theano műveletek felépítését, az úgynevezett „téglákat”, a minták illesztését a változók és a téglák nagy modellek algoritmusainak kiválasztására a modell optimalizálása, valamint a képzés mentése és folytatása érdekében. Blokk tárháza

Megismerheti az Fuel, az elsősorban Blocks számára kifejlesztett adatfeldolgozó motort is.

Programozási nyelv: Python

Github link: //github.com/mila-iqia/blocks

2. Analytics állatkert

Az Analytics Zoo egységes adatelemző és AI platformot kínál, amely zökkenőmentesen egyesíti a TensorFlow, a Keras, a PyTorch, a Spark, a Flink és a Ray programokat egy integrált csővezetékbe, amely átláthatóan átméretezhető a laptoptól a nagy fürtökig a termelési nagy adatok feldolgozásához. Analytics Zoo Repository

Mikor kell az Analytics Zoo-t használni AI megoldásának fejlesztéséhez:

  • Könnyen prototípusosítani szeretné az AI modelleket.
  • Amikor a méretezés számít neked.
  • Ha automatizálási folyamatokat szeretne hozzáadni a gépi tanulási folyamathoz, például a funkciótervezést és a modellválasztást.

Ezt a projektet az Intel-analytics tartja fenn.

Programozási nyelv: Python

Github link: //github.com/intel-analytics/analytics-zoo

3. ML5.js

Az Ml5.js célja, hogy a gépi tanulást elérhetővé tegye a művészek, a kreatív kódolók és a hallgatók széles közönsége számára. A könyvtár hozzáférést biztosít a gépi tanulási algoritmusokhoz és modellekhez a böngészőben, a TensorFlow.js tetejére építve. "Ml5.js Repository"

Az ml5.js-t a Processing és a p5.js ihlette.

Ezt a nyílt forráskódú projektet az NYU Interaktív Távközlés / Interaktív Média Művészetek programja és művészek, tervezők, hallgatók, technológusok és fejlesztők fejlesztik és tartják karban az egész világon.

MEGJEGYZÉS: Ez a projekt jelenleg fejlesztés alatt áll.

Programozási nyelv: Javascript

Github link: //github.com/ml5js/ml5-library

4. AdaNet

Az AdaNet egy könnyű TensorFlow-alapú keretrendszer a kiváló minőségű modellek automatikus megtanulásához, minimális szakértői beavatkozással. Az AdaNet a legújabb AutoML erőfeszítésekre épít, amelyek gyorsak és rugalmasak, miközben garantálják a tanulást. Fontos, hogy az AdaNet általános keretet biztosít nemcsak a neurális hálózati architektúra megtanulásához, hanem az együttes megtanulásához is, hogy még jobb modelleket szerezzen. "AdaNet Repository"

Az AdaNet olyan ismert API-t kínál, mint a Keras, a modellek képzéséhez, értékeléséhez és kiszolgálásához a gyártásban.

Programozási nyelv: Python

Github link: //github.com/tensorflow/adanet

5. Mljar

Ha platformot keres prototípus-modellek és telepítési szolgáltatás létrehozásához, az Mljar a megfelelő választás az Ön számára. Mljar hajlamos különböző algoritmusokat keresni és hiperparamétereket hangolni, hogy megtalálja a legjobb modellt.

Gyors eredményeket nyújt az összes számítás felhőben történő futtatásával és végül együttes modellek létrehozásával. Ezután az AutoML képzésből hoz létre jelentési jelentéseket.

Mljar ML modelleket képezhet:

  • bináris osztályozás,
  • többosztályos besorolás,
  • regresszió.

Az Mljar kétféle interfészt kínál:

  • Python burkoló az Mljar API-n keresztül.
  • Gépi tanulási modellek futtatása a böngészőben.

Programozási nyelv: Python

Github link: //github.com/mljar/mljar-supervised.

6. ConvNetJS

Mély tanulás Javascriptben. A konvolúciós neurális hálózatok (vagy a szokásos) kiképzése a böngészőben. "Convnetjs Repository"

A Tensorflow.js-hez hasonlóan a ConvNetJS egy olyan JavaScript-könyvtár, amely támogatja a különböző mély tanulási modellek betanítását az Ön webböngészőjében. Nincs szüksége GPU-kra és más nehéz szoftverekre.

A ConvNetJS támogatja:

  • Neurális hálózati modulok.
  • Képek konvolúciós hálózatok képzése.
  • Regressziós és osztályozási költségfüggvények.
  • Megerősítő tanulás modul, a Deep Q Learning alapján.

Megjegyzés: Nincs aktívan karbantartva.

Programozási nyelv: Javascript

Github link: //github.com/karpathy/convnetjs

7. NNI (neurális hálózati intelligencia)

NNI (Neural Network Intelligence) egy könnyű, de erős eszköztár segítségével a felhasználók automata Feature Engineering, Neural Architecture Search, Hyperparameter Tuning és Model tömörítés. Az eszköz kezeli az automatizált gépi tanulási (AutoML) kísérleteket, elküldi és futtatja a kísérleti próbafeladatokat, amelyeket algoritmusok állítanak elő a legjobb neurális architektúra és / vagy hiperparaméterek keresésére különböző képzési környezetekben, például a Local Machine, a távoli szerverek, az OpenPAI, a Kubeflow és a egyéb felhőbeállítások. NNI adattár

Mikor érdemes megfontolni az NNI használatát

  • Ha különböző AutoML algoritmusokat szeretne kipróbálni.
  • Ha az AutoML próbafeladatokat különféle környezetekben szeretné futtatni.
  • Ha támogatni szeretné az AutoML-t a platformján.

MEGJEGYZÉS: A Microsoft nyílt forráskódú projektje.

Programozási nyelv: Python

Github link: //github.com/Microsoft/nni

8. Adatlap

A Datumbox Machine Learning Framework egy Java-ban írt nyílt forráskódú keretrendszer, amely lehetővé teszi a gépi tanulás és a statisztikai alkalmazások gyors fejlesztését. A keretrendszer fő célja, hogy nagyszámú gépi tanulási algoritmust és statisztikai módszert alkalmazzon, és hogy képes legyen kezelni nagy méretű adathalmazokat. "DatumBox Repository"

A Datumbox számos előre betanított modellt biztosít különböző feladatokhoz, például a spam-észleléshez, az érzelmek elemzéséhez, a nyelv észleléséhez, a témák osztályozásához és így tovább.

Programozási nyelv: Java

Github link: //github.com/datumbox/datumbox-framework

9.XAI (e-magyarázhatóság eszköztár az ML számára)

Az XAI egy gépi tanulási könyvtár, amelynek célja a mesterséges intelligencia magyarázata. Az XAI különféle eszközöket tartalmaz, amelyek lehetővé teszik az adatok és modellek elemzését és értékelését. Az XAI könyvtárat az Etikai AI és ML Intézet tartja karban, és a felelős gépi tanulás 8 elve alapján fejlesztették ki. "XAI Repository"

A felelős gépi tanulás 8 alapelve a következőket tartalmazza:

  • Az emberi gyarapítás
  • Elfogultságértékelés
  • Indokolással magyarázható
  • Reprodukálható műveletek
  • Kiszorítási stratégia
  • Gyakorlati pontosság
  • Bizalom a magánélet által
  • Adatkockázati tudatosság

Ha többet szeretne megtudni az XAI-ról, nézze meg ezt a beszélgetést a Tensorflow Londonban. Betekintést tartalmaz a könyvtár meghatározásaira és elveire.

Az XAI jelenleg korai stádiumban van, a jelenlegi verzió 0,05 (Alpha).

Programozási nyelv: Python

Github link: //github.com/EthicalML/xai

10. Platón

A Plato rugalmas keretrendszer bármilyen beszélgetős AI ügynök fejlesztéséhez különböző környezetekben. A Plato-t mind a beszélgetési mesterséges intelligenciában korlátozott háttérrel rendelkező felhasználók, mind a terület tapasztalt kutatói számára tervezték. Tiszta és érthető dizájnt nyújt, integrálódik a meglévő mélytanulási és bayesi optimalizálási keretek közé, és csökkenti a kódírás szükségességét.

Támogatja az interakciókat szöveges, beszédes és párbeszédes cselekedetek révén. A Plato Research Dialogue System működésének megismeréséhez olvassa el az itt található cikket.

MEGJEGYZÉS: A Plato az Uber nyílt forráskódú projektje.

Programozási nyelv: Python

Github link: //github.com/uber-research/plato-research-dialogue-system

11.DeepDetect

A DeepDetect egy gépi tanulási API és szerver C ++ nyelven írva. Ez megkönnyíti a korszerű gépi tanulást, amellyel könnyen kezelhető és integrálható a meglévő alkalmazásokba.

A DeepDetect támogatja a képek, a szöveg, az idősorok és egyéb adatok felügyelt és felügyelet nélküli mély tanulását, az egyszerűségre és a könnyű használatra, a tesztelésre és a meglévő alkalmazásokhoz való kapcsolódásra összpontosítva. Támogatja az osztályozást, az objektumdetektálást, a szegmentálást, a regressziót és az autoencodereket. DeepDetect Repository

A DeepDetect külső gépi tanulási könyvtárakra támaszkodik, mint például:

  • Színátmenet fokozó könyvtár XGBoost.
  • Mély tanulási könyvtárak (Caffe, Tensorflow, Caffe2, Torch, NCNN és ​​Dlib).
  • csoportosulás a T-SNE-vel.
  • hasonlóság keresése Annoy és FAISS.

A DeepDetect programot a Jolibrain tervezte, valósította meg és támogatta más közreműködők segítségével.

Programozási nyelv: C ++

Github link: //github.com/jolibrain/deepdetect

12. Streamlit

Streamlit - A leggyorsabb módja az egyedi ML eszközök készítésének.

A Streamlit egy fantasztikus eszköz, amely lehetővé teszi az adatkutatóknak, az ML mérnökeinek és a fejlesztőknek, hogy gyorsan interaktív webalkalmazásokat építsenek gépi tanulási projektjeikhez.

A Streamlit nem igényel semmilyen webfejlesztési ismeretet. Ha ismered a Python-t, akkor jól megy!

Támogatja a gyors újratöltést is, ami azt jelenti, hogy alkalmazásod élőben frissül, miközben szerkeszted és mented a fájlokat.

Vessen egy pillantást a Streamlit működésére:

Programozási nyelv: Javascript és Python

Github link: //github.com/streamlit/streamlit

13. Dopamin

A dopamin egy kutatási keret a megerősítő tanulási algoritmusok gyors prototípus készítéséhez. Célja annak kielégítése, hogy szükség legyen egy kicsi, könnyen megfogható kódbázisra, amelyben a felhasználók szabadon kísérletezhetnek vad ötletekkel (spekulatív kutatás). Dopamin-tárház

A dopamin tervezésének alapelvei a következők:

  • Könnyű kísérletezés.
  • Rugalmas fejlesztés.
  • Kompakt és megbízható.
  • Reprodukálható.

Tavaly (2019) a Dopamine átvette a hálózati definíciókat a tf.keras.Model használatára . A korábbi tf.contrib.slim alapú hálózatokat eltávolítottuk.

A Dopamine használatának megismeréséhez nézze meg a Colaboratory füzeteket.

Megjegyzés: A Dopamine a Google nyílt forráskódú projektje.

Programozási nyelv: Python

Github link: //github.com/google/dopamine

14. TuriCreate

A TuriCreate egy nyílt forráskódú eszközkészlet egyedi Core ML modellek létrehozásához.

A TuriCreate segítségével különböző ML feladatokat hajthat végre, mint például képosztályozás, hangbesorolás, objektumérzékelés, stílusátvitel, tevékenységosztályozás, kép hasonlósági ajánlás, szöveges osztályozás és fürtözés.

A keretrendszer egyszerűen használható, rugalmas és vizuális. Nagy adatkészleteken működik, és készen áll a telepítésre. A betanított modellek külön konverzió nélkül azonnal használhatók iOS, macOS, tvOS és watchOS alkalmazásokban.

Nézze meg a TuriCreate beszélgetéseket a WWDC 2019-en és a WWDC 2018-on, hogy többet tudjon meg a TuriCreate-ról.

MEGJEGYZÉS: A TuriCreate az Apple egy 0pen forrású projektje.

Programozási nyelv: Python

Github link: //github.com/apple/turicreate

15. Flair

A Flair egy egyszerű természetes nyelvi feldolgozási (NLP) keretrendszer, amelyet a berlini Humboldt Egyetem fejlesztett ki és nyílt forráskódú. A Flair a PyTorch ökoszisztéma hivatalos része, és több száz ipari és tudományos projektben használják.

A Flair lehetővé teszi, hogy a legmodernebb természetes nyelvi feldolgozási (NLP) modelljeinket alkalmazza a szövegére, mint például az elnevezett entitásfelismerés (NER), a beszéd részének címkézése (PoS), az értelem szerinti egyértelműség és az osztályozás. Flair Repository

Flair felülmúlja az NLP-feladatok számos korábbi módszerét: Elnevezett entitás-felismerés, Beszédcímkézés része és Csonkolás. Nézze meg ezt a táblázatot:

Megjegyzés : Az F1 pontszám egy értékelési mutató, amelyet elsősorban osztályozási feladatokhoz használnak. Az F1 pontszám figyelembe veszi a jelenlévő osztályok megoszlását.

Ebben a cikkben megtudhatja, hogyan végezhető el a szöveges osztályozás a Flair beágyazások használatával.

Programozási nyelv: Python

Github link: //github.com/flairNLP/flair

Következtetés

Mielőtt elkezdené építeni a gépi tanulási alkalmazást, ki kell választania egy ML keretet a sokféle lehetőség közül. Ez nehéz feladat lehet.

Ezért fontos a végső döntés meghozatala előtt számos lehetőséget értékelni . A fent említett nyílt forráskódú gépi tanulási keretrendszerek segíthetnek bárkinek hatékonyan és egyszerűen felépíteni a gépi tanulási modelleket.

Kíváncsi arra, hogy melyek a legnépszerűbb gépi tanulási keretrendszerek? Itt található az a lista, amelyet a legtöbb adatkutató és gépi tanulási mérnök az idejének nagy részében felhasznál.

  • Tensorflow
  • Pytorch
  • Fastai
  • Keras
  • scikit-tanulni
  • Microsoft kognitív eszköztár
  • Theano
  • Kávé2
  • DL4J
  • MxNet
  • H20
  • Accord.NET
  • Apache Spark

A következő bejegyzésben találkozunk! A Twitteren @Davis_McDavid is elérhetõ.