Bien que "googl'ing" et faisant quelques recherches, je n'ai pas pu trouver aucun sérieux/populaire framework/sdk pour GPGPU-Computing scientifique et OpenCL sur le matériel [~ # ~] et [~ # ~] . Y a-t-il de la littérature et/ou des logiciels que j'ai manqués?
Surtout je suis intéressé par apprentissage en profondeur.
Pour tout ce que je sais deeplearning.net recommande [~ # ~] nvidia [~ # ~] matériel et [~ # ~] cuda [~ # ~] cadres. En outre, tous les grands cadres d’apprentissage en profondeur que je connais, tels que Caffe , Theano , ( Torche , DL4J , ... sont focalisés sur [~ # ~] cuda [~ # ~] et ne prévoyez pas de prendre en charge OpenCL/AMD .
En outre, on peut trouver de nombreux articles scientifiques ainsi que la littérature correspondante pour des tâches d'apprentissage en profondeur basées sur [~ # ~] cuda [~ # ~] , mais presque rien pour les solutions basées sur OpenCL/AMD .
Existe-t-il une chance que des cadres scientifiques nouveaux ou existants apparaissent pour des solutions basées sur OpenCL/AMD en 2015/16?
Quel est le bon début pour un apprentissage en profondeur avec OpenCL/AMD ? Toute littérature? Des tutoriels? Sources diverses?
Edit 1 Voir de Mikael Rousson answer - Amazon est désormais la voie à suivre car vous pouvez "louer" une puissance de calcul à partir d'eux.
Edit 2 J'ai créé une série de guides sur la configuration des instances pour l'apprentissage approfondi Amazon EC2 avec theano
. C'est beaucoup plus plus pratique que de fonctionner sur une machine personnelle.
Edit 3 Il semble que TensorFlow soit maintenant beaucoup plus largement accepté que theano
, j'ai donc mis à jour le guide en conséquence.
Je suis dans la même situation que vous puisque j'ai un MacBook Pro avec des graphiques Intel Iris. J'ai passé la meilleure partie de la semaine à examiner toutes les solutions de contournement possibles et je serais plus que bienvenu pour des solutions de rechange à celles que je propose.
La meilleure solution que j'ai actuellement est de:
python
tensorflow
et utilisez le support GPU disponible et continuez de mettre à jour vos versions de développement.theano
- et utilisez support GPU existant de la même manière que tensorflow
J'ai trouvé que toute solution utilisant OpenCL, par exemple pyOpenCl , n’a pas encore d’interfaces conviviales pour Deep Learning, c’est-à-dire qu’il faudra plus de temps pour le coder avec une méthode alternative que pour le coder rapidement et s’exécuter sur un processeur. Cela dit, voici les meilleures bibliothèques OpenCL alternatives pour l'apprentissage en profondeur:
En développement
tensorflow
est ajout Support OpenCL une fois les améliorations apportées à Eigen
et les autres dépendances sont terminétheano
est ajout du support à OpenCL via clBLAS
Caffe
est en phases de développement d'ajouter le support OpenCL mais un peu en retard _ theano
en cours, il semble--- Mise à jour août 2017: de nouvelles choses intéressantes se sont produites du côté d'AMD ---
il est maintenant possible d'exécuter n'importe quelle bibliothèque sur la plupart des matériels AMD Check Here
À partir du 25 octobre 2015
il semble qu'AMD et d'autres aient étendu leurs efforts au développement de plusieurs frameworks accélérés de développement OpenCL. Alors oui, le support OpenCL est maintenant disponible pour le développement personnel :)
Voici une liste de framework ou d'outils accélérés OpenCL qui ont été développés en gardant principalement à l'esprit l'apprentissage en profondeur. J'espère qu'ils seront mis à jour au cours des prochaines années
Nous savons actuellement (25 octobre 2015) qu'il existe trois cadres d'apprentissage en profondeur qui sont très populaires auprès des chercheurs et qui ont vu certains produits commerciaux
Theano
Caffe
Torche
caffe a un support OpenCL assez bon car AMD a développé une version complète de caffe qui supporte presque toutes les fonctionnalités de caffe et qui est également en cours de développement actif. il s'appelle OpenCL Caffe. et voici le référentiel
si vous songez à la performance, alors, selon ce site (je ne l’ai pas référencé moi-même), cela donne environ 261 images par seconde ou 22,5 millions d’images par jour dans un matériel AMD R9 Fury (formation). à comparer avec nvidia K40, qui peut traiter 40 millions d’images par jour. ainsi, selon le site, il peut donner un rendement inférieur de moitié pour un sixième d’argent. Cependant, l'utilisation de n'importe quelle carte de consommateur vous posera un problème de mémoire (vram), ce qui est très important dans l'apprentissage en profondeur.
Torch ces derniers jours semble également avoir un support OpenCL décent. Cependant, il est maintenu par une seule personne. Il prétend avoir un support complet pour toutes les fonctionnalités de la torche. Cependant, cela ne donne pas une idée de la performance. Voici le référentiel. il est activement maintenu.
Actuellement, il ne semble pas y avoir de backend opencl décent pour le cadre mais les travaux sont en cours. et des programmes simples peuvent être réalisés avec la version actuelle.
Il existe également d’autres frameworks opencl pour l’apprentissage approfondi. Il faudra du temps pour les trier afin de voir s’ils fonctionnent correctement ou non.
Une alternative consiste à utiliser des instances de GPU sur Amazon Web Services. Vous pouvez trouver des AMI avec des packages d'apprentissage approfondi couramment utilisés déjà installés. Par exemple:
Conseil: utilisez des instances ponctuelles pour obtenir un prix inférieur (environ 10 centimes/heure pour un g2.2xlarge).
PlaidML ( https://github.com/plaidml/plaidml ) est un environnement d'apprentissage en profondeur entièrement open source qui s'exécute sur OpenCL et s'intègre à Keras pour fournir une API familière à l'utilisateur. Le statut de README du référentiel a un statut plus détaillé, actuellement, l’inférence de convnet sur Linux est bien prise en charge, mais nous ( http://vertex.ai ) travaillons à l’étendue de la complétude Nos machines à intégration continue incluent un assortiment de GPU AMD et NVIDIA, tous sous Linux pour le moment, mais nous travaillons également à l’ajout de Mac et Windows.
J'écris un support opencl 1.2 pour Tensorflow. https://github.com/hughperkins/tensorflow-cl Prend actuellement en charge:
TensorFlow prend désormais en charge OpenCL sur le feuille de route .
Voir: numéro de Github .
Espérons que pas si loin d'une version de travail.
Découvrez le plate-forme ROCm , piloté par AMD. C’est la première plate-forme open-source de classe HPC/Hyperscale pour l’informatique GPU, indépendante du langage de programmation.
Plus précisément:
Pour un apprentissage en profondeur, voir https://rocm.github.io/dl.html
Pour OpenCL, voir:
Des tutoriels utiles peuvent être trouvés ici: https://rocm.github.io/tutorials.html
Veuillez vérifier https://01.org/intel-deep-learning-framework - L'Intel® Deep Learning Framework (IDLF) fournit un cadre unifié pour les plates-formes Intel® accélérant les réseaux de neurones à convolution profonde. Il est Open Source, vous pouvez donc également le porter sur du matériel AMD. La bonne chose: il pourrait fonctionner sur un MacBook Pro avec des graphiques Intel Iris.