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ázaMegismerheti 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

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-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 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

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)

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 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 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 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 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 RepositoryFlair 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õ.