15 Uopdagede og open source maskinlæringsrammer, du har brug for at vide i 2020.

Machine Learning (ML) er en af ​​de hurtigste teknologier i dag. Og anvendelsen af ​​maskinindlæring til forskellige områder af computing vinder hurtigt popularitet.

Dette er ikke kun på grund af eksistensen af ​​billig og kraftig hardware. Det skyldes også den stigende tilgængelighed af gratis og open sourceMachine learning rammer , som gør det muligt for udviklere at implementere machine learning nemt.

Denne brede vifte af open source-maskinindlæringsrammer lader dataforskere og maskinindlæringsingeniører bygge, implementere og vedligeholde maskinlæringssystemer, generere nye projekter og skabe nye og effektive maskinlæringssystemer.

At vælge en maskinlæringsramme eller et bibliotek til at løse din brugssag indebærer at foretage en vurdering for at afgøre, hvad der er rigtigt for din brugssag. Flere faktorer er vigtige for denne vurdering, såsom:

  • Brugervenlighed.
  • Støtte på markedet (EF).
  • Kørehastigheder.
  • Åbenhed.

Hvem er denne artikel til?

Denne artikel er for dem, der ønsker at bruge viden i praksis efter at have lært teorien.

Det er også for dem, der ønsker at udforske andre potentielle open source-maskinlæringsrammer til deres fremtidige ML-projekt.

Her er listen over uopdagede rammer eller biblioteker med open source, som virksomheder og enkeltpersoner kan bruge til at opbygge maskinlæringssystemer.

1. blokke

Blocks er en ramme, der hjælper dig med at opbygge neurale netværksmodeller oven på Theano. I øjeblikket understøtter og tilvejebringer den konstruktion af parametriserede Theano-operationer, kaldet “mursten”, mønstermatchning for at vælge variabler og klodser i store modelleralgoritmer for at optimere din model og gemme og genoptage træning. Block's Repository

Du kan også lære om brændstof, databehandlingsmotoren, der primært er udviklet til blokke.

Programmeringssprog: Python

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

2. Analytics Zoo

Analytics Zoo tilbyder en samlet dataanalyse- og AI-platform, der problemfrit forener TensorFlow-, Keras-, PyTorch-, Spark-, Flink- og Ray-programmer til en integreret pipeline, som kan skaleres transparent fra en bærbar computer til store klynger for at behandle produktion af store data. Analytics Zoo Repository

Når du skal bruge Analytics Zoo til at udvikle din AI-løsning:

  • Du vil let prototype AI-modeller.
  • Når skalering betyder noget for dig.
  • Når du vil tilføje automatiseringsprocesser til din maskinlæringspipeline, såsom funktionsteknik og modelvalg.

Dette projekt vedligeholdes af Intel-analytics.

Programmeringssprog: Python

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

3. ML5.js

Ml5.js sigter mod at gøre maskinindlæring tilgængelig for et bredt publikum af kunstnere, kreative kodere og studerende. Biblioteket giver adgang til maskinlæringsalgoritmer og modeller i browseren, der bygger oven på TensorFlow.js. "Ml5.js Repository"

ml5.js er inspireret af Processing og p5.js.

Dette open source-projekt er udviklet og vedligeholdt af NYUs Interactive Telecommunications / Interactive Media Arts-program og af kunstnere, designere, studerende, teknologer og udviklere over hele verden.

BEMÆRK: Dette projekt er i øjeblikket under udvikling.

Programmeringssprog: Javascript

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

4.AdaNet

AdaNet er en letvægts TensorFlow-baseret ramme til automatisk at lære modeller af høj kvalitet med minimal ekspertintervention. AdaNet bygger på den nylige AutoML-indsats for at være hurtig og fleksibel, samtidig med at den giver læringsgarantier. Det er vigtigt, at AdaNet giver en generel ramme for ikke kun at lære en neuralt netværksarkitektur, men også til at lære at samle for at opnå endnu bedre modeller. "AdaNet Repository"

AdaNet leverer velkendt API som Keras til træning, evaluering og betjening af dine modeller i produktionen.

Programmeringssprog: Python

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

5. Mljar

Hvis du leder efter en platform til at oprette prototypemodeller og implementeringstjeneste, er Mljar det rigtige valg for dig. Mljar har tendens til at søge i forskellige algoritmer og udføre hyperparametertuning for at finde den bedste model.

Det giver også hurtige resultater ved at køre alle beregninger i skyen og endelig oprette ensemble-modeller. Derefter opretter det markdown-rapporter fra AutoML-træning.

Mljar kan træne ML-modeller til:

  • binær klassificering,
  • multi-klassifikation
  • regression.

Mljar tilbyder to typer grænseflader:

  • Python-indpakning over Mljar API.
  • Kørsel af Machine Learning-modeller i din webbrowser.

Programmeringssprog: Python

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

6. ConvNetJS

Deep Learning i Javascript. Træn konvolutionelle neurale netværk (eller almindelige) i din browser. "Convnetjs Repository"

Ligesom Tensorflow.js er ConvNetJS et JavaScript-bibliotek, der understøtter træning af forskellige Deep learning-modeller i din webbrowser. Du har ikke brug for GPU'er og anden tung software.

ConvNetJS understøtter:

  • Neurale netværksmoduler.
  • Uddannelse af konvolutionsnet til billeder.
  • Funktioner for regression og klassificering.
  • Modul til forstærkningslæring, baseret på Deep Q Learning.

Bemærk: Ikke vedligeholdt aktivt.

Programmeringssprog: Javascript

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

7.NNI (Neural Network Intelligence)

NNI (Neural Network Intelligence) er et let, men kraftfuldt værktøjssæt, der hjælper brugerne med at automatisere Feature Engineering, Neural Architecture Search, Hyperparameter Tuning og Model Compression. Værktøjet styrer automatiserede maskinlæringseksperimenter (AutoML) -eksperimenter, sender og kører eksperimenters prøvejob, der genereres ved at tune algoritmer for at søge i de bedste neurale arkitektur og / eller hyperparametre i forskellige træningsmiljøer som Local Machine, Remote Servers, OpenPAI, Kubeflow og andre skyindstillinger. NNI-arkiv

Når du skal overveje at bruge NNI

  • Hvis du vil prøve forskellige AutoML-algoritmer.
  • Hvis du vil køre prøveversioner af AutoML i forskellige miljøer.
  • Hvis du vil støtte AutoML på din platform.

BEMÆRK: Open source-projekt fra Microsoft.

Programmeringssprog: Python

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

8. kasse

Datumbox Machine Learning Framework er en open source-ramme skrevet i Java, der muliggør hurtig udvikling af Machine Learning og statistiske applikationer. Hovedfokus for rammen er at inkludere et stort antal maskinindlæringsalgoritmer og statistiske metoder og at være i stand til at håndtere datasæt i store størrelser. "DatumBox Repository"

Datumbox leverer et antal foruddannede modeller til forskellige opgaver, såsom Spam Detection, Sentiment Analysis, Language Detection, Topic Classification og så videre.

Programmeringssprog: Java

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

9.XAI (en eXplainability-værktøjskasse til ML)

XAI er et Machine Learning-bibliotek, der er designet med AI-forklaring i sin kerne. XAI indeholder forskellige værktøjer, der muliggør analyse og evaluering af data og modeller. XAI-biblioteket vedligeholdes af Institute for Ethical AI & ML, og det blev udviklet baseret på de 8 principper for ansvarlig maskinlæring. "XAI Repository"

De otte principper for ansvarlig maskinlæring inkluderer:

  • Menneskelig forstærkning
  • Bias Evaluering
  • Forklarelighed ved begrundelse
  • Reproducerbare operationer
  • Forskydningsstrategi
  • Praktisk nøjagtighed
  • Tillid ved privatlivets fred
  • Oplysning om datarisiko

For at lære mere om XAI kan du tjekke denne tale på Tensorflow London. Den indeholder indsigt i definitionerne og principperne i dette bibliotek.

XAI er i øjeblikket i en tidlig udvikling, den nuværende version er 0,05 (Alpha).

Programmeringssprog: Python

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

10. Platon

Platon er en fleksibel ramme til udvikling af samtale AI-agenter i forskellige miljøer. Platon blev designet både til brugere med en begrænset baggrund inden for samtaler AI og erfarne forskere i marken. Det giver et rent og forståeligt design, integreres med eksisterende deep learning og Bayesian optimeringsrammer og reducerer behovet for at skrive kode.

Det understøtter interaktioner gennem tekst, tale og dialoghandlinger. For at lære, hvordan Plato Research Dialogue System fungerer, kan du læse artiklen her.

BEMÆRK: Platon er et open source-projekt fra Uber.

Programmeringssprog: Python

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

11. dybdetektering

DeepDetect er en machine learning API og server skrevet i C ++. Det gør avanceret maskinlæring let at arbejde med og integreres i eksisterende applikationer.

DeepDetect implementerer understøttelse af overvåget og ikke-overvåget dyb læring af billeder, tekst, tidsserier og andre data med fokus på enkelhed og brugervenlighed, test og forbindelse til eksisterende applikationer. Det understøtter klassificering, objektdetektering, segmentering, regression og autokodere. DeepDetect Repository

DeepDetect er afhængig af eksterne maskinlæringsbiblioteker som:

  • Gradientforstærkende bibliotek XGBoost.
  • Dyb læringsbiblioteker (Caffe, Tensorflow, Caffe2, Torch, NCNN og Dlib).
  • klyngedannelse med T-SNE.
  • lighedssøgning med Annoy og FAISS.

DeepDetect er designet, implementeret og understøttet af Jolibrain ved hjælp af andre forskellige bidragydere.

Programmeringssprog: C ++

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

12. strålelyst

Streamlit - Den hurtigste måde at oprette brugerdefinerede ML-værktøjer på.

Streamlit er et fantastisk værktøj, der gør det muligt for dataforskere, ML-ingeniører og udviklere hurtigt at opbygge meget interaktive webapplikationer til deres maskinlæringsprojekter.

Streamlit kræver ikke noget kendskab til webudvikling. Hvis du kender Python, er du klar til at gå!

Det understøtter også genindlæsning, hvilket betyder, at din app opdateres live, mens du redigerer og gemmer dine filer.

Se Streamlit i aktion:

Programmeringssprog: Javascript & Python

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

13. dopamin

Dopamin er en forskningsramme til hurtig prototyping af algoritmer til forstærkningslæring. Det sigter mod at udfylde behovet for en lille, let opsamlet codebase, hvor brugerne frit kan eksperimentere med vilde ideer (spekulativ forskning). Dopamin Repository

Designprincipperne for dopamin inkluderer:

  • Let eksperimentering.
  • Fleksibel udvikling.
  • Kompakt og pålidelig.
  • Kan reproduceres.

Sidste år (2019) skiftede Dopamine sine netværksdefinitioner til at bruge tf.keras.Model . De tidligere tf.contrib.slim- baserede netværk er blevet fjernet.

For at lære, hvordan du bruger dopamin, se Colaboratory notesbøgerne.

Bemærk: Dopamin er et open source-projekt fra Google.

Programmeringssprog: Python

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

14.TuriCreate

TuriCreate er et open source-værktøjssæt til oprettelse af brugerdefinerede Core ML-modeller.

Med TuriCreate kan du udføre forskellige ML-opgaver såsom billedklassifikation, lydklassificering, objektdetektion, stiloverførsel, aktivitetsklassifikation, billedlighedsanbefaler, tekstklassificering og klyngedannelse.

Rammen er enkel at bruge, fleksibel og visuel. Det fungerer på store datasæt og er klar til implementering. De uddannede modeller kan bruges med det samme i iOS-, macOS-, tvOS- og watchOS-apps uden ekstra konvertering.

Se TuriCreate-samtaler på WWDC 2019 og WWDC 2018 for at lære mere om TuriCreate.

BEMÆRK: TuriCreate er et 0pen source-projekt fra Apple.

Programmeringssprog: Python

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

15. flammer

Flair er en simpel ramme om naturlig sprogbehandling (NLP), udviklet og open source fra Humboldt Universitet i Berlin. Flair er en officiel del af PyTorch-økosystemet og bruges i hundredvis af industrielle og akademiske projekter.

Flair giver dig mulighed for at anvende vores moderne NLP-modeller (Natural Language Processing) til din tekst, såsom NER (Named Entity Recognition), tagging af tale (PoS), sans-tvetydiggørelse og klassificering. Flair Repository

Flair overgår de tidligere bedste metoder på en række NLP-opgaver: Named Entity Recognition, Part of Speech Tagging og Chunking. Tjek denne tabel:

Bemærk : F1-score er en evalueringsmåling, der primært bruges til klassificeringsopgaver. F1-scoren tager hensyn til fordelingen af ​​de nuværende klasser.

Lær hvordan du udfører tekstklassificering ved hjælp af Flair Embeddings i denne artikel.

Programmeringssprog: Python

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

Konklusion

Før du begynder at opbygge en maskinlæringsapplikation, skal du vælge en ML-ramme blandt de mange muligheder derude. Dette kan være en vanskelig opgave.

Derfor er det vigtigt at evaluere flere muligheder inden en endelig beslutning. Open source-maskinlæringsrammerne nævnt ovenfor kan hjælpe alle med at opbygge maskinlæringsmodeller effektivt og nemt.

Undrer du dig over, hvad de mest populære Machine Learning Frameworks er? Her er listen, som de fleste dataforskere og maskinlæringsingeniører bruger det meste af deres tid.

  • Tensorflow
  • Pytorch
  • Fastai
  • Keras
  • scikit-lær
  • Microsofts kognitive værktøjssæt
  • Theano
  • Caffe2
  • DL4J
  • MxNet
  • H20
  • Accord.NET
  • Apache Spark

Vi ses i det næste indlæg! Jeg kan også nås på Twitter @Davis_McDavid.