TensorFlow vs. Theano vs. Torch vs. Keras: Deep Learning Library
Künstliche Intelligenz erfreut sich seit 2016 wachsender Beliebtheit. 20 % der großen Unternehmen nutzen KI in ihren Unternehmen (McKinsey berichten, 2018). Dem gleichen Bericht zufolge kann KI branchenübergreifend einen erheblichen Mehrwert schaffen. Im Bankwesen beispielsweise wird das Potenzial von KI geschätzt $300 Milliarden, im Einzelhandel schnellt die Zahl auf $600 Milliarden.
Um den potenziellen Wert von KI auszuschöpfen, müssen Unternehmen das richtige Deep-Learning-Framework wählen. In diesem Tutorial erfahren Sie mehr über die verschiedenen Bibliotheken, die zur Durchführung von Deep-Learning-Aufgaben zur Verfügung stehen. Einige Bibliotheken gibt es schon seit Jahren, während in den letzten Jahren neue Bibliotheken wie TensorFlow ans Licht gekommen sind.
Die 8 besten Deep Learning Bibliotheken/Frameworks
In dieser Liste vergleichen wir die besten Deep-Learning-Frameworks. Alle sind Open Source und in der Data-Scientist-Community beliebt. Wir vergleichen auch beliebte ML-as-a-Service-Anbieter
Fackel
Torch ist eine alte Open-Source-Bibliothek für maschinelles Lernen. Sie wurde erstmals vor 15 Jahren veröffentlicht. Ihre primäre Programmiersprache ist LUA, aber sie hat auch eine Implementierung in C. Im Vergleich zu PyTorch unterstützt sie eine umfangreiche Bibliothek für Algorithmen für maschinelles Lernen, einschließlich Deep Learning. Sie unterstützt die CUDA-Implementierung für parallele Berechnungen.
Das Deep-Learning-Tool Torch wird von den meisten führenden Labors wie Facebook, Google, Twitter, Nvidia usw. verwendet. Torch verfügt über eine Bibliothek in Python Namen Pytorch.
Infer.net
Infer.net wird entwickelt und gepflegt von Microsoft. Infer.net ist eine Bibliothek mit einem Schwerpunkt auf der Bayesschen Statistik. Infer.net ist ein Visualisierungstool für Deep Learning, das Praktikern hochmoderne Algorithmen für probabilistische Modellierung bietet. Die Bibliothek enthält analytische Werkzeuge wie Bayes-Analyse, versteckte Markow-Ketten, Clustering.
Keras
Keras ist ein Python Framework für Deep Learning. Es ist eine praktische Bibliothek zum Erstellen beliebiger Deep-Learning-Algorithmen. Der Vorteil von Keras besteht darin, dass es dasselbe Framework verwendet Python Code, der auf CPU oder GPU ausgeführt wird. Außerdem ist die Codierungsumgebung rein und ermöglicht das Trainieren modernster Algorithmen für Computervision, Texterkennung und mehr.
Keras wurde von François Chollet, einem Forscher bei Google, entwickelt. Keras wird in bekannten Organisationen wie CERN, Yelp, Square oder Google eingesetzt. Netflix, und Uber.
Theano
Theano ist eine Deep-Learning-Bibliothek, die 2007 von der Université de Montréal entwickelt wurde. Im Vergleich zu TensorFlow bietet Theano schnelle Berechnungen und kann sowohl auf CPU als auch auf GPU ausgeführt werden. Theano wurde entwickelt, um tiefe neuronale Netzwerkalgorithmen zu trainieren.
Microsoft Kognitives Toolkit (CNTK)
Microsoft Toolkit, früher bekannt als CNTK, ist eine Deep-Learning-Bibliothek, die von entwickelt wurde Microsoft. Nach MicrosoftDamit gehört die Bibliothek zu den schnellsten auf dem Markt. Microsoft Toolkit ist jedoch eine Open-Source-Bibliothek Microsoft nutzt es ausgiebig für seine Produkte wie Skype, Cortana, Bing und Xbox. Das Toolkit ist sowohl in Python und C++.
MXNet
MXnet ist eine neue Deep-Learning-Bibliothek. Sie ist mit mehreren Programmiersprachen zugänglich, darunter C++, Julia, Python und R. MXNet kann so konfiguriert werden, dass es sowohl auf CPU als auch auf GPU funktioniert. MXNet beinhaltet hochmoderne Deep-Learning-Architektur wie Convolutional Neural Network und Long Short-Term Memory. MXNet ist für den Einsatz in harmony mit dynamischer Cloud-Infrastruktur. Der Hauptbenutzer von MXNet ist Amazon
Caffe
Caffe ist eine Bibliothek, die Yangqing Jia während seiner Zeit als Doktorand in Berkeley erstellt hat. Vergleicht man Caffe mit TensorFlow, so ist Caffe in C++ und kann Berechnungen sowohl auf der CPU als auch auf der GPU durchführen. Die Hauptanwendung von Caffe ist Convolutional Neural Network. Allerdings hat Facebook Caffe 2017 um eine Deep-Learning-Architektur erweitert, darunter Recurrent Neural Network. Caffe wird von Akademikern und Startups, aber auch von einigen großen Unternehmen wie Yahoo! verwendet.
TensorFlow
TensorFlow ist ein Open-Source-Projekt von Google. TensorFlow ist heutzutage die bekannteste Deep-Learning-Bibliothek. Es wurde Ende 2015 der Öffentlichkeit zugänglich gemacht
TensorFlow wurde entwickelt in C++ und verfügt über bequeme Python API, obwohl C++ APIs sind ebenfalls verfügbar. Namhafte Unternehmen wie Airbus, Google, IBM und weitere verwenden TensorFlow, um Deep-Learning-Algorithmen zu erstellen.
TensorFlow vs. Theano vs. Torch vs. Keras vs. infer.net vs. CNTK vs. MXNet vs. Caffe: Hauptunterschiede
Bibliothek | Plattform | Geschrieben in | Cuda-Unterstützung | Parallele Ausführung | Hat trainierte Modelle | RNN | CNN |
---|---|---|---|---|---|---|---|
Fackel | Linux, macOS, Windows | Lua | Ja | Ja | Ja | Ja | Ja |
Infer.Net | Linux, macOS, Windows | Visual Studio | Nein | Nein | Nein | Nein | Nein |
Keras | Linux, macOS, Windows | Python | Ja | Ja | Ja | Ja | Ja |
Theano | Plattformübergreifende | Python | Ja | Ja | Ja | Ja | Ja |
TensorFlow | Linux, macOS, Windows, Android | C++, Python, CUDA | Ja | Ja | Ja | Ja | Ja |
MICROSOFT COGNITIVE TOOLKIT | Linux, Windows, Mac mit Docker | C++ | Ja | Ja | Ja | Ja | Ja |
Caffe | Linux, macOS, Windows | C++ | Ja | Ja | Ja | Ja | Ja |
MXNet | Linux, Windows, macOS, Android, IOS, Javascript | C++ | Ja | Ja | Ja | Ja | Ja |
Urteil
TensorFlow ist die beste Bibliothek von allen, da sie so aufgebaut ist, dass sie für jeden zugänglich ist. Die Tensorflow-Bibliothek enthält verschiedene APIs zum Erstellen von Deep-Learning-Architekturen wie CNN oder RNN in großem Maßstab. TensorFlow basiert auf Graphenberechnungen und ermöglicht dem Entwickler die Visualisierung des Aufbaus des neuronalen Netzwerks mit Tensorboad. Dieses Tool ist hilfreich, um das Programm zu debuggen. Schließlich ist Tensorflow so konzipiert, dass es in großem Maßstab eingesetzt werden kann. Es läuft auf CPU und GPU.
Tensorflow erfreut sich auf GitHub im Vergleich zu den anderen Deep-Learning-Bibliotheken der größten Beliebtheit.
Vergleich von maschinellem Lernen als Service
Nachfolgend sind 4 beliebte DL-as-a-Service-Anbieter aufgeführt
Google Cloud ML
Google stellt Entwicklern ein vorab trainiertes Modell zur Verfügung, das in Cloud AutoML verfügbar ist. Diese Lösung ist für Entwickler ohne fundierte Kenntnisse in Maschinelles Lernen. Entwickler können das hochmoderne vorab trainierte Modell von Google für ihre Daten verwenden. Es ermöglicht jedem Entwickler, jedes Modell in nur wenigen Minuten zu trainieren und zu bewerten.
Google stellt derzeit eine REST-API für Computer Vision, Spracherkennung, Übersetzung und NLP bereit.
Die richtigen Google Cloudkönnen Sie ein Framework für maschinelles Lernen trainieren, das auf TensorFlow, Scikit-learn, XGBoost oder Keras basiert. Google Cloud Durch maschinelles Lernen werden die Modelle in der gesamten Cloud trainiert.
Der Vorteil der Verwendung von Google Cloud Computing besteht in der Einfachheit, maschinelles Lernen in der Produktion einzusetzen. Es ist nicht erforderlich, Docker-Container einzurichten. Außerdem kümmert sich die Cloud um die Infrastruktur. Sie weiß, wie Ressourcen mit CPUs, GPUs und TPUs zugeteilt werden. Durch parallele Berechnungen wird das Training schneller.
AWS SageMaker
Ein Hauptkonkurrent von Google Cloud is Amazon Wolke, AWS. Amazon entwickelt Amazon SageMaker ermöglicht es Datenwissenschaftlern und Entwicklern, beliebige Modelle für maschinelles Lernen zu erstellen, zu trainieren und in die Produktion zu bringen.
SageMaker ist in einer Version erhältlich Jupyter Notebook und enthält die am häufigsten verwendete Bibliothek für maschinelles Lernen, unter anderem TensorFlow, MXNet und Scikit-learn. Mit SageMaker geschriebene Programme werden automatisch in den Docker-Containern ausgeführt. Amazon kümmert sich um die Ressourcenzuweisung, um die Schulung und den Einsatz zu optimieren.
Amazon stellt den Entwicklern APIs zur Verfügung, um ihren Anwendungen Intelligenz hinzuzufügen. In manchen Fällen besteht keine Notwendigkeit, das Rad neu zu erfinden, indem neue Modelle von Grund auf erstellt werden, solange leistungsstarke vorab trainierte Modelle in der Cloud vorhanden sind. Amazon bietet API-Dienste für Computer Vision, Konversations-Chatbots und Sprachdienste:
Die drei wichtigsten verfügbaren APIs sind:
- Amazon Anerkennung: Bietet Bild- und Videoerkennung für eine App
- Amazon Begreifen: Führen Sie Text-Mining und neuronale Sprachverarbeitung durch, um beispielsweise den Prozess der Überprüfung der Rechtmäßigkeit von Finanzdokumenten zu automatisieren
- Amazon Lex: Chatbot zu einer App hinzufügen
Azure Studio für maschinelles Lernen
Einer der wahrscheinlich freundlichsten Ansätze für maschinelles Lernen ist Azure Machine Learning Studio. Der große Vorteil dieser Lösung besteht darin, dass keine Programmierkenntnisse erforderlich sind.
Microsoft Azure Machine Learning Studio ist ein Drag-and-Drop-Kollaborationstool zum Erstellen, Trainieren, Bewerten und Bereitstellen von Machine-Learning-Lösungen. Das Modell kann effizient als Webservices bereitgestellt und in verschiedenen Apps wie Excel verwendet werden.
Azure Die Schnittstelle für maschinelles Lernen ist interaktiv und ermöglicht dem Benutzer die Erstellung eines Modells durch schnelles Ziehen und Ablegen von Elementen.
Wenn das Modell fertig ist, kann der Entwickler es speichern und an Azure Galerie or Azure Marktplatz.
Azure Maschinelles Lernen kann in R integriert werden oder Python ihr benutzerdefiniertes integriertes Paket.
IBM Watson ML
Watson Studio kann die Datenprojekte durch einen optimierten Prozess vereinfachen, der es ermöglicht, Werte und Erkenntnisse aus den Daten zu extrahieren, um dem Unternehmen dabei zu helfen, intelligenter und schneller zu werden. Watson Studio bietet eine benutzerfreundliche Umgebung für kollaborative Datenwissenschaft und maschinelles Lernen zum Erstellen und Trainieren von Modellen, zum Vorbereiten und Analysieren von Daten sowie zum Teilen von Erkenntnissen – alles an einem Ort. Watson Studio ist einfach per Drag-and-Drop-Code zu verwenden.
Watson Studio unterstützt einige der beliebtesten Frameworks wie Tensorflow, Keras, Pytorch und Caffe und kann einen Deep-Learning-Algorithmus auf den neuesten GPUs von Nvidia bereitstellen, um die Modellierung zu beschleunigen.
Urteil
Aus unserer Sicht ist die Google Cloud-Lösung die am meisten empfohlene. Die Google Cloud-Lösung bietet im Vergleich zu AWS mindestens 30 % niedrigere Preise für Datenspeicherung und maschinelles Lernen. Google leistet hervorragende Arbeit bei der Demokratisierung der KI. Es hat eine Open-Source-Sprache entwickelt, TensorFlow, optimiert Data Warehouse Die Verbindung bietet hervorragende Tools von der Datenvisualisierung über die Datenanalyse bis hin zum maschinellen Lernen. Außerdem ist Google Console ergonomisch und viel umfassender als AWS oder Windows.