Le plan est fortement calqué sur les docs d'installation pour Ubuntu/MacOS dans theano_dev: http://deeplearning.net/software/theano_versions/dev/install_ubuntu.html :
- ( même contenu que pour la doc Ubuntu dans cette section: )
- Préciser que "We only support the installation of the requirements through conda." (comme dans la doc ubuntu).
- Liste des dépendances requises.
- Liste des dépendances optionnelles.
- Requirements installation through conda (recommended)
- Instructions pour installer la plupart les dépendances via conda.
- Install and configure the GPU drivers (recommended)
- NVIDIA CUDA
- NB: la version CUDA 8 s'installe même en l'absence de Microsoft Visual Studio sur ma machine (il faut cocher une case pour forcer l'installation). L'installateur ajoute automatiquement à la variable PATH le dossier contenant nvcc + les DLLs.
- NVIDIA cuDNN
- (pas encore essayé, je dois encore faire des tests ici)
- NB: Les autres docs ne mentionnent pas cuDNN. Faut-il le faire ici ?
- NVIDIA CUDA
- Stable installation
- via conda
- theano
- conda install theano
- libgpuarray
- conda install pygpu
- theano
- via pip
- theano
- pip install <--user> Theano[test, doc] # syntaxe dans la doc ubuntu
- Libgpuarray : repris depuis la doc ubuntu:
- Utiliser la version
v-9998
de libgpuarray - Mêmes instructions que pour la doc ubuntu ?
- Utiliser la version
- theano
- via conda
- Bleeding-edge (recommended)
- theano
- ...
- pip install <--user> <--no-deps> git+https://github.com/Theano/Theano.git#egg=Theano
- libgpuarray
- Suivre les instructions de la page d'installation de libgpuarray
- theano
- Developer installation
- theano
- ...
- pip install <--user> <--no-deps> -e .
- libgpuarray
- Suivres les instructions de la page d'installation de libgpuarray
- theano
- Indiquer comment s'assurer que les headers (ex.
<gpuarray/array.h>
) et la bibliothèque statique (gpuarray.lib
) de libgpuarray soient accessibles à Theano pour la compilation des codes qui en dépendent. - NB: À ce sujet, avec
conda install pygpu
, il semble que Theano ne sait toujours pas où trouver les headers et la lib de libgpuarray sur Windows. Sur ma machine je suis obligé d'indiquer manuellement les dossiers dans des variables d'environnement particulières, et les dossiers en question sont dans le dossier de l'environnement conda utilisé (donc pas évident à trouver!). Je ne sais pas si c'est un problème spécifique à ma machine.
- La doc windows actuelle recommande l'installation de
Microsoft Visual C++ Compiler for Python 2.7
. Je ne sais pas si c'est vraiment nécessaire pour Theano, par contre ça peut l'être pour ceux qui voudraient compiler libgpuarray sur Windows, mais ce n'est pas censé être décrit sur cette page. - La doc windows actuelle propose plusieurs distributions Python comme alternatives à conda (winpython, EPD, Canopy, Python(x,y)) ainsi que des instructions pour une installation manuelle de theano pour ceux qui utilisent la distribution officielle de Python. Je ne sais pas s'il faut conserver tout ceci dans la nouvelle documentation. Ou bien on propose une description générale, à adapter à la distribution Python de l'utilisateur:
- « Chercher les dépendances nécessaires dans les dépôts de la distribution: soit utiliser le gestionnaire de paquets fourni, soit passer par pip s'il est installé avec la distribution. La liste des dépendances à chercher est celle indiquée au tout début de la doc (à part les dépendances pour le GPU, c'est-à-dire cuda + cudnn + libgpuarray + pygpu) »
- « Si la distribution fournit un paquet GCC avec une version suffisante (voir la version recommandée au début de la doc), l'installer, sinon on peut proposer des instructions pour installer TDM-GCC comme dans la doc actuelle. »
- « Les instructions pour CUDA + CUDNN sont les mêmes que précédemment. »
- « Les instructions pour libgpuarray + pygpu sont celles de la page d'installation de libgpuarray (donc l'utilisateur devra recompiler lui-même ces deux modules). »
- NB: Est-ce possible de fournir une version précompilée de libgpuarray + pygpu pour windows ?
- « Les instructions pour configurer libgpuarray sont les mêmes que précédemment. »
Merci, ça semble être bon pour le plan général. Je vais essayer de répondre aux questions principales.
Je pense qu'il faudrait rajouter cuDNN comme "dépendance optionnelle" sous CUDA dans toutes les documentations, mais ça peut être fait à part. Je ne pense pas qu'il faille le mettre juste dans les instructions Windows pour le moment.
Il faudra peut-être mettre l'installation de
theano
etpygpu
sur la même ligne pour être sûr qu'il installe des versions compatibles. Ou peut-être indiquerpygpu==6
ou quelque chose comme ça. À voir avec @abergeron, qui sait mieux que moi quels changements incompatibles risquent d'être ajoutés à libgpuarray.Ça va être une autre version maintenant,
v0.6.0
. En fait, il faudra faire la mise à jour pour les instructions de tous les OS.À vérifier avec @abergeron. Idéalement, l'utilisateur ne devrait pas avoir à fouiller pour trouver les chemins des headers.
C'était nécessaire pour compiler le vieux back-end et les Ops qui en dépendaient, pour python 2.7, mais ce n'est plus le cas avec le nouveau back-end. J'enlèverais ça des instructions.
Pas facilement, il me semble, c'est pour ça qu'on a opté pour un package conda.
J'aime bien cette idée, tant qu'on met bien "(not recommended)" ou "(not officially supported)".