Die besten Open-Source-Tools für maschinelles Lernen

Google, Facebook, IBM, Microsoft und andere Technologiegiganten, darunter renommierte Entwickler, haben bereits einen kleinen Schritt in diese Richtung gemachtMaschinelles Lernen und künstliche Intelligenzden Traum der Menschen zu verwirklichen, eine hochintelligente Maschine zu schaffen. Und um andere zu befähigen, an dieser Reise des Aufbaus einer bewussten Maschine für die Zukunft teilzunehmen, gibt es eine ganze Reihe von Open-Source-Tools, die von Technologiegiganten genutzt werden, um künstliche Intelligenz in Anwendungen zu integrieren.


Künstliche Intelligenz und maschinelles Lernen befinden sich jedoch noch in einem sehr frühen Stadium. Erwarten Sie also nicht so etwas wie einen Science-Fiction-Film. Entwickler, die sich für KI und ML interessieren, können die Open-Source-Software, die wir besprechen werden, jedoch zum Schreiben von Apps für eine bessere Spracherkennung, Bilderkennung, Sprachunterstützung, die Entwicklung eines neuronalen Netzwerks und mehr verwenden. Dieser Artikel bietet einen Überblick über einige der beliebtesten Open-Source-Lösungen.

TensorFlow


Das TensorFlow AI-Entwicklungsframework ist eine Innovation des Brain Teams von Google, das eine Open-Source-Bibliothek für maschinelles Lernen verwendet. Die Entwickler können das flexible Ökosystem an Tools und Community-Ressourcen nutzen, um moderne ML-basierte Anwendungen zu entwickeln. Es enthält auch die CUDA Deep Neural Network-Bibliothek.

Zum Erstellen und Trainieren von Modellen nutzt es eine High-Level-Keras-API und bietet mehrere Abstraktionsebenen, sodass man die richtige für sein Projekt auswählen kann.

Darüber hinaus hat Google 2017 Tensor Flow lite für mobile Geräte veröffentlicht, um das Deep-Learning-Modell auf Smartphones und in seinen Apps zu nutzen. Es erfreut sich immer größerer Beliebtheit und einige Geräte nutzen mittlerweile sogar spezielle Beschleunigerchips für die entsprechende Anwendung. Um die Nutzung der Tensorflow-Bibliothek für maschinelles Lernen weiter zu verbessern.

Für große ML-Trainingsaufgaben steht die Distribution Strategy API für verteiltes Training auf verschiedenen Hardwarekonfigurationen zur Verfügung, ohne dass die Modelldefinition geändert werden muss.

Um es zu installieren, wird pip benötigt. Wenn Sie bereits über pip verfügen, finden Sie hier den Befehl für die CPU- und GPU-Version von Tensorflow:

pip install tensorflow

Erfahren Sie mehr über TensorFlowInstallation.

Caffe – Deep Learning Framework


Caffe ist ein reines Open-Source-Projekt mit C++/CUDA-Architektur, das Befehlszeilen-, Python- und MATLAB-Schnittstellen unterstützt; Sie können direkt zwischen CPU und GPU wechseln. Modelle und entsprechende Optimierungen werden im Text und nicht im Code angegeben. Caffe liefert die Definition des Modells, Optimierungseinstellungen und vorab trainierte Gewichte, sodass Sie sofort loslegen können.

Caffe wird in Kombination mit cuDNN verwendet, um das AlexNet-Modell zu testen. Die Verarbeitung jedes Bildes dauert auf dem K40 nur 1,17 ms. Sie können die verschiedenen von Caffe bereitgestellten Ebenentypen verwenden, um Ihr eigenes Modell zu definieren.

Caffe kann beispielsweise zur Spracherkennung, zur Erkennung und Klassifizierung von Bildern oder zur Entwicklung natürlicher Sprachen in KI-Geräten eingesetzt werden.

Sehen Sie sich dieses Projekt anGithubSeite.

Sie können auf Ubuntu für CPU installierensudo apt install caffe-cpuund für GPUsudo apt install caffe-cuda

PyTorch


PyTorch ist ein weiteres Open-Source-Framework für maschinelles Lernen. Es enthält TorchScript, einen Compiler, der PyTorch-Modelle in ein statisch typisiertes Diagramm konvertiert. Datenwissenschaftler können dann im Eager-Modus Optimierungen und Anpassungen vornehmen und so ihre Modelle schrittweise auf TorchScript umstellen. Es kann zur Implementierung von Netzwerkarchitekturen wie RNN, CNN, LSTM usw. und anderen High-Level-Algorithmen verwendet werden.

PyTorch kennt seit einiger Zeit das Open Neural Network eXchange (ONNX)-Format zum Exportieren trainierter oder untrainierter Modelle in ein standardisiertes Format. ONNX ermöglicht den Austausch zwischen verschiedenen Frameworks und vereinfacht beispielsweise die Übertragung von Modellen von PyTorch nach TensorFlow und umgekehrt.

Darüber hinaus umfasst die Anbindung an TensorBoard auf Toch basierende Python-basierte Bibliotheken wie Torchaudio, Torchtext, Torchvision und mehr.

Erfahren Sie mehr über PyTorchWebseiteUndGitHub

Microsoft CNTK – Opensource-Toolkit für maschinelles Lernen


Das Computational Network Toolkit (CNTK) von Microsoft wurde ursprünglich entwickelt, um schnellere Fortschritte im Bereich der Spracherkennung zu erzielen. Das Deep-Learning-Toolkit wurde daher intern genutzt, um die Spracherkennung der digitalen Assistentin Cortana zu verbessern. Später veröffentlichte Microsoft die Software auf GitHub unter einer Open-Source-Lizenz. Somit kann nun jeder es selbst ausprobieren. CNTK ist außerdem eines der ersten Deep-Learning-Toolkits, das das Open Neural Network Exchange ONNX-Format unterstützt.

Das Microsoft Cognitive Toolkit stellt neuronale Netze als eine Reihe von Rechenschritten über einen gerichteten Graphen mit Hilfe der Network Description Language (NDL) dar.

Es ist flexibel und unterstützt C++, C#, Java und Python.

WebseiteUndGithubLinks

scikit-learn – maschinelles Lernen mit Python


Scikit-learn ist ein weiteres auf der Python-Bibliothek basierendes Framework für maschinelles Lernen, das vom SciPy Toolkit abgeleitet ist. Es verwendet Pakete wie NumPy, SciPy oder Matplotlib, um mathematische, wissenschaftliche oder statistische Programme in Python zu schreiben. Es kann für Data Mining und Datenanalyse verwendet werden.

Es ist auch Open Source und für kommerzielle Zwecke verfügbar. Wir können es zum Erstellen von Anwendungen für verschiedene Kategorien verwenden, z. B. zu Klassifizierungszwecken oder zur Identifizierung der Kategorie, zu der ein Objekt gehört. bei der Vorhersage eines Attributs mit kontinuierlichem Wert, das einem Objekt zugeordnet ist; eine automatische Gruppierung ähnlicher Objekte in Mengen; Vergleichen, Validieren und Auswählen von Parametern und Modellen; Transformieren von Eingabedaten wie Text zur Verwendung mit maschinellen Lernalgorithmen, KI-Bots und mehr …

Wer mit maschinellem Lernen und künstlicher Intelligenz auf Basis von Python arbeiten möchte, sollte einen Blick auf die Möglichkeiten von Scikit Learning werfen. Die Anbieter stellen außerdem verschiedene Tutorials zur Verfügung, die Entwickler für die Arbeit mit Python und scikit-learn nutzen können.

WebseiteUndGitHub


Apache Mahout – Maschinelles Lernen für Big Data

Mahout ist ein Open-Source-Projekt der Apache Software Foundation (ASF), das auf Apache Hadoop und MapReduce basiert. Es bietet einige skalierbare Implementierungen klassischer Algorithmen im Bereich des maschinellen Lernens, um Entwicklern dabei zu helfen, intelligente Anwendungen einfacher und schneller zu erstellen. Mahout umfasst viele Implementierungen, einschließlich Clustering, Klassifizierung, Filterung und Data Mining. Darüber hinaus lässt sich Mahout mithilfe der Apache Hadoop-Bibliothek effektiv auf die Cloud erweitern.

Webseite

Spark MLlib


Apache Spark ist eine schnelle und universelle Computer-Engine, die für die Verarbeitung großer Datenmengen entwickelt wurde. Spark ist ein Hadoop MapReduce-ähnliches Allzweck-Parallel-Framework, das vom AMP-Labor der UC Berkeley (dem AMP-Labor der UC Berkeley) als Open-Source-Lösung bereitgestellt wird. Spark bietet die Vorteile von Hadoop MapReduce; Im Gegensatz zu MapReduce kann die Zwischenausgabe des Jobs jedoch im Speicher gespeichert werden, sodass kein Lesen und Schreiben von HDFS mehr erforderlich ist. Spark eignet sich daher besser für Data Mining- und maschinelle Lernalgorithmen, die iterative MapReduce-Algorithmen benötigen.

MLlib (Machine Learning lib) ist Sparks Implementierungsbibliothek für häufig verwendete Algorithmen für maschinelles Lernen. Es umfasst auch zugehörige Tests und Datengeneratoren. MLlib unterstützt derzeit vier häufige Probleme des maschinellen Lernens: Klassifizierung, Regression, Clustering und kollaboratives Filtern.

Spark MLlib kann mit Java, Scala, Python und R verwendet werden. MLlib nutzt die APIs von Spark und interagiert mit NumPy in Python. NumPy ist eine Python-Bibliothek, die zur Verarbeitung von Vektoren, Matrizen und mehrdimensionalen Arrays verwendet werden kann.

Webseite

Keras: Die Python Deep Learning-Bibliothek


Keras ist eine in Python geschriebene High-Level-API für neuronale Netze, die auf TensorFlow, CNTK, Theano oder MXNet ausgeführt werden kann. Seit seiner ersten Veröffentlichung im März 2015 erfreut es sich aufgrund seiner Benutzerfreundlichkeit und syntaktischen Einfachheit großer Beliebtheit und ermöglicht eine schnelle Entwicklung. Es wird von Google unterstützt.

Es unterscheidet sich von anderen End-to-End-Frameworks für maschinelles Lernen und fungiert als Schnittstelle. Es verwendet ein hohes Abstraktionsniveau und ermöglicht daher eine einfache Handhabung der neuronalen Netzwerkkonfiguration, ohne große Rücksicht darauf zu nehmen, an welcher Art von Framework gearbeitet wird.

WebseiteUndGitHub

Theano


Theano basiert auf Python und ist eine Bibliothek, die sich gut für die Verarbeitung mehrdimensionaler Arrays eignet (in dieser Hinsicht ähnlich wie NumPy). Es wurde entwickelt, um die Operationen großer neuronaler Netzwerkalgorithmen beim Deep Learning auszuführen. Die frühen Entwickler von Theano waren Yoshua Bengio und Ian Goodfellow. Aufgrund ihres akademischen Hintergrunds war sie ursprünglich für die akademische Forschung konzipiert. In Kombination mit anderen Deep-Learning-Bibliotheken eignet es sich sehr gut für die Datenexploration.

Theano lässt sich besser als Compiler für mathematische Ausdrücke verstehen: Definieren Sie Ihr gewünschtes Ergebnis in einer symbolischen Sprache, und das Framework kompiliert Ihr Programm so, dass es effizient auf der GPU oder CPU läuft.

Theano war lange Zeit der Branchenstandard für Deep-Learning-Entwicklung und -Forschung. Im Vergleich zu einer Deep-Learning-Bibliothek ähnelt es eher einer Forschungsplattform. Sie müssen von Grund auf viel Arbeit leisten, um die benötigten Modelle zu erstellen, was bedeutet, dass es sehr flexibel ist.

Egal wie gut die Werkzeuge sind, sie haben sich von der Bühne der Geschichte zurückgezogen. Theano, das einst die Gunst der akademischen Gemeinschaft gewann, bildet da keine Ausnahme.

Allerdings haben die wichtigsten Entwickler dieses Deep-Learning-Frameworks ihre Beiträge im Jahr 2017 eingestellt, die Community unterstützt das Projekt jedoch immer noch aktiv, was auf Github deutlich zu sehen ist.

WebseiteUndGithub

Oryx – Deep-Learning-Framework


Oryx ist außerdem ein Framework, das Daten von Kafka und Spark nutzt, um Hadoop-Benutzern dabei zu helfen, Modelle für groß angelegtes maschinelles Lernen in Echtzeit zu erstellen. Daten aus unterschiedlichen Quellen können in Echtzeit verarbeitet werden.

Es ist ein Framework zum Erstellen von Anwendungen, umfasst aber auch verpackte End-to-End-Anwendungen für kollaboratives Filtern, Klassifizieren, Regression und Clustering.

WebseiteUndGithub

Accord.NET Framework für maschinelles Lernen


Das auf .NET basierende Framework für maschinelles Lernen Accord.NET bietet eine Vielzahl von Möglichkeiten. Es kann für maschinelles Lernen, Statistiken, Audio und Signale, Kernel-Methoden, Hypothesentests, künstliche Intelligenz, Clustering, Computer Vision und Bildverarbeitung für die kommerzielle Nutzung unter Microsoft Windows, Xamarin, Unity3D, Linux oder Mobilgeräten verwendet werden.

Es kann sich als gute Wahl für die numerische Optimierung und sogar Visualisierung künstlicher neuronaler Netze erweisen.

Weitere Informationen finden Sie unter:Accord.netoderGithub

MLPack: C++-Bibliothek für maschinelles Lernen


mlpack ist für diejenigen gedacht, die eine großartige, flexible, speicherfreundliche Plattform für maschinelles Lernen suchen, die in C++ geschrieben ist. Es ist schnell mit Python-Bindungen und C++-Klassen, die dann in größere Lösungen für maschinelles Lernen integriert werden können. Nun, was die Dokumentation betrifft, könnte der Benutzer Schwierigkeiten haben.

GithubUndWebseiteLinks

Eingereicht vom Gastautor: Tejas Arya



Andere Artikel:

Related Posts