[PYTHON] Microsoft Deep Learning Library "CNTK" Tutorial

Kennen Sie CNTK? CNTK ist eine Open-Source-Deep-Learning-Bibliothek, die von Microsoft geleitet wird. Um ehrlich zu sein, habe ich kürzlich damit begonnen, aber dieses CNTK ist nicht in guter Weise wie Microsoft und es ist ziemlich Ich finde es cool. Dieses Mal werde ich zunächst kurz die Funktionen von CNTK vorstellen. [Ich werde mir in der zweiten Hälfte ein Codebeispiel mit Jupyter Notebook ansehen.](Http://qiita.com/usuyama/items/bb7600ab7cfc1f5b8be3#python%E3%81%A7cntk] % E3% 82% 92% E4% BD% BF% E3% 81% A3% E3% 81% A6% E3% 81% BF% E3% 82% 8B).

** [Klicken Sie hier für das Tutorial](http://qiita.com/usuyama/items/bb7600ab7cfc1f5b8be3#python%E3%81%A7cntk%E3%82%92%E4%BD%BF%E3%81%A3%E3% 81% A6% E3% 81% BF% E3% 82% 8B) **

cntk.png

Offene Entwicklungsrichtlinie, die sich nicht an "Microsoft" hält

Open Source

https://github.com/Microsoft/CNTK

Die Entwicklung von GitHub ist im Gange. Es gibt keine Inhouse-Version.

Offizielles Wiki

Python und C ++ API

Es gibt (noch) keine .NET-API. Brainscript wird ebenfalls unterstützt.

Verfügbar unter Linux und Windows

Das Entwicklungsteam sagte: "Sowohl Linux als auch Windows sind die ersten Bürger von CNTK." Es kann eine leichte Zeitverzögerung geben, aber es scheint, dass beide Plattformen dieselbe Funktionalität unterstützen. Docker ist auch für Linux verfügbar, sodass Linux möglicherweise einfacher zu verwenden ist. nicht.

ms_loves_linux.png

Hohe Geschwindigkeit und Skalierbarkeit

Skalieren Sie auf mehreren GPUs

Die Abbildung vergleicht die Leistung mit Therano, TensorFlow, Torch 7 und Caffe. Dies ist ein Vergleich, wie viele Frames pro Sekunde von einem vollständig verbundenen 4-Schicht-Neuronalen Netzwerk verarbeitet werden können (Mini-Batch-Größe ist 8192). Die blauen und orangefarbenen Einstellungen sind Cluster von Linux-Computern mit einer oder vier GPUs (Nvidia K40), und Grün ist ein Cluster von zwei Linux-Computern (2 x 4 GPUs). ** Mit einer GPU hat jede Bibliothek fast die gleiche Geschwindigkeit (CNTK ist schneller als TensorFlow?), Aber CNTK ist die einzige, die mehrere GPUs effektiv nutzen kann. ** Bei 4 GPUs skaliert CNTK fast 4x, während Torch 7 und Caffe etwa 2x skalieren. TensorFlow ist nahezu unverändert.

speed-comparison.PNG Microsoft Research Blog

Oktober 2016: CNTK erreicht die Spracherkennungsgenauigkeit auf menschlicher Ebene

In einem Experiment im Oktober 2016 verzeichnete eine vom Microsoft-Team entwickelte Spracherkennungs-Engine eine Wortfehlerrate von 5,9%. Dies entsprach der Anfrage eines professionellen Transkriptionsdienstes nach derselben Audiodatei. Darüber hinaus verwendet dieser Transkriptionsdienst einen zweistufigen Prozess, bei dem die erste Person von 1 transkribiert und die zweite Person Korrekturen vornimmt.

Der detaillierte Teil der Methode ist in Paper veröffentlicht, verwendet jedoch ein neuronales Netzwerk mit einer sehr großen Anzahl von Schichten. In der Veröffentlichung heißt es auch, dass CNTK auch hier seine Macht ausübte und dass die Hochgeschwindigkeitsverarbeitung von CNTK unverzichtbar war.

speech-graphic.jpg

Versuchen Sie, CNTK mit Python zu verwenden

Einführung in CNTK (Python)

Mein Kollege hat ein gutes Tutorial gemacht, also habe ich es übersetzt. Da es sich um ein Jupyter-Notizbuch handelt, können Sie Code vor Ort bearbeiten und ausführen, ohne die Umgebung vorzubereiten. Wir planen, weitere nacheinander hinzuzufügen.

Jupyter Notebook (Azure Notebook) Wenn Sie sich mit Ihrem Microsoft-Konto anmelden, können Sie Ihre Notizen zur Bearbeitung und Ausführung klonen. azure_notebook.png

Es ist sehr praktisch, den Code vor Ort ändern und ausführen zu können. Versuchen Sie daher, den Code im Tutorial zu ändern und damit zu spielen.

jupyter_run_cell.png

Referenz

Recommended Posts

Microsoft Deep Learning Library "CNTK" Tutorial
Deep Learning Model Lightening Library Distiller
Tiefes Lernen
(Python) Deep Learning Library Chainer-Grundlagen Grundlagen
Deep Learning Tutorial aus dem Umgebungsbau
Deep Learning Memorandum
Starten Sie Deep Learning
Python Deep Learning
Deep Learning × Python
Zusammenfassung des Lernprogramms für maschinelles Lernen
Warum was? Deep Learning Scientific Calculation Library Numpy Edition
Python: Deep Learning-Praxis
Deep Learning / Aktivierungsfunktionen
Deep Learning von Grund auf neu
Deep Learning 1 Übung des Deep Learning
Deep Learning / Cross Entropy
Erstes tiefes Lernen ~ Vorbereitung ~
Erstes tiefes Lernen ~ Lösung ~
[AI] Deep Metric Learning
Ich habe versucht, tief zu lernen
DNN (Deep Learning) Library: Vergleich von Chainer und TensorFlow (1)
Python: Deep Learning Tuning
Deep Learning Großtechnologie
Bibliothek für maschinelles Lernen Shogun
DEEP PROBABILISTIC PROGRAMMING --- Bibliothek "Deep Learning + Bayes" --- Einführung von Edward
Deep Learning / Softmax-Funktion
Sinuswellenvorhersage mit RNN in der Deep-Learning-Bibliothek Keras
Selbststudien-Memo "Deep Learning from Grund" (Nr. 15) TensorFlow-Anfänger-Tutorial
Deep Learning von Grund auf 1-3 Kapitel
Versuchen Sie es mit TensorFlow
Deep Learning Gaiden ~ GPU-Programmierung ~
<Kurs> Tiefes Lernen: Day2 CNN
Deep Learning Bilderkennung 1 Theorie
Deep Running 2 Tuning von Deep Learning
Deep Learning / LSTM Scratch Code
<Kurs> Tiefes Lernen: Tag 1 NN
Deep Kernel Learning mit Pyro
Versuchen Sie Deep Learning mit FPGA
Einführung in Udacity Deep Learning Nanodegree
Einführung in Deep Learning ~ Lernregeln ~
Tiefe Stärkung des Lernens 1 Einführung in die Stärkung des Lernens
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
Generiere Pokemon mit Deep Learning
Einführung in Deep Learning ~ Backpropagation ~
[Windows Edition] Keras-Kurs, eine Bibliothek, in der Sie Deep Learning sofort ausprobieren können - Teil 1