OpenCL / AMD: l'Apprentissage en Profondeur
Alors que "googl require" et en faisant quelques recherches, j'ai n'ont pas été en mesure de trouver tout graves/cadre populaire/sdk pour les scientifiques GPGPU-Informatique et OpenCL sur AMD matériel. Est-il de la littérature et/ou logiciel que j'ai raté?
En particulier, je suis intéressé par l'apprentissage en profondeur.
Pour tout ce que je sais deeplearning.net recommande NVIDIA matériel et CUDA cadres. En outre, tous les grands profonde des cadres d'apprentissage, je sais, comme Caffe, Théano, Torche, DL4J, ... sont axées sur la CUDA et ne comptez pas l'appui de OpenCL/AMD.
En outre, on peut trouver de nombreux articles scientifiques et de la littérature pour CUDA basée sur l'apprentissage en profondeur des tâches, mais à peu près rien pour OpenCL/AMD de solutions fondées.
Est-il une chance que les nouveaux ou existants scientifique cadres apparaissent pour OpenCL/AMD des solutions basées sur 2015/16?
Ce qui est un bon point de départ pour l'apprentissage en profondeur avec OpenCL/AMD? Toute la littérature? Des tutoriels? Diverses sources?
- Il y a des raisons, pourquoi l'apprentissage en profondeur des cadres utilisation de CUDA, au lieu d'OpenCL - l'un d'eux est la performance. Il est plus facile de les régler pour seul et unique fournisseur comme Nvidia. Si je ne sais pas de réponse exacte, il y a peu de chances de trouver ce genre de logiciel pour AMD.
- Merci pour l'entrée. C'est plus ou moins ce à quoi je m'attendais et a découvert jusqu'à présent. Comme je l'ai déjà mentionné, même Google n'a pas fourni de nombreux résultats 🙁 il n'y a pas vraiment de source officielle, pas de littérature, pas de tutoriels, n'essaie pas de là?
- Théano semble avoir une sorte de prise en charge OpenCL disponibles, via
GpuArray
: deeplearning.net/software/theano/tutorial/... - Voir aussi le la Comparaison de l'apprentissage profond logiciel page Wikipedia.
Vous devez vous connecter pour publier un commentaire.
Edit 1 Voir Mikael de Rousson réponse - Amazon est désormais la voie en avant comme vous pouvez "louer" de la puissance de calcul de leur part.
Edit 2 j'ai créé un série de guides sur comment mettre en place des Instances Amazon EC2 pour l'Apprentissage en Profondeur avec
theano
. C'est un beaucoup plus pratique que de courir sur une machine personnelle.Modifier 3 Il semble que TensorFlow est maintenant beaucoup plus largement acceptée que
theano
j'ai donc mis à jour le guide en conséquence.J'ai été dans la même situation que toi, comme j'ai un MacBook Pro avec processeur Intel Iris graphics. J'ai passé la meilleure partie de une semaine à la recherche par le biais de toutes les solutions possibles et je serais plus que bienvenus pour des alternatives à ceux que je vous propose.
La meilleure solution que j'ai actuellement est de:
python
bibliothèquetensorflow
et d'utiliser ce GPU de prise en charge et de continuer à mettre à jour pour les dernières versions de développement.théano
- et l'utilisation existants de prise en charge de GPU de même pourtensorflow
J'ai trouvé que toute solution en utilisant OpenCL, par exemple pyOpenCl, n'ont pas encore des interfaces conviviales pour l'Apprentissage en Profondeur c'est à dire qu'il faudra plus de temps pour code dans une méthode alternative que de se contenter de code rapide et exécuté sur un PROCESSEUR. Avec cela dit cependant, ici, sont de la meilleure alternative OpenCL bibliothèques pour l'apprentissage en profondeur:
Dans Le Développement
tensorflow
est l'ajout d' prise en charge OpenCL une fois les améliorations àEigen
et d'autres dépendances sont finithéano
est ajout de prise en charge à OpenCL parclBLAS
Café
est dans les stades de développement des de l'ajout de la prise en charge OpenCL, mais un peu en arrière de latheano
en cours, il semble--- Août 2017 mise à Jour cool de nouvelles choses qui s'est passé dans le côté AMD ---
maintenant, il est en fait possible d'exécuter n'importe quelle bibliothèque sur la plupart du matériel AMD
Vérifiez Ici
Au 25 octobre 2015
il semble que AMD et d'autres ont étendu leurs mains sur le développement de plusieurs OpenCL accéléré des cadres pour deeplearning. Donc oui prise en charge OpenCL est maintenant inexistants pour deeplearning 🙂
C'est une liste de OpenCL accelarated cadre ou les outils qui ont été développés en gardant l'apprentissage en profondeur dans l'esprit surtout. J'espère qu'ils seront mis à jour au cours des prochaines années
Nous ignorons pour l'instant(25 octobre 2015) il y a trois profondes cadre de l'apprentissage qui sont très très populaire pour les chercheurs et a vu certains produits commerciaux
Théano
Caffe
Torche
caffe a une bonne prise en charge OpenCL parce que amd a développé une version complète de caffe qui prend en charge presque toutes les fonctionnalités de caffe et aussi il est développé activement. il est nommé d'OpenCL Caffe. et voici le référentiel
OpenCL Caffe
si vous songez à la performance alors d'après ce site(je n'ai pas de banc marqué moi-même), il donne environ 261 images par seconde, soit 22,5 millions d'images par jour, dans un AMD R9 Fureur du matériel(formation). pour comparer avec nvidia K40, qui peut traiter les 40 millions d'images par jour. ainsi, selon le site, il peut donner la moitié de la performance dans un sixième de l'argent.(compte tenu de la k40 est de 3000$ carte et r9 fury est autour de 600$). cependant, l'utilisation de tout consommateur carte vous donnera un problème sur la mémoire(ram) ce qui est assez important dans l'apprentissage en profondeur.
Torche au cours des derniers jours semblent également avoir décent prise en charge OpenCL. Toutefois, il est géré par une seule personne. Il prétend avoir un support complet pour toutes les fonctions de la torche. Cependant, il n'est pas de donner une idée de la performance. Ici, c'est le référentiel. il est activement maintenu.
cltorch
Actuellement, il ne semble pas être un décent opencl backend pour théano cadre, mais le travail est en cours. simple et programmes qui peut être fait avec la version actuelle.
Il y a quelques autres opencl cadres pour deeplearning trop. Il faudra un certain temps pour les trier pour voir s'il fonctionne correctement ou non.
Une alternative est d'utiliser le GPU cas sur Amazon Web Services.
Vous pouvez trouver des AMIs avec couramment utilisé l'apprentissage en profondeur des paquets déjà installés. Par exemple:
Astuce: utiliser les instances ponctuelles pour obtenir un prix moins cher (autour de 10 cents de l'heure pour un g2.2xlarge).
PlaidML (https://github.com/plaidml/plaidml) est entièrement open source profonde de l'apprentissage d'exécution qui s'exécute au-dessus de l'OpenCL, et s'intègre avec Keras de fournir un familier des utilisateurs de l'API. Le fichier README dans le repo a plus détaillée de l'état, actuellement convnet inférence sur Linux est bien pris en charge, mais nous (http://vertex.ai) sont à travailler à l'élargissement de l'exhaustivité et de support de plate-forme aussi rapidement que nous le pouvons. Notre intégration continue des machines comprennent un assortiment de AMD et NVIDIA Gpu, tous les Linux pour le moment, mais nous travaillons également sur l'ajout de Mac et de Windows.
PlaidML
pourarmv7-a
plate-forme? Et est-il un minimum OpenCL la version requise pour utiliserPlaidML
?Je suis en train d'écrire opencl 1.2 le soutien à l'Tensorflow. https://github.com/hughperkins/tensorflow-cl Prend actuellement en charge:
TensorFlow ont maintenant prise en charge OpenCL sur le feuille de route.
Voir: Github problème.
Espérons-le, pas loin, à partir d'une version de travail.
S'il vous plaît vérifier https://01.org/intel-deep-learning-framework - Le processeur Intel® Deep Cadre de l'Apprentissage (IDLF) fournit un cadre unifié pour les processeurs Intel® plates-formes accélération de la Profondeur des Réseaux de Neurones à Convolution. Il est Open Source, donc vous pouvez le porter sur du matériel AMD ainsi. Le truc cool: il peut s'exécuter sur un MacBook Pro avec processeur Intel Iris graphics.
Découvrez la ROCm plate-forme, qui est entraînée par AMD. C'est la première open-source HPC/Hyperscale plate-forme de calcul GPU c'est aussi la programmation indépendante de la langue.
Spécifiquement:
Pour l'apprentissage en profondeur, voir https://rocm.github.io/dl.html
Pour OpenCL, voir:
Tutoriels utiles peuvent être trouvés ici: https://rocm.github.io/tutorials.html