L'installation de théano sur Windows 8 avec GPU est activé
Je comprends que le Théano support pour Windows 8.1 est au stade expérimental, mais je me demande si quelqu'un a un peu de chance à résoudre mes problèmes. En fonction de ma config, j'ai trois types d'erreurs. Je suppose que la résolution de n'importe quel de mes erreurs, il permettrait de résoudre mon problème.
J'ai installé Python à l'aide de WinPython système 32 bits, en utilisant MinGW comme décrit ici. Le contenu de mon .theanorc
fichier sont les suivantes:
[global]
openmp=False
device = gpu
[nvcc]
flags=-LC:\TheanoPython\python-2.7.6\libs
compiler_bindir=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\
[blas]
ldflags =
Quand je lance import theano
l'erreur est comme suit:
nvcc fatal : nvcc cannot find a supported version of Microsoft Visual Studio.
Only the versions 2010, 2012, and 2013 are supported
['nvcc', '-shared', '-g', '-O3', '--compiler-bindir', 'C:\\Program Files (x86)\\
Microsoft Visual Studio 10.0\\VC\\bin# flags=-m32 # we have this hard coded for
now', '-Xlinker', '/DEBUG', '-m32', '-Xcompiler', '-DCUDA_NDARRAY_CUH=d67f7c8a21
306c67152a70a88a837011,/Zi,/MD', '-IC:\\TheanoPython\\python-2.7.6\\lib\\site-pa
ckages\\theano\\sandbox\\cuda', '-IC:\\TheanoPython\\python-2.7.6\\lib\\site-pac
kages\\numpy\\core\\include', '-IC:\\TheanoPython\\python-2.7.6\\include', '-o',
'C:\\Users\\Matej\\AppData\\Local\\Theano\\compiledir_Windows-8-6.2.9200-Intel6
4_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.6-32\\cuda_ndarray\\cuda_ndarray
.pyd', 'mod.cu', '-LC:\\TheanoPython\\python-2.7.6\\libs', '-LNone\\lib', '-LNon
e\\lib64', '-LC:\\TheanoPython\\python-2.7.6', '-lpython27', '-lcublas', '-lcuda
rt']
ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: ('nvcc return st
atus', 1, 'for cmd', 'nvcc -shared -g -O3 --compiler-bindir C:\\Program Files (x
86)\\Microsoft Visual Studio 10.0\\VC\\bin# flags=-m32 # we have this hard coded
for now -Xlinker /DEBUG -m32 -Xcompiler -DCUDA_NDARRAY_CUH=d67f7c8a21306c67152a
70a88a837011,/Zi,/MD -IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages\\thean
o\\sandbox\\cuda -IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages\\numpy\\co
re\\include -IC:\\TheanoPython\\python-2.7.6\\include -o C:\\Users\\Matej\\AppDa
ta\\Local\\Theano\\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepp
ing_3_GenuineIntel-2.7.6-32\\cuda_ndarray\\cuda_ndarray.pyd mod.cu -LC:\\TheanoP
ython\\python-2.7.6\\libs -LNone\\lib -LNone\\lib64 -LC:\\TheanoPython\\python-2
.7.6 -lpython27 -lcublas -lcudart')
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not availabl
e
J'ai aussi testé à l'aide de Visual Studio 12.0
qui est installé sur mon système avec l'erreur suivante:
mod.cu
nvlink fatal : Could not open input file 'C:/Users/Matej/AppData/Local/Temp/tm
pxft_00001b70_00000000-28_mod.obj'
['nvcc', '-shared', '-g', '-O3', '--compiler-bindir', 'C:\\Program Files (x86)\\
Microsoft Visual Studio 12.0\\VC\\bin\\', '-Xlinker', '/DEBUG', '-m32', '-Xcompi
ler', '-LC:\\TheanoPython\\python-2.7.6\\libs,-DCUDA_NDARRAY_CUH=d67f7c8a21306c6
7152a70a88a837011,/Zi,/MD', '-IC:\\TheanoPython\\python-2.7.6\\lib\\site-package
s\\theano\\sandbox\\cuda', '-IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages
\\numpy\\core\\include', '-IC:\\TheanoPython\\python-2.7.6\\include', '-o', 'C:\
\Users\\Matej\\AppData\\Local\\Theano\\compiledir_Windows-8-6.2.9200-Intel64_Fam
ily_6_Model_60_Stepping_3_GenuineIntel-2.7.6-32\\cuda_ndarray\\cuda_ndarray.pyd'
, 'mod.cu', '-LC:\\TheanoPython\\python-2.7.6\\libs', '-LNone\\lib', '-LNone\\li
b64', '-LC:\\TheanoPython\\python-2.7.6', '-lpython27', '-lcublas', '-lcudart']
ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: ('nvcc return st
atus', 1, 'for cmd', 'nvcc -shared -g -O3 --compiler-bindir C:\\Program Files (x
86)\\Microsoft Visual Studio 12.0\\VC\\bin\\ -Xlinker /DEBUG -m32 -Xcompiler -LC
:\\TheanoPython\\python-2.7.6\\libs,-DCUDA_NDARRAY_CUH=d67f7c8a21306c67152a70a88
a837011,/Zi,/MD -IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages\\theano\\sa
ndbox\\cuda -IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages\\numpy\\core\\i
nclude -IC:\\TheanoPython\\python-2.7.6\\include -o C:\\Users\\Matej\\AppData\\L
ocal\\Theano\\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3
_GenuineIntel-2.7.6-32\\cuda_ndarray\\cuda_ndarray.pyd mod.cu -LC:\\TheanoPython
\\python-2.7.6\\libs -LNone\\lib -LNone\\lib64 -LC:\\TheanoPython\\python-2.7.6
-lpython27 -lcublas -lcudart')
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not availabl
e
Dans la dernière erreur, plusieurs fenêtres pop-up me demander comment voudrais-je ouvrir (.res) fichier avant d'erreur est levée.
cl.exe
est présent dans les deux dossiers (c'est à dire par rapport à 2010 et VS 2013).
Enfin, si j'ai mis en VS 2013 dans l'environnement chemin et set .theanorc
contenu comme suit:
[global]
base_compiledir=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
openmp=False
floatX = float32
device = gpu
[nvcc]
flags=-LC:\TheanoPython\python-2.7.6\libs
compiler_bindir=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\
[blas]
ldflags =
J'obtiens l'erreur suivante:
c:\theanopython\python-2.7.6\include\pymath.h(22): warning: dllexport/dllimport conflict with "round"
c:\program files\nvidia gpu computing toolkit\cuda\v6.5\include\math_functions.h(2455): here; dllimport/dllexport dropped
mod.cu(954): warning: statement is unreachable
mod.cu(1114): error: namespace "std" has no member "min"
mod.cu(1145): error: namespace "std" has no member "min"
mod.cu(1173): error: namespace "std" has no member "min"
mod.cu(1174): error: namespace "std" has no member "min"
mod.cu(1317): error: namespace "std" has no member "min"
mod.cu(1318): error: namespace "std" has no member "min"
mod.cu(1442): error: namespace "std" has no member "min"
mod.cu(1443): error: namespace "std" has no member "min"
mod.cu(1742): error: namespace "std" has no member "min"
mod.cu(1777): error: namespace "std" has no member "min"
mod.cu(1781): error: namespace "std" has no member "min"
mod.cu(1814): error: namespace "std" has no member "min"
mod.cu(1821): error: namespace "std" has no member "min"
mod.cu(1853): error: namespace "std" has no member "min"
mod.cu(1861): error: namespace "std" has no member "min"
mod.cu(1898): error: namespace "std" has no member "min"
mod.cu(1905): error: namespace "std" has no member "min"
mod.cu(1946): error: namespace "std" has no member "min"
mod.cu(1960): error: namespace "std" has no member "min"
mod.cu(3750): error: namespace "std" has no member "min"
mod.cu(3752): error: namespace "std" has no member "min"
mod.cu(3784): error: namespace "std" has no member "min"
mod.cu(3786): error: namespace "std" has no member "min"
mod.cu(3789): error: namespace "std" has no member "min"
mod.cu(3791): error: namespace "std" has no member "min"
mod.cu(3794): error: namespace "std" has no member "min"
mod.cu(3795): error: namespace "std" has no member "min"
mod.cu(3836): error: namespace "std" has no member "min"
mod.cu(3838): error: namespace "std" has no member "min"
mod.cu(4602): error: namespace "std" has no member "min"
mod.cu(4604): error: namespace "std" has no member "min"
31 errors detected in the compilation of "C:/Users/Matej/AppData/Local/Temp/tmpxft_00001d84_00000000-10_mod.cpp1.ii".
ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: ('nvcc return status', 2, 'for cmd', 'nvcc -shared -g -O3 -Xlinker /DEBUG -m32 -Xcompiler -DCUDA_NDARRAY_CUH=d67f7c8a21306c67152a70a88a837011,/Zi,/MD -IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages\\theano\\sandbox\\cuda -IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages\\numpy\\core\\include -IC:\\TheanoPython\\python-2.7.6\\include -o C:\\Users\\Matej\\AppData\\Local\\Theano\\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.6-32\\cuda_ndarray\\cuda_ndarray.pyd mod.cu -LC:\\TheanoPython\\python-2.7.6\\libs -LNone\\lib -LNone\\lib64 -LC:\\TheanoPython\\python-2.7.6 -lpython27 -lcublas -lcudart')
ERROR:theano.sandbox.cuda:Failed to compile cuda_ndarray.cu: ('nvcc return status', 2, 'for cmd', 'nvcc -shared -g -O3 -Xlinker /DEBUG -m32 -Xcompiler -DCUDA_NDARRAY_CUH=d67f7c8a21306c67152a70a88a837011,/Zi,/MD -IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages\\theano\\sandbox\\cuda -IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages\\numpy\\core\\include -IC:\\TheanoPython\\python-2.7.6\\include -o C:\\Users\\Matej\\AppData\\Local\\Theano\\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.6-32\\cuda_ndarray\\cuda_ndarray.pyd mod.cu -LC:\\TheanoPython\\python-2.7.6\\libs -LNone\\lib -LNone\\lib64 -LC:\\TheanoPython\\python-2.7.6 -lpython27 -lcublas -lcudart')
mod.cu
['nvcc', '-shared', '-g', '-O3', '-Xlinker', '/DEBUG', '-m32', '-Xcompiler', '-DCUDA_NDARRAY_CUH=d67f7c8a21306c67152a70a88a837011,/Zi,/MD', '-IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages\\theano\\sandbox\\cuda', '-IC:\\TheanoPython\\python-2.7.6\\lib\\site-packages\\numpy\\core\\include', '-IC:\\TheanoPython\\python-2.7.6\\include', '-o', 'C:\\Users\\Matej\\AppData\\Local\\Theano\\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.6-32\\cuda_ndarray\\cuda_ndarray.pyd', 'mod.cu', '-LC:\\TheanoPython\\python-2.7.6\\libs', '-LNone\\lib', '-LNone\\lib64', '-LC:\\TheanoPython\\python-2.7.6', '-lpython27', '-lcublas', '-lcudart']
Si je lance import theano
sans le GPU option sur, il fonctionne sans problème. Aussi CUDA échantillons de fonctionner sans problème.
OriginalL'auteur Matt | 2014-09-08
Vous devez vous connecter pour publier un commentaire.
Théano est un excellent outil pour l'apprentissage de la machine applications, pourtant, j'ai trouvé que son installation sur Windows n'est pas trivial, surtout pour les débutants (comme moi) dans la programmation. Dans mon cas, je vois 5-6x la vitesse de mes scripts lorsqu'il est exécuté sur un GPU de sorte qu'il est certainement en valeur la dispute.
J'ai écrit ce guide, basé sur ma procédure d'installation est destinée à être prolixe et, espérons-le, même pour les personnes n'ayant pas de connaissance préalable des programmes de construction dans l'environnement Windows. La plupart de ce guide est basé sur ces instructions mais j'ai dû changer certaines étapes dans l'ordre pour qu'il fonctionne sur mon système. Si il y a quelque chose que je fais cela peut ne pas être optimale ou qui ne fonctionne pas sur votre machine, s'il vous plaît, laissez-moi savoir et je vais essayer de modifier le présent guide en conséquence.
Ce sont les étapes (dans l'ordre) j'ai suivi lors de l'installation de Théano avec GPU activé sur mon Windows 8.1 machine:
CUDA Installation
CUDA peut être téléchargé à partir ici. Dans mon cas, j'ai choisi de 64 bits Portable version de mon Optimus de NVIDIA de l'ordinateur portable avec une Geforce 750m.
De vérifier que votre installation a été réussie par le lancement de
deviceQuery
en ligne de commande. Dans mon cas, cela a été situé dans le dossier suivant:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v6.5\bin\win64\Release
. En cas de succès, vous devriez voir PASSER à la fin de l'essai.Visual Studio 2010 Installation
J'ai installé via dreamspark. Si vous êtes étudiant, vous avez le droit pour une version gratuite. Si pas, vous pouvez toujours installer le Version Express qui devrait fonctionner tout aussi bien. Après l'installation est terminée, vous devriez être en mesure d'appeler Invite de Commande Visual Studio 2010 à partir du menu démarrer.
D'Installation De Python
Au moment de la rédaction, Théano sur GPU seulement permet de travailler avec 32-bit de flotteurs et est principalement construit pour la version 2.7 de Python. Théano a le plus besoin de la base scientifique des bibliothèques Python comme
scipy
etnumpy
. J'ai trouvé que la meilleure façon de les installer via WinPython. Il installe toutes les dépendances dans un dossier qui permet de facilement réinstaller si quelque chose va mal dans le processus d'installation et vous obtenez une certaine utile IDE des outils tels que ipython notebook et Spyder installé gratuitement. Pour la facilité d'utilisation, vous pouvez ajouter le chemin d'accès à votre python.exe et le chemin d'accès à votre dossier Scripts dans le les variables d'environnement.Git d'installation
Trouvé ici.
MinGW Installation
Fichier de configuration est ici. J'ai vérifié tous les d'installation de la base de fichiers pendant le processus d'installation. Cela est nécessaire si vous exécutez dans g++ erreur décrite ci-dessous.
Cygwin installation
Vous pouvez le trouver ici. En gros, j'ai utilisé cet utilitaire pour extraire seulement PyCUDA fichier tar qui est déjà prévu dans l'installation de base (si l'installation devrait être facile).
Python distutils fixer
Ouvrir
msvc9compiler.py
situé dans votre/lib/distutils/
répertoire de votre installation de Python. Ligne 641 dans mon cas, se lit comme suit:ld_args.append ('/IMPLIB:' + implib_file)
. Ajoutez le code suivant après cette ligne (même indentation):PyCUDA installation
Source pour PyCUDA est ici.
Suit:
Ouvrir cygwin et accédez à la PyCUDA dossier (c'est à dire
/cygdrive/c/etc/etc
) et de l'exécutertar -xzf pycuda-2012.1.tar.gz
.Ouvrir l'Invite de Commande Visual Studio 2010 et naviguez jusqu'au répertoire où l'archive a été extrait et exécuter
python configure.py
Ouvrir l' ./siteconf.py et modifier les valeurs de façon à ce qu'il lit (pour CUDA 6.5 par exemple):
Exécuter les commandes suivantes à l'VS2010 l'invite de commande:
Créer ce fichier python et vérifiez que vous obtenez un résultat:
Installer Théano
Ouvrir git bash shell et choisissez un dossier dans lequel vous voulez placer Théano fichiers d'installation et de l'exécuter:
Essayez d'ouvrir python dans VS2010 invite de commande et exécutez
import theano
Si vous obtenez un g++ erreur lié, ouvrez MinGW msys.chauve-souris dans mon cas, installées ici:
C:\MinGW\msys\1.0
et essayer de l'importer théano dans MinGW shell. Recommencez l'importation de théano de VS2010 Invite de Commande et il devrait fonctionner maintenant.De créer un fichier dans WordPad (PAS le bloc-notes!), nom il
.theanorc.txt
et le mettre dansC:\Users\Your_Name\
ou partout où votre dossier utilisateurs est situé:De créer un test de python script et l'exécuter:
Vérifier que vous avez obtenu
Used the gpu
à la fin et vous avez terminé!Si comme moi vous avez rencontrée "gcc.exe: erreur: /EHsc: Aucun fichier ou répertoire" lorsque vous essayez d'exécuter python setup.py construire. C'est parce que vous n'utilisez pas le bon compilateur. Vous pouvez le faire fonctionner avec python setup.py build --compilateur="msvc"
pourriez-vous s'il vous plaît partager le contenu de votre nvcc.de profil? merci
aussi pourriez-vous s'il vous plaît poster le contenu de votre C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\lib\Win32 et C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\lib\x64? Je vais avoir des problèmes en essayant d'obtenir théano le programme d'installation sur windows, c'est pourquoi je demande. E. g., Je n'ai pas de cublas.lib sous Win32, mais il est là sous x64. Est-il de même pour vous?
Je n'ai pas essayer d'installer ce sous x64 système et depuis, j'ai réinstallé mon système. Avez-vous réussi à le faire fonctionner? Sinon je peux essayer de l'installer une fois de plus et avoir un coup d'oeil pour vous.
OriginalL'auteur Matt
Voici mes étapes simples pour l'installation théano sur un
64-bit de windows 10 de la machine. Il est testé sur le code ci ici
(Toutes les installations sont avec chemin d'installation par défaut)
scipy, matlibplot, etc.)
le contenu de la .theanorc.txt fichier pour exécuter théano avec GPU
[global]
floatX = float32
device = gpu
[nvcc]
fastmath = True
compiler_bindir=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\cl.exe
[cuda]
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu:
j'ai posté le message d'erreur ici: groups.google.com/forum/#!topic/théano-utilisateurs/WkjeeDRvmXo) pourriez-vous m'aider?OriginalL'auteur tangkk
Voici un guide pour l'installation de théano avec CUDA sur une version 64 bits de Windows.
Il semble simple, mais je n'ai pas réellement testé pour vous assurer qu'il fonctionne.
http://pavel.surmenok.com/2014/05/31/installing-theano-with-gpu-on-windows-64-bit/
Je suis vraiment très curieux de savoir comment l'installation continue. S'il vous plaît laissez-moi savoir!
Ca a fonctionné sans problème?
Ce qui a fonctionné a été la réponse que j'ai posté. Je n'ai pas vérifié pendant un certain temps mais je ne suis pas sûr si la réponse est encore à jour.
OriginalL'auteur brentlance
Suivant le tuto de Matt, j'ai couru dans des problèmes avec nvcc.
J'ai besoin d'ajouter le chemin d'accès à VS2010 exécutables dans les nvcc.profil (vous pouvez le trouver dans le cuda bin):
"compiler-bindir = C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64"
OriginalL'auteur super-truite
Dans le cas où vous souhaitez mettre à niveau vers MS Visual Studio 2012 et CUDA 7 sur Windows 8.1 x64, découvrez ce tutoriel ici:
http://machinelearning.berlin/?p=383
Il devrait fonctionner aussi longtemps que vous vous en tenez à elle exactement.
Tous les meilleurs
Christian
OriginalL'auteur Christian Schröder de Witt
J'ai pu compiler le cu fichiers en ajoutant les dépendances nécessaires dans les nvcc profil qui se trouve dans “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin\nvcc.profil”
J'ai modifié l'include et lib chemin et il a commencé à travailler.
COMPREND += “-I$(en HAUT)/include” $(ESPACE) “-IC:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/include” $(ESPACE) “-IC:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include” $(ESPACE)
Les BIBLIOTHÈQUES =+ $(ESPACE) “/LIBPATH:$(en HAUT)/lib/$(_WIN_PLATFORM_)” $(ESPACE) “/LIBPATH:C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/lib/amd64” $(ESPACE) “/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64” $(ESPACE)
J'ai fait une documentation complète de l'installation, j'espère que ça aide https://planetanacreon.wordpress.com/2015/10/09/install-theano-on-windows-8-1-with-visual-studio-2013-cuda-7-5/
OriginalL'auteur Sunando
J'ai utilisé ce guide, et il a été très utile.
Ce que beaucoup de Windows Théano guides ne mentionnent en passant (ou pas du tout), c'est que vous aurez besoin de compiler théano de mingw shell, pas de votre IDE.
J'ai couru mingw-w64.chauve-souris, et à partir de là "python" et "importer théano". Seulement après que l'importation de pycharm œuvres.
En outre, les instructions officielles sur deeplearning.net sont mauvais parce qu'ils vous disent d'utiliser CUDA 5.5, mais il ne fonctionne pas avec les nouvelles cartes vidéo.
Les commentaires sont aussi très utiles. Si elle se plaint de manque crtdefs.h ou basetsd.h, de faire ce Sunando la réponse dit. Si, APRÈS cela, il se plaint encore que l'identificateur "Iunknown" n'est pas défini dans objbase.h, collez le texte suivant dans
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\objbase.h de fichier, à la ligne 236:
J'ai eu à faire cette dernière partie à la faire fonctionner avec la pointe d'installer (obligatoire pour les parties de Keras).
J'ai aussi écrit une liste de choses qui ont travaillé pour moi, ici:
http://acoupleofrobots.com/everything/?p=2238
C'est pour la version 64 bit.
OriginalL'auteur Ilya Raykhel