2015-06-03 13 views
48

Während "googl'ing" und mache ein paar Untersuchungen Lernen ich jede ernst/populäre Rahmen/sdk für wissenschaftliche GPGPU-Computing und OpenCL auf AMD Hardware finden nicht in der Lage waren. Gibt es Literatur und/oder Software, die ich vermisst habe?OpenCL/AMD: Tief

Besonders interessiert mich Deep Learning.

Für alle wissen, ich deeplearning.net empfiehlt NVIDIA Hardware und CUDA Frameworks. Zusätzlich sind alle großen tiefen Lernumfeldern Ich weiß, wie Caffe, Theano, Torch, DL4J, ... werden auf CUDA fokussiert und nicht planen OpenCL/AMD zu unterstützen.

Weiterhin viel wissenschaftliche Arbeiten sowie entsprechende Literatur für CUDA basierte tiefe Lernaufgaben, aber fast nichts für OpenCL/AMD basierten Lösungen kann man finden.

Gibt es eine Chance, dass neue oder bestehende wissenschaftliche Frameworks für OpenCL/AMD basierte Lösungen in 2015/16 angezeigt werden?

Was ist ein guter Start für Deep Learning mit OpenCL/AMD? Irgendwelche Literatur? Anleitungen? Verschiedene Quellen?

+2

Es gibt Gründe, warum tiefe Lernumfeldern CUDA statt OpenCL nutzen - eine von ihnen Leistung. Es ist einfacher, es für einen einzelnen Anbieter wie Nvidia einzustellen. Obwohl ich keine genaue Antwort weiß, gibt es wenig Möglichkeiten, diese Art von Software für AMD zu finden. –

+0

Danke für die Eingabe. Das ist mehr oder weniger das, was ich bisher erwartet und herausgefunden habe. Wie ich bereits erwähnt habe, hat auch Google nicht viele Ergebnisse geliefert :(Gibt es wirklich keine offizielle Quelle, keine Literatur, keine Tutorials, keine Versuche da draußen? – daniel451

+0

Theano scheint irgendeine Art von OpenCL-Unterstützung verfügbar zu haben, über 'GpuArray': http : //deeplearning.net/software/theano/tutorial/using_gpu.html#gpuarray – jprice

Antwort

23

Bearbeiten 1 Siehe Mikael Rousson's Antwort - Amazon ist jetzt der Weg nach vorne, wie Sie Rechenleistung von ihnen "mieten" können.

Edit 2 Ich habe ein series of guides auf erstellt, wie mit theano Amazon EC2-Instanzen für Deep Learning einzurichten. Es ist ein viel mehr bequemer als auf einem persönlichen Computer ausgeführt.

Ich war in der gleichen Situation wie Sie selbst, da ich ein MacBook Pro mit Intel Iris-Grafik habe. Ich habe den besten Teil einer Woche damit verbracht, alle möglichen Problemumgehungen zu durchschauen, und ich wäre mehr als willkommen zu Alternativen zu denen, die ich anbiete.

Die beste Lösung, die ich zur Zeit haben ist:

  1. die Bibliothek python installieren, theano und nutzen what GPU support there is und weiterhin auf die neueste Entwicklung Versionen zu aktualisieren.
  2. eine NVIDIA-Grafikkarte kaufen und es auf einem PC verwenden
  3. Wenn Sie unbedingt eine Lösung in OpenCL brauchen, und Sie sind bereit, alles von einem hohen Maß an Verständnis codieren (keine Tutorials) bei DeepCL schauen und möglicherweise pyOpenCl.

Ich habe festgestellt, dass jede Lösung mit OpenCL, z.pyOpenCl, hat noch keine benutzerfreundlichen Schnittstellen für Deep Learning, d. H. Es dauert länger, es in einer alternativen Methode zu programmieren, als es einfach schnell zu programmieren und auf einer CPU zu laufen. Damit hier allerdings gesagt sind die besten Alternative OpenCL-Bibliotheken für vertieftes Lernen:

In Entwicklung

+1

Ich schätze Ihre Antwort & upvoted es, danke! Allerdings werde ich einige Tage mit der Prämie warten, vielleicht kommt eine ausführlichere Antwort mit mehr offiziellen Quellen oder sogar wissenschaftliche Arbeiten/Literatur über das Thema. – daniel451

+0

Ich erkannte, dass ich nicht wirklich die Bibliotheken auflisten Ich nutze OpenCL, das ich in meinem Original-Edit erwähnt habe - ich habe das jetzt aktualisiert. Ich habe auch etwas mehr Informationen zu Bibliotheken in den Entwicklungsphasen hinzugefügt jemand wird eine Antwort geben, die alle meine OpenCL-Probleme löst, da ich momentan mit meinem Laptop nach einer NVIDIA-Grafikversion trade, die aufwendig und teuer sein wird! –

+2

Danke! Ich bin in der gleichen Situation. Desktop ist AMD-basiert, Notebook Intel basiert und NVIDIA-Hardware ist nicht dafür bekannt, billig zu sein oder ein gutes Preis-Leistungs-Verhältnis für GPU-Computing zu haben, besonders wenn es um doppelt präzise Operationen geht:/ – daniel451

1

Bitte beachten Sie auch https://01.org/intel-deep-learning-framework - Die Intel® Deep Learning Framework (IDLF) einen einheitlichen Rahmen für Intel® Plattformen beschleunigt Tief Convolutional Neuronale Netze. Es ist Open Source, also können Sie es auch auf AMD-Hardware portieren. Das coole Ding: Es könnte auf einem MacBook Pro mit Intel Iris-Grafik laufen.

+0

wenn Sie sagen, * Intel®-Plattformen * meinen Sie Plattformen mit Intel® Compiler, Plattformen mit Intel® GPUs oder benötigen sie beide? –

+0

Intel (R) -Plattformen bedeutet Intel (R) -Prozessoren mit oder ohne Intel (R) Prozessor Grafik und Intel (R) Beschleuniger wie Intel (R) Xeon Phi. –

9

Eine Alternative ist die Verwendung von GPU-Instanzen in Amazon Web Services. Sie können AMIs mit häufig verwendeten Deep Learning-Paketen finden, die bereits installiert sind. Zum Beispiel:

Tipp: Verwendung von Spot Instances einen günstigeren Preis zu bekommen (ca. 10 Cent/Stunde für eine g2.2xlarge).

+0

Dies ist bei weitem die beste Lösung jetzt! Ich benutze das derzeit selbst, weil Sie Ihre gesamte Software wie gewohnt installieren und ihre Rechenleistung nutzen können. Ich denke, sie machen auch Rabatte. Ich bearbeite meine Antwort so, dass sie mit Ihrer verlinkt, da die Leute möglicherweise nicht lesen können, bis sie mehr Stimmen erhalten hat –

16

--- August 2017 Update-coole neue Dinge in der AMD-Seite passiert ---

jetzt ist es tatsächlich möglich, jede Bibliothek auf den meist AMD-Hardware Check Here

Ab 25. Oktober 2015

läuft

Es scheint, dass AMD und andere ihre Hände auf die Entwicklung von mehreren OpenCL-beschleunigten Frameworks für Deeplearning erweitert haben. Also ja OpenCL-Unterstützung ist jetzt für Deeplearning vorhanden :)

Dies ist eine Liste von OpenCL beschleunigten Framework oder Tools, die entwickelt wurden, halten in erster Linie tiefes Lernen.Ich hoffe, dass sie in den kommenden Jahren aktualisiert werden

wir jetzt wissen (25. Oktober 2015) gibt es drei tiefe Lernrahmen, der den Forschern sehr sehr beliebt und hat einige kommerzielle Produkte

  1. Theano gesehen

  2. Caffe

  3. Torch


caffe hat eine ziemlich gute OpenCL-Unterstützung, weil AMD eine komplette Version von Caffe entwickelt hat, die fast alle Funktionen von Caffe unterstützt und auch aktiv entwickelt wird. Es heißt OpenCL Caffe. und hier ist das Repository

OpenCL Caffe

, wenn Sie über die Leistung denken dann nach dieser Site (ich habe nicht Bank markiert es selbst) gibt es um 261 Bilder pro Sekunde oder 22,5 Millionen Bilder pro Tag in einem AMD R9 Fury Hardware (Training). Zum Vergleich mit Nvidia K40, die 40 Millionen Bilder pro Tag verarbeiten kann. So kann es laut der Website die halbe Leistung in einem Sechstel geben (wenn man bedenkt, dass es sich bei K40 um eine 3000 $ Karte und um R9 um 600 $ handelt). Wenn Sie jedoch eine beliebige Verbraucherkarte verwenden, bekommen Sie ein Problem mit dem Speicher (Vram), was beim Deep Learning sehr wichtig ist.


Taschenlampe in den letzten Tagen scheinen auch anständige OpenCL-Unterstützung zu haben. Es wird jedoch von einer einzigen Person gewartet. Es behauptet, volle Unterstützung für alle Eigenschaften von Fackel zu haben. Es gibt jedoch keine Vorstellung von der Leistung. Hier ist das Repository. Es wird aktiv gepflegt.

cltorch


Derzeit macht es scheint kein anständiges OpenCL-Backend für Theanos Rahmen zu sein, aber die Arbeit ist im Gange. und einfache Programme können mit der aktuellen Version durchgeführt werden.


Es gibt einige andere Opencl-Frameworks für das Deeplearning. Es wird einige Zeit dauern, sie zu sortieren, um zu sehen, ob sie richtig funktionieren oder nicht.

4

TensorFlow haben jetzt OpenCL-Unterstützung für die roadmap.

Siehe: Github issue.

Hoffentlich nicht so weit weg von einer funktionierenden Version.

5

Ich schreibe opencl 1.2 Unterstützung für Tensorflow.https://github.com/hughperkins/tensorflow-cl Derzeit unterstützt:

  • blas Matrizenmultiplikation
  • Gradienten
  • eigen Operationen wie: Reduktionen, argmin/argmax, pro-Element-Operationen (binäre und unäre)
5

PlaidML (https://github.com/plaidml/plaidml) ist eine vollständig Open-Source-Deep-Learning-Laufzeitumgebung, die auf OpenCL basiert und in Keras integriert ist, um eine vertraute API für Benutzer bereitzustellen. Die README im Repo hat einen detaillierteren Status, derzeit wird die Convnet-Inferenz auf Linux gut unterstützt, aber wir (http://vertex.ai) arbeiten daran, die Vollständigkeit und die Plattformunterstützung so schnell wie möglich zu erweitern. Unsere Continuous-Integration-Maschinen umfassen eine Auswahl an AMD- und NVIDIA-Grafikprozessoren, die alle derzeit Linux enthalten, aber wir arbeiten auch daran, Mac und Windows hinzuzufügen.