Tensorflow: Mise à niveau vers CuDNN 7 et CUDA 9

Créé le 5 août 2017  ·  170Commentaires  ·  Source: tensorflow/tensorflow

Informations système

  • Ai-je écrit du code personnalisé (par opposition à l'utilisation d'un exemple de script fourni dans TensorFlow) : Non
  • Plate-forme et distribution du système d'exploitation (par exemple, Linux Ubuntu 16.04) : Windows Server 2012
  • TensorFlow installé depuis (source ou binaire) : binaire
  • Version TensorFlow (utilisez la commande ci-dessous) : 1.3.0-rc1
  • Version Python : 3.5.2
  • Version Bazel (si compilation à partir des sources) : N/A
  • Version CUDA/cuDNN : CUDA V8.0.44, CuDNN 6.0
  • Modèle GPU et mémoire : Nvidia GeForce GTX 1080 Ti, 11 Go
  • Commande exacte à reproduire : N/A

Décris le problème

Veuillez mettre à niveau TensorFlow pour prendre en charge CUDA 9 et CuDNN 7. Nvidia affirme que cela augmentera les performances de 2 fois sur les GPU Pascal.

feature

Commentaire le plus utile

En parlant de méthodes à ajouter, la convolution de groupe de cudnn7 serait une caractéristique importante pour la communauté de vision.

Tous les 170 commentaires

@tfboyd avez-vous des commentaires à ce sujet ?

cuDNN 7 est toujours en mode aperçu et est en cours d'élaboration. Nous venons de passer à cuDNN 6.0 avec 1.3, qui devrait être finalisé dans quelques semaines. Vous pouvez télécharger cuDNN 1.3.0rc2 si cela vous intéresse. Je n'ai pas encore compilé avec cuDNN 7 ou CUDA 9. J'ai entendu dire que CUDA 9 n'est pas facile à installer sur toutes les plateformes et que seuls certains packages d'installation sont disponibles. Lorsque les bibliothèques seront définitives, nous commencerons l'évaluation finale. NVIDIA vient également de commencer à envoyer des correctifs aux principales plates-formes ML pour prendre en charge certains aspects de ces nouvelles bibliothèques et je soupçonne qu'il y aura du travail supplémentaire.

Edit : je voulais dire que CUDA 9 n'est pas facile à installer sur toutes les plateformes et j'ai plutôt dit cuDNN. J'ai également changé la certitude qu'il y aura du travail pour je soupçonne qu'il y aura du travail supplémentaire. Le reste de ma déclaration idiote, je l'ai laissé, par exemple, je n'avais pas réalisé que cuDNN 7 avait été mis en ligne hier.

Ne pas dire comment vous devriez lire le site Web. Mais le 2x plus rapide sur pascal semble faire partie de la version CUDA 8. Je suppose que cela dépend de la façon dont vous lisez le site. NVIDIA ne nous a pas mentionné que CUDA 9 allait accélérer Pascal de 2x (sur tout) et bien que tout soit possible, je ne m'attendrais pas à ce que cela se produise.

https://developer.nvidia.com/cuda-toolkit/whatsnew

Le site est un peu déroutant mais je pense que la section que vous citez est imbriquée sous le CUDA 8. Je ne mentionne cela que pour que vous n'ayez pas d'attentes irréalistes quant à leur sortie. Pour Volta, il devrait y avoir de grands gains d'après ce que je comprends et je pense (je ne suis pas sûr maintenant) que les gens obtiennent juste des échantillons d'ingénierie de Volta pour commencer un travail de haut niveau pour se préparer à la sortie complète.

@tfboyd cuDNN 7 n'est plus en mode aperçu depuis hier. Il a été officiellement publié pour CUDA 8.0 et CUDA 9.0 RC.

Ahh j'ai raté ça. Merci @sclarkson et désolé pour la mauvaise information.

Je vais certainement l'essayer car finalement gcc 6 est supporté par CUDA 9 et Ubuntu 17.04 est livré avec.

Si vous avez de la chance, faites-le savoir au fil. Personnellement, je commence tout juste à
tester complètement cuDNN 6 (En interne il a été beaucoup testé mais je n'ai pas été
l'utiliser personnellement). Je suis souvent lent à passer aux dernières nouveautés. Mon
Je suppose que vous ne verrez peut-être aucun changement réel avec cuDNN 7 jusqu'à ce que tout soit
patché pour utiliser les dernières API. Je tiens à souligner à nouveau que je me trompe tout
du temps. Ce que j'ai vu en tant qu'étranger, c'est que les nouvelles versions de cuDNN ajoutent
nouvelles méthodes/API. Certains sont intéressants et certains ne le sont pas immédiatement
utile. Ensuite, ces API sont exposées via l'API TensorFlow ou simplement utilisées
dans les coulisses pour accélérer les méthodes existantes. Mon très haut niveau
la compréhension est cuDNN 7 + CUDA 9 améliorera le support FP16 en mettant l'accent sur
Volta. Je pense que l'un des principaux objectifs est de savoir comment obtenir des modèles (beaucoup pas seulement
quelques-uns) pour converger avec FP16 sans avoir à deviner sans cesse le bon
config/hyperparameters à utiliser. Je tiens à souligner que c'est ainsi que je
compris la conversation et j'ai peut-être tort ou à moitié raison.

STRESS : S'il y a des méthodes que vous pensez devoir être ajoutées (ou
performances) à TensorFlow de cuDNN, nous sommes toujours intéressés par une liste.
En interne, cela s'est produit avec cuDNN 6 et nous nous sommes concentrés sur la mise en œuvre du
les équipes de fonctionnalités ont dit qu'elles voulaient que cela aide leurs projets.

Le samedi 5 août 2017 à 8h46, Courtial Florian [email protected]
a écrit:

Je vais certainement l'essayer car finalement gcc 6 est supporté par CUDA 9 et
Ubuntu 17.04 est livré avec.

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320450756 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZessKqj_nPY1br9SD9L9SX-8Kf5Dbtks5sVI5TgaJpZM4OuRL7
.

En parlant de méthodes à ajouter, la convolution de groupe de cudnn7 serait une caractéristique importante pour la communauté de vision.

Cool je vais l'ajouter à la liste que je commence. Je peux oublier mais n'hésitez pas
pour me rappeler de publier une sorte de liste où je peux fournir des conseils
sur ce qui est susceptible d'être travaillé. Ce ne peut pas être une promesse mais nous voulons
rétroaction afin que nous puissions prioriser ce que les gens veulent et ont besoin. Merci Yuxin.

Le samedi 5 août 2017 à 12h26, Yuxin Wu [email protected] a écrit :

En parlant de méthodes à ajouter, la convolution de groupe de cudnn7 serait un
caractéristique importante pour la communauté de vision.

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320465264 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZesv9udRRxy9WvsK2eUEZCj7LAGM8bks5sVMHVgaJpZM4OuRL7
.

Je viens d'essayer de compiler avec cuDNN 7 avec CUDA 8 et cela a échoué, ce que je type
d'attendu. Il y a un patch entrant de NVIDIA qui devrait aider la ligne
les choses en place. Juste un avertissement si quelqu'un essaie.

Le samedi 5 août 2017 à 13 h 47, Toby Boyd [email protected] a écrit :

Cool je vais l'ajouter à la liste que je commence. Je peux oublier mais n'hésitez pas
pour me rappeler de publier une sorte de liste où je peux fournir des conseils
sur ce qui est susceptible d'être travaillé. Ce ne peut pas être une promesse mais nous voulons
rétroaction afin que nous puissions prioriser ce que les gens veulent et ont besoin. Merci Yuxin.

Le samedi 5 août 2017 à 12h26, Yuxin Wu [email protected]
a écrit:

En parlant de méthodes à ajouter, la convolution de groupe de cudnn7 serait un
caractéristique importante pour la communauté de vision.

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320465264 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZesv9udRRxy9WvsK2eUEZCj7LAGM8bks5sVMHVgaJpZM4OuRL7
.

J'essaie d'obtenir cuDNN 7 avec CUDA 8/9 en cours d'exécution. CUDA 8 n'est pas pris en charge par la GTX 1080 Ti - du moins l'installateur le dit ^^

J'ai beaucoup de mal à le faire fonctionner ensemble. Je tiens à souligner cet excellent article qui résume ce que j'ai déjà essayé : https://nitishmutha.github.io/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html

Les exemples CUDA fonctionnent via Visual-Studio dans les deux combinaisons de configuration.
Voici la sortie du deviceQuery.exe qui a été compilé à l'aide de Visual-Studio :

PS C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64\Release> deviceQuery.exe
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0\bin\win64\Release\deviceQuery.exe Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 1080 Ti"
  CUDA Driver Version / Runtime Version          9.0 / 9.0
  CUDA Capability Major/Minor version number:    6.1
  Total amount of global memory:                 11264 MBytes (11811160064 bytes)
  (28) Multiprocessors, (128) CUDA Cores/MP:     3584 CUDA Cores
  GPU Max Clock rate:                            1683 MHz (1.68 GHz)
  Memory Clock rate:                             5505 Mhz
  Memory Bus Width:                              352-bit
  L2 Cache Size:                                 2883584 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
  Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  CUDA Device Driver Mode (TCC or WDDM):         WDDM (Windows Display Driver Model)
  Device supports Unified Addressing (UVA):      Yes
  Supports Cooperative Kernel Launch:            No
  Supports MultiDevice Co-op Kernel Launch:      No
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.0, CUDA Runtime Version = 9.0, NumDevs = 1, Device0 = GeForce GTX 1080 Ti
Result = PASS

@tfboyd avez-vous un lien confirmant la mise à jour cuDNN de Nvidea ?

@4F2E4A2E 1080 Ti prend définitivement en charge CUDA 8.0. C'est ce que j'utilise avec TensorFlow depuis plusieurs mois.

Salut à tous, j'ai donc gtx 1080 ti avec cuda 8.0. J'essaie d'installer tensorflow-gpu, dois-je choisir cuDNN 5.1, 6.0 ou 7.0 ?

Je suggère de rester avec 5.1 pour le moment. Je cours des perf plus profondes
tests sur 6 et obtenir des résultats mitigés qui nécessitent plus de tests pour comprendre.

Le 6 août 2017 à 21h30, "colmantse" [email protected] a écrit :

Salut à tous, j'ai donc gtx 1080 ti avec cuda 8.0. j'essaye d'installer
tensorflow-gpu, dois-je choisir cuDNN 5.1, 6.0 ou 7.0 ?

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320566071 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZeshvEFsdeWz-1uyzl_L6HE15E0BzSks5sVpLlgaJpZM4OuRL7
.

merci, j'ai essayé avec cudnn 6.0 mais cela ne fonctionne pas, je suppose à cause de mon installation factice tf-gpu. cudnn 5.1 fonctionne pour moi avec python 3.6

@tpankaj Merci ! Je l'ai fait fonctionner avec CUDA 8 et cuDNN 5.1

Voici l'ensemble complet des fonctionnalités de cuDNN 7 :

Principales fonctionnalités et améliorations
Cette version de cuDNN inclut les fonctionnalités et améliorations clés suivantes.
Noyaux tenseurs
La version 7.0.1 de cuDNN est la première à prendre en charge les opérations Tensor Core dans sa
la mise en oeuvre. Tensor Cores fournit une multiplication matricielle hautement optimisée
blocs de construction qui n'ont pas un comportement numérique équivalent dans le
instructions, par conséquent, son comportement numérique est légèrement différent.
cudnnSetConvolutionMathType, cudnnSetRNNMatrixMathType et
cudnnMathType_t
Le cudnnSetConvolutionMathType et le cudnnSetRNNMatrixMathType
les fonctions vous permettent de choisir d'utiliser ou non les opérations Tensor Core dans
les couches de convolution et RNN respectivement en définissant le mode mathématique sur soit
CUDNN_TENSOR_OP_MATH ou CUDNN_DEFAULT_MATH.
Les opérations Tensor Core effectuent une accumulation parallèle en virgule flottante de plusieurs
produits à virgule flottante.
La définition du mode mathématique sur CUDNN_TENSOR_OP_MATH indique que la bibliothèque utilisera
Opérations Tensor Core.
La valeur par défaut est CUDNN_DEFAULT_MATH. Cette valeur par défaut indique que le Tensor Core
les opérations seront évitées par la bibliothèque. Le mode par défaut est une opération sérialisée
alors que le Tensor Core est une opération parallélisée, par conséquent, les deux pourraient résulter
dans des résultats numériques légèrement différents en raison du séquençage différent des opérations.
La bibliothèque revient au mode mathématique par défaut lorsque les opérations Tensor Core sont
non pris en charge ou non autorisé.
cudnnSetConvolutionGroupCount
Une nouvelle interface qui permet aux applications d'effectuer des groupes de convolution dans le
couches de convolution dans un seul appel d'API.
cudnnCTCLoss
cudnnCTCLoss fournit une implémentation GPU du Connectionist Temporal
Fonction de perte de classification (CTC) pour les RNN. La fonction de perte CTC est utilisée pour
reconnaissance de phonèmes dans la reconnaissance de la parole et de l'écriture manuscrite.
CUDNN_BATCHNORM_SPATIAL_PERSISTENT
La fonction CUDNN_BATCHNORM_SPATIAL_PERSISTENT est un nouveau lot
mode de normalisation pour cudnnBatchNormalizationForwardTraining
et cudnnBatchNormalizationBackward. Ce mode est similaire à
CUDNN_BATCHNORM_SPATIAL, cependant, il peut être plus rapide pour certaines tâches.
cudnnQueryRuntimeError
La fonction cudnnQueryRuntimeError signale les codes d'erreur écrits par le GPU
noyaux lors de l'exécution de cudnnBatchNormalizationForwardTraining
et cudnnBatchNormalizationBackward avec le
Mode CUDNN_BATCHNORM_SPATIAL_PERSISTENT.
cudnnGetConvolutionForwardAlgorithm_v7
Cette nouvelle API renvoie tous les algorithmes triés par performances attendues
(à l'aide d'heuristiques internes). Ces algorithmes sont sortis de la même manière que
cudnnFindConvolutionForwardAlgorithm.
cudnnGetConvolutionBackwardDataAlgorithm_v7
Cette nouvelle API renvoie tous les algorithmes triés par performances attendues
(à l'aide d'heuristiques internes). Ces algorithmes sont sortis de la même manière que
cudnnFindConvolutionBackwardAlgorithm.
cudnnGetConvolutionBackwardFilterAlgorithm_v7
Cette nouvelle API renvoie tous les algorithmes triés par performances attendues
(à l'aide d'heuristiques internes). Ces algorithmes sont sortis de la même manière que
cudnnFindConvolutionBackwardFilterAlgorithm.
CUDNN_REDUCE_TENSOR_MUL_NO_ZEROS
La fonction MUL_NO_ZEROS est une réduction par multiplication qui ignore les zéros dans le
Les données.
CUDNN_OP_TENSOR_NOT
La fonction OP_TENSOR_NOT est une opération unaire qui prend le négatif de
(alpha*A).
cudnnGetDropoutDescriptor
La fonction cudnnGetDropoutDescriptor permet aux applications d'être abandonnées
valeurs.

Très bien, je pense commencer un nouveau numéro qui est plus un "blog" de CUDA 9 RC + cuDNN 7.0. J'ai une version de TF "dans ma main" qui est patchée mais qui est CUDA 9RC et cuDNN 7.0 et je veux voir si quelqu'un est intéressé à l'essayer. Je dois également m'assurer qu'il n'y a pas de raison étrange pour laquelle je ne peux pas le partager. Des modifications doivent être apportées à certaines bibliothèques en amont utilisées par TensorFlow, mais vous commencerez à voir des PR provenant de NVIDIA dans un proche avenir. L'équipe et moi avons pu tester CUDA 8 + cuDNN 6 sur Volta puis CUDA 9RC + cuDNN 7 sur Volta (V100) avec le code FP32. Je ne fais que des builds Linux et Python 2.7, mais si vous êtes tous intéressés, j'aimerais essayer d'impliquer davantage la communauté que nous ne l'avons fait avec cuDNN 6.0. Ce n'est peut-être pas très amusant, mais je veux offrir et essayer de faire en sorte que cela donne l'impression que nous sommes ensemble plutôt que de recevoir des informations. Je souhaite également toujours établir des listes des fonctionnalités sur lesquelles nous travaillons mais qui ne sont pas prometteuses pour cuDNN 7 (et 6.0). @cancan101 merci pour la liste complète.

@tfboyd : Je serais reconnaissant pour des descriptions sur l'utilisation de CUDA 9.0RC+cuDNN 7.0. J'utilise moi-même un système étrange (ubuntu 17.10 beta avec TF1.3, CUDA 8.0 et cuDNN 6.0 gcc-4.8), et la mise à niveau vers cuda 9 et cudnn 7 serait en fait une bonne chose pour le compilateur.

Je vais voir ce que je peux faire pour obtenir ce dont vous avez besoin pour vous construire et un
binaire. Le chef de l'équipe de performance a indiqué que je peux essayer de faire en sorte que cela se produise
afin que nous puissions être plus transparents et j'espère avoir plus de plaisir en tant que communauté.
Vous obtenir le patch et comment le construire n'est pas super difficile mais c'est un peu
Plus fort. Ce sera aussi très informel car je n'ai pas le temps de gérer un
branche et le patch pourrait pourrir (ne pas appliquer proprement) très rapidement. Les
patch a été utilisé pour s'assurer que toutes les personnes impliquées étaient d'accord avec les changements dans
général et je m'attends à ce que les PR individuels commencent à arriver.

Le ven 11 août 2017 à 5h22, Erlend Aune [email protected]
a écrit:

@tfboyd https://github.com/tfboyd : je serais reconnaissant pour les descriptions
en faisant CUDA 9.0RC + cuDNN 7.0. J'utilise moi-même un système étrange (ubuntu
17.10 bêta avec TF1.3, CUDA 8.0 et cuDNN 6.0 gcc-4.8), et mise à niveau vers
cuda 9 et cudnn 7 seraient en fait de bons compilateurs.

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-321798364 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZesj4WRkFKNX-Nt2oKtvp0oyQVBtM5ks5sXEdqgaJpZM4OuRL7
.

@tfboyd : Je suis intéressé, comment allez-vous le partager ? Une branche?

@tfboyd Je serais certainement très intéressé aussi. Merci!

J'essaie de comprendre cette semaine. La logistique est souvent plus difficile que moi
pense.

Le 12 août 2017 à 10h18, "Tanmay Bakshi" [email protected] a écrit :

@tfboyd https://github.com/tfboyd Je serais certainement très intéressé car
bien. Merci!

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-321994065 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZesjO42Rl1WCyW0KR22KgbydKh1O4Zks5sXd6AgaJpZM4OuRL7
.

Des instructions et un binaire pour jouer avec si vous aimez Python 2.7. Je vais fermer ceci car je mettrai à jour le problème que je crée pour suivre l'effort. @tanmayb123 @Froskekongen

https://github.com/tensorflow/tensorflow/issues/12474

Je viens d'essayer d'installer tensorflow-gpu-1.3.0 pré-compilé pour Python 3.6 sur Windows x64 et j'ai fourni la bibliothèque cuDNN version 7.0 avec Cuda 8.0 et au moins pour moi, tout semble fonctionner. Je ne vois aucune exception ni aucun problème.
Doit on s'y attendre? CuDNN 7.0 est-il rétrocompatible avec cuDNN 6.0 ? Cela peut-il entraîner des problèmes?

@apacha, je suis un peu surpris que cela ait fonctionné. J'ai déjà vu l'erreur dans mes tests où le binaire TensorFlow ne peut pas trouver cuDNN car il le recherche par son nom et les fichiers *.so incluent 6.0/7.0 dans les noms. À distance possible, vous avez toujours cuDNN 6 sur votre chemin. Je n'aime pas faire des suppositions sur votre configuration, mais si je faisais un pari, je dirais qu'il utilise toujours cuDNN 6.

En ce qui concerne la compatibilité descendante moins TensorFlow étant compilé pour rechercher une version spécifique. Je ne sais pas.

Enfin, ce n'est pas grave. Les PRs cuDNN 7 sont presque approuvés/fusionnés et le binaire pré-compilé passera probablement à cuDNN 7 à partir de la 1.5.

MISE À JOUR sur les progrès vers CUDA 9RC et cuDNN 7

  • Les PR de NVIDIA sont presque approuvés
  • Le changement EIGEN a été approuvé et fusionné
  • Les tests FP16 ont commencé sérieusement sur le V100 (Volta)

@tfboyd juste par souci d'exhaustivité: j'utilisais auparavant cuDNN 5 et comme je devais mettre à jour pour tensorflow 1.3, je sautais simplement vers la version 7 de cuDNN pour essayer. J'ai explicitement supprimé cudnn64_5.dll et il n'y a pas de cudnn64_6.dll dans mon chemin d'installation CUDA. C'est peut-être la magie de Windows. :-P

Cependant, notez une chose : j'utilise toujours CUDA 8.0, pas 9.0.

@apacha Cela pourrait être la magie de Windows. Je ne voulais pas porter de jugement car je n'en avais aucune idée. Je pense que la magie de Windows est possible car les appels cuDNN n'auraient pas dû changer et donc la compatibilité descendante semble probable. Pour les versions Linux, TensorFlow recherche des fichiers spécifiques (ou c'est ce à quoi il ressemble lorsque j'obtiens des erreurs) et est très mécontent s'il ne trouve pas cudnnblahblah.6.so. Merci pour la mise à jour et les détails.

Y a-t-il une branche/étiquette que nous puissions extraire et essayer ?
J'ai commencé une toute nouvelle installation, Ubuntu 17... puis le nouveau gcc impose CUDA 9, je vois que CuDNN qui correspond est 7... vous voyez où je veux en venir.
Je peux à coup sûr pirater ma configuration à de nombreux endroits (et la recommencer à zéro avec Ubuntu 16) juste je suis si proche, le correctif est dit être proche... pourquoi faire un grand saut dans le passé si je peux faire un petit saut dans le futur !

Les PR sont presque approuvés. Ils sont en révision. J'en soupçonne quelques autres
semaines au maximum, mais ces examens peuvent prendre du temps. Je pense que ce sont tous
eux. Il pourrait y avoir un retardataire ou un changement pour obtenir le changement EIGEN pour
CUDA 9. Je ne les ai pas préparés personnellement. Ils se rapprochent chaque jour.

https://github.com/tensorflow/tensorflow/pull/12504
https://github.com/tensorflow/tensorflow/pull/12503
https://github.com/tensorflow/tensorflow/pull/12502

Le mar. 12 sept. 2017 à 19h49, Remi Morin [email protected]
a écrit:

Y a-t-il une branche/étiquette que nous puissions extraire et essayer ?
Commencé une toute nouvelle installation, Ubuntu 17... puis le nouveau gcc impose CUDA 9,
Je vois que CuDNN qui correspond a 7 ans... vous voyez où je veux en venir.
Je peux à coup sûr pirater ma configuration à de nombreux endroits (et la démarrer à partir de zéro
encore avec Ubuntu 16) juste je suis si proche, le correctif est dit être proche... pourquoi
faire un grand saut dans le passé si je peux faire un petit saut dans le futur !

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-329041739 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZesrpX6TSN6fVESEsql3QNtjgo-LM9ks5sh0KqgaJpZM4OuRL7
.

@tfboyd Est-ce toujours un problème ? J'ai réalisé que cuda 9.0 est sorti aujourd'hui.

cuda 9.0 est sorti, je ne trouve pas le fichier d'installation de cuda 8.0....
Veuillez mettre à niveau tensorflow...

cuda 9.0 est sorti, je ne trouve pas le fichier d'installation de cuda 8.0....

@zjjott https://developer.nvidia.com/cuda-toolkit-archive

@thomasjo merci!

Donc, après que @tfboyd a approuvé les PR qu'il a mentionnés, tensorflow 1.3 sera-t-il désormais compatible avec CUDA 9 et cuDNN 7 ? Quelqu'un a-t-il réussi à l'installer quelque part ?

@voxmenthe Je viens d'essayer d'installer tf1.3 avec CUDA 9.0 et cuDNN7. J'ai eu l'erreur liée à ce problème #12489

EDIT : En gros, je ne sais pas comment. Mais en passant à la branche master (qui au début ne s'installait pas pour moi) sans autre changement, j'ai pu l'installer. Bien que, maintenant, lorsque j'essaie d'importer tensorflow, il me dit qu'il manque un module de plate-forme.

Une indication de la proximité des PR associés pour entrer? J'ai installé cuDNN 7 puis j'ai réalisé que cela causait des problèmes - je peux rétrograder à la v6 mais j'ai pensé que je pourrais attendre si c'était sur le point d'être résolu...

Les PR semblent être approuvés. Je n'ai pas lancé le build moi-même depuis quelques jours. Gardez à l'esprit que 1.3 n'aurait pas ces changements comme c'était il y a quelque temps. 1.4 aurait les changements. J'espère que cette semaine, je pourrai télécharger les dernières versions et faire une nouvelle version. Je soupçonne que quelqu'un le fera bien avant que j'aie le temps.

Y a-t-il une chance que l'un de vous, les gens intelligents, fasse un tutoriel pour tf 1.3 ou 1.4 avec CUDA v9.0, cudnn 7.0 pour Win 10 x64 ? J'ai essayé d'installer (Anaconda) mais je continue à recevoir l'erreur '_pywrap_tensorflow_internal' et j'ai déjà vérifié que msvcp140.dll est ajouté à mon chemin.

@devilsnare007 : Je suppose que les meilleures chances sont de suivre https://github.com/philferriere/dlwin. Remplacez simplement les versions répertoriées par les versions actuelles. A noter que TF 1.4 n'est même pas sorti. Mais TF 1.3 devrait fonctionner correctement avec les instructions fournies. Une fois que tout a été mis à niveau et que TF 1.4 est sorti, nous mettrons à jour ce tutoriel.

CuDNN 7.0 sera-t-il pris en charge lors de la sortie de TF 1.4 ?

@soloice
En tête (il y a quelques jours), j'ai pu compiler CUDA 9 (version finale) avec cuDNN 7.0 sans modifications particulières et exécuter quelques tests tf_cnn_benchmarks.py sur une GTX 1080. Tout semble bien. TF 1.4 qui devrait RC cette semaine aura les binaires CUDA 8 et cuDNN 6 mais compilera également très bien avec CUDA 9 et cuDNN 7. L'objectif est que TF 1.5 ait CUDA 9 et cuDNN 7 dans le binaire. Cela donne aux utilisateurs le temps de mettre à niveau leurs bibliothèques système et plus de temps pour les tests. Si vous utilisez Voltas, n'hésitez pas à démarrer un autre fil et je le mettrai à jour pour qu'il progresse sur FP16 en temps réel.

@tfboyd C'est bien d'entendre que TF 1.4 compile avec cuDNN 7 ! Si à un moment donné vous vous sentez prêt à créer un guide d'installation, ce serait un grand service public pour la communauté DL.

Pas de problème, cela devrait être assez facile et je suis heureux d'essayer de remplir cela
écart.

Le lundi 9 octobre 2017 à 9h42, Jeff [email protected] a écrit :

@tfboyd https://github.com/tfboyd Super d'entendre que TF 1.4 compile
avec cuDNN 7 ! Si à un moment donné vous vous sentez prêt à créer un guide d'installation, il
serait un grand service public pour la communauté DL.

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-335212652 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZesp7d2aT8gsGOWb6YjHH_CnpKXUIPks5sqkztgaJpZM4OuRL7
.

Existe-t-il une possibilité d'avoir un whl qui fonctionne avec CUDA 9 et cuDNN 7.0 ?

Merci!

Je publierai le mien (qui ne sera probablement pas 1.4 mais un match proche
et j'inclus le hachage dans le nom) lorsque je le construis pour le tester, mais il le fera
être ubuntu 16.04 (j'ai oublié quelle version de gcc), linux, python 2.7 juste pour info.
Et je ne suis pas vraiment supposé partager ces versions car cela peut être
déroutant pour les gens et je vais insister pour tout ce que vous savez, j'ai inclus certains
porte dérobée folle. Bien que l'ajout de code secret semble être trop de travail
tome.

Je pense que les builds nightly-gpu sont presque live en pip (je suis presque sûr qu'ils
se sont toujours produits, il suffisait de les trouver) ce qui signifie qu'après 1.4 le
les builds nocturnes passeront très rapidement à CUDA 9 + cuDNN 7.

Le lundi 9 octobre 2017 à 11h41, alexirae [email protected] a écrit :

Existe-t-il une possibilité d'avoir un whl qui fonctionne avec CUDA 9 et cuDNN 7.0 ?

Merci!

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-335249979 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZeskJ5LXJwFcRpm-sKZ9QORoltrHOEks5sqmj1gaJpZM4OuRL7
.

@tfboyd Merci pour votre réponse. Enfin, j'ai réussi à créer le dernier TF à partir de sources avec le support CUDA 8 + cuDNN 7 sur Ubuntu 16.04 et tout fonctionne bien sur GTX 1080 Ti.

@tfboyd 14.rc TF prend-il en charge CuDNN 7 et CUDA 9 ?

Il est inclus si vous construisez à partir des sources. Je veux changer la valeur par défaut
binaires qui m'obligent à exécuter des tests de régression sur les K80 sur AWS pour
assurez-vous que tout a l'air bien et que les builds sont créés. Nous
a immédiatement eu un problème car le pilote NVIDIA avait besoin de performances réduites
sur Kokoro exécuté dans Google Cloud de 30 %. Rien n'est tout droit
avant, mais CUDA 9 et cuDNN 7 sont en source 1.4 et ont comme prévu dans
tests très limités sur Pascal pour moi.

Le jeu. 12 octobre 2017 à 02h40, Konstantin [email protected]
a écrit:

@tfboyd https://github.com/tfboyd 14.rc TF prend-il en charge CuDNN 7 et
CUDA 9 ?

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-336075883 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZesq03dvnXWd0GLXODBTNCWExlZGPnks5srd6pgaJpZM4OuRL7
.

Existe-t-il une possibilité d'avoir un whl qui fonctionne avec CUDA 9, cuDNN 7.0 et python 3.5 ?

Une fois TF 1.4 finalisé, les builds nocturnes passeront à CUDA 9 +
cuDNN 7 en supposant qu'il n'y a pas de problèmes. Les constructions que j'ai faites et que je partage pour le plaisir sont
toujours python 2.7 car c'est la valeur par défaut sur mes systèmes de test.

Le lundi 16 octobre 2017 à 6h59, Diego Stalder [email protected]
a écrit:

Existe-t-il une possibilité d'avoir un whl qui fonctionne avec CUDA 9, cuDNN 7.0 et
python 3.5 ?

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-336894073 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZesqgclWqET4OufQHV3FAD4XxgnZiKks5ss2E6gaJpZM4OuRL7
.

Une date de sortie prévue ?

Tous ceux qui rongent le pied, construisez simplement #master à partir des sources. Ce n'est pas trop difficile (cela prend juste du temps), vous obtenez les dernières optimisations CUDA/cuDNN, _et_ supplémentaires sur une installation pip/whl (par exemple, voir les optimisations CPU dans ce tut ). De plus, lors de la prochaine mise à niveau de CUDA/cuDNN, vous pourrez recréer sans attendre.

construit à partir des sources, TF1.4 fonctionne avec cuda 9.0, cuDNN v7.0.3 et python3.5

Puis-je créer à partir des sources sur la plate-forme win10 ?
Aimerait que TF fonctionne sur cuda 9.0, cuDNN v7, python3. 6 , et gagne 10

Construit à partir des sources, TF1.4 fonctionne également avec cuda 9.0, cuDNN v7.0.3 et python2.7.

@affromero Avez-vous eu des problèmes avec jsoncpp par hasard ?

J'ai fait un test de tf_cnn_benchmarks sur la construction AWS à partir de la branche TF 1.4RC0 avec CUDA 9 / cuDNN 7 et les résultats étaient égaux ou légèrement plus rapides que CUDA 8 + cuDNN 6.

Edit: supprimer la mention que je n'abordais pas le commentaire des elipters. :-)

@elipters

Quand nous disons construction, nous entendons la construction à partir de la source et non l'installation d'un fichier wheel. Une roue est déjà compilée et les binaires 1.4 prennent en charge CUDA 8 + cuDNN 6. Pour obtenir CUDA 9, vous devrez compiler à partir des sources. Je n'ai jamais fait la construction de Windows. Une fois la version 1.4 expédiée, l'équipe passera les versions nocturnes à CUDA 9.

Il existe la 2e version candidate (rc1) pour la sortie 1.4 en tant que roue précompilée ( https://pypi.python.org/pypi/tensorflow ). Quelqu'un a-t-il déjà testé cela avec CUDA 9 ?

Essayé, mais pas avec cuda 9.0 qui fonctionne.

Je vais réessayer.

1.4 est CUDA 8 + cuDNN 6 cela ne fonctionnera pas avec CUDA 9, vous devrez compiler à partir des sources
une fois la version 1.4 publiée, nous travaillerons pour basculer les versions nocturnes vers CUDA 9, puis la 1.5 sera très probablement CUDA 9.

Je sais que CUDA 9 fonctionne bien lors de la création de 1.4 à partir des sources (ubuntu 16.04/python 2) parce que je faisais des benchmarks sur AWS le week-end dernier.

J'ai une recette récente sur la construction à partir des sources ici (veuillez y poster un lien vers votre roue CUDA 9.0 une fois que vous l'aurez construite)

Tu es le meilleur Yaroslav.

Le mer. 25 octobre 2017 à 8h11, Yaroslav Bulatov [email protected]
a écrit:

J'ai une recette récente sur la construction à partir de la source ici
https://github.com/yaroslavvb/tensorflow-community-wheels (veuillez poster
un lien vers votre roue CUDA 9.0 une fois que vous l'avez construite)

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-339361959 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AWZesmRwb0UmLWxzANWCq5RrT6teYtr5ks5sv0-IgaJpZM4OuRL7
.

bonjour, j'essaie de créer tensorflow gpu par win10 env, puis j'ai également rencontré ce problème, quelqu'un peut-il m'aider, merci d'abord.
mon environnement:
win10 + gtx 1080ti + cuda 9.0 + cuDNN 7 + visual studio profession 2015 + cmake 3.6.3 + python 3.5.4

quand je passe à tensorflow r1.4 et construit par cmake dans l'environnement win10

`CUSTOMBUILD : Erreur interne : l'assertion a échoué à : "C:/dvs/p4/build/sw/rel/gpu_drv/r384/r384_00/drivers/compiler/edg/EDG_4.12/src/lookup.c", ligne 2652 [ C:\TF\tensorflow\tensorflow\contrib\cmake\build\tf_core_gpu_kernels.vcxproj]

1 erreur catastrophique détectée dans la compilation de "C:/Users/ADMINI~1/AppData/Local/Temp/tmpxft_00000c94_00000000-8_adjust_contrast_op_gpu.cu.cpp4.ii".

Compilation interrompue.

ajuster_contraste_op_gpu.cu.cc

CUSTOMBUILD : erreur nvcc : 'cudafe++' est mort avec le statut 0xC0000409 [C:\TF\tensorflow\tensorflow\contrib\cmake\build\tf_core_gpu_kernels.vcxproj]

Erreur CMake à tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj.Release. cmake:267 (message):
Erreur lors de la génération du fichier
C:/TF/tensorflow/tensorflow/contrib/cmake/build/CMakeFiles/tf_core_gpu_kernels.dir/__/__/core/kernels/Release/tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj`
image

le problème ci-dessus ressemble à cuda compolie lui-même problème, mais quand je passe de la version tensorflow à r1.3, un autre problème se pose

`c:\tftest\tensorflow\tensorflow\contrib\cmake\build\external\eigen_archive\eigen\src/Core/util/Macros.h(416) : erreur fatale C1017 :
无效的整数常量表达式 [C:\TFtest\tensorflow\tensorflow\contrib\cmake\build\tf_core_gpu_kernels.vcxproj]

Erreur CMake à tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj.Release. cmake:267 (message):
Erreur lors de la génération du fichier
C:/TF/test/tensorflow/tensorflow/contrib/cmake/build/CMakeFiles/tf_core_gpu_kernels.dir/__/__/core/kernels/Release/tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj`
image

il semble que le fichier Adjust_contrast_op_gpu.cu.cc ait un problème, mais je ne trouve aucune erreur.

les problèmes ci-dessus me dérangent quelques jours, je souhaite que quelqu'un m'aide à faire cet essai et à réussir, et attendez-vous à ce que google upgrade tensorflow supporte cuda 9.0 et cudnn 7 dans l'environnement win10.

Quelqu'un a-t-il publié un whl pour TensorFlow avec CUDA 9 et cuDNN 7.0 ?

@vellamike Je sais que votre question est générale, mais l'équipe TF aura CUDA 9 dans les binaires avec 1.5 qui devrait atterrir au quatrième trimestre. Pour l'instant, vous devez construire à partir des sources.

J'essaie de construire 1.4 avec CUDA 9 et cuDNN 7 dans mac 10.13 high sierra. je reçois toujours cette erreur

ERROR: /Users/smitshilu/tensorflow/tensorflow/core/kernels/BUILD:2948:1: output 'tensorflow/core/kernels/_objs/depthwise_conv_op_gpu/tensorflow/core/kernels/depthwise_conv_op_gpu.cu.pic.o' was not created.
ERROR: /Users/smitshilu/tensorflow/tensorflow/core/kernels/BUILD:2948:1: not all outputs were created or valid.
Target //tensorflow/tools/pip_package:build_pip_package failed to build

Une solution pour cela ?

Pourquoi 1.4 n'a toujours pas CUDA 9 dans les binaires ? Cette version a été publiée il y a longtemps et pour une utilisation avec V100, la construction à partir de la source est requise, ce qui n'est pas si fluide et rapide à la suite d'un certain nombre de problèmes signalés.

@ViktorM Quels problèmes avez-vous rencontrés lors de la compilation à partir des sources ? C'était un peu délicat mais pas si difficile.

Le 26-SEP-2017 était l'AG pour CUDA 9. Si nous publions les binaires CUDA 9 + cuDNN 7 au quatrième trimestre, je pense que ce sera le plus rapide que nous ayons mis à niveau cuDNN. Je n'étais pas là pour 8,5 à 9 donc je n'en ai aucune idée. J'aimerais que nous allions un peu plus vite, mais cela signifie également que toute personne ayant une configuration CUDA 8 doit mettre à niveau non seulement vers CUDA 9, mais elle doit également mettre à niveau son pilote de périphérique vers 384.x, ce qui, je peux le dire, n'est pas quelque chose pour les gens de la production. prendre à la légère.

Idéalement, nous aurions des builds infinis (ou juste quelques-uns de plus mais la matrice explose rapidement), mais c'est un autre problème qui prendrait beaucoup de temps à expliquer et je doute que beaucoup de gens s'en soucient.

BTW, j'ai observé 85 T ops/seconde avec CUDA 9 sur float16 matmul/V100 en utilisant le conteneur NGC TensorFlow de Nvidia (contre 8,8 T ops/s sur ma GTX 1080 à la maison). J'ai vraiment hâte d'avoir ces améliorations dans la version officiellement prise en charge !

@yaroslavvb Pour être très honnête, nous travaillons sur certains problèmes du FP16. Il existe un chemin dans tf_cnn_benchmarks pour FP16 et l'accent est d'abord mis sur ResNet50 et nous travaillons également sur la mise à l'échelle automatique pour FP16. Vous pouvez essayer si cela vous intéresse, mais nous travaillons activement à résoudre certains problèmes. Les gens sont dessus et cela prend juste du temps. Nous avons enfin des DGX-1 en interne afin que nous puissions également jouer avec les mêmes conteneurs et essayer de suivre les performances sur cette plate-forme exacte à l'avenir.

Ok, je vais donc installer Ubuntu 17.10 et je voulais juste essayer toutes les dernières nouveautés pour m'amuser.
Avant de le faire, je voulais juste savoir si quelqu'un avait essayé la construction des piles ci-dessous à partir de la source et avait eu de la chance?

-> Ubuntu 17.10, CUDA 9.0, cuDNN 7.0, maître TF
-> Ubuntu 17.10, CUDA 8.0, cnDNN 6.1, TF 1.4

Je rencontre le même problème que @xsr-ai, en particulier en utilisant Python 3.6.3, VS 2017, CUDA 9, cuDNN 7.

@aluo-x Vous voulez dire que vous avez essayé sur Windows 10 ? En supposant que vous ayez dit VS 2017.

Oui c'est correct. Voici l'erreur spécifique :

CustomBuild:
  Building NVCC (Device) object CMakeFiles/tf_core_gpu_kernels.dir/__/__/core/kernels/Release/tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj
  CMake Error at tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj.Release.cmake:222 (message):
    Error generating
    C:/optimae/tensorflow-1.4.0/tensorflow/contrib/cmake/build/CMakeFiles/tf_core_gpu_kernels.dir/__/__/core/kernels/Release/tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj


C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 1. [C:\optimae\tensorflow-1.4.0\
tensorflow\contrib\cmake\build\tf_core_gpu_kernels.vcxproj]

@aluo-x Avez-vous utilisé le dernier c-make ? c'est-à-dire Release Candidate ou version stable ?

Utilisation de cmake 3.9.5, swig 3.0.12, CUDA 9.0.176, cuDNN 7.0.3. VS 2017 19.11.25547.

@aluo-x Même moi, je n'ai pas eu beaucoup de chance avec c-make. Mais pouvez-vous essayer de construire avec Bazel ?

@smitshilu Si je ne me trompe pas, vous obtenez une erreur concernant l'alignement, n'est-ce pas ? Similaire à celui décrit ici pour pytorch : https://github.com/pytorch/pytorch/issues/2692

J'ai essayé d'appliquer la même solution, c'est-à-dire de supprimer tous les ___align__(sizeof(T))_ des fichiers problématiques :
_tensorflow/core/kernels/concat_lib_gpu_impl.cu.cc_
_tensorflow/core/kernels/depthwise_conv_op_gpu.cu.cc_
_tensorflow/core/kernels/split_lib_gpu.cu.cc_

Je ne sais pas si cela cause des problèmes, mais cela semble bien fonctionner jusqu'à présent. Et d'après ce que j'ai compris, le runtime utilisera toujours un alignement fixe de 16 pour la mémoire partagée.

Pour les personnes intéressées, nous avons téléchargé les roues CUDA 9. Pas besoin de se construire ! https://github.com/mind/wheels/releases/tag/tf1.4-gpu-cuda9

Ubuntu 17.10, CUDA 9, CuDNN 7, Python 3.6, bazel 0.7.0 + TF de la source (maître).

Suivez les instructions comme dans cette réponse pour que CUDA soit opérationnel :
https://askubuntu.com/questions/967332/how-can-i-install-cuda-9-on-ubuntu-17-10

Notez que vous voudrez peut-être utiliser ces commandes à la place pour la version 64 bits :

sudo ln -s /usr/bin/gcc-6 /usr/local/cuda-9.0/bin/gcc 
sudo ln -s /usr/bin/g++-6 /usr/local/cuda-9.0/bin/g++ 
sudo ./cuda_9.0.176_384.81_linux-run --override

Pour installer Tensorflow, vous aurez besoin

  1. Avant de compiler TF : configurez correctement les variables de chemin (les chemins de la page NVIDIA ne fonctionnaient pas pour moi):
export PATH=/usr/local/cuda-9.0/bin:${PATH}
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-9.0/lib64
  1. Avant la compilation : configurez bazel pour utiliser la même version de gcc que lors de l'installation de CUDA :
sudo update-alternatives --remove-all g++
sudo update-alternatives --remove-all gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 10
  1. Tout en suivant les instructions de TF une fois que vous arrivez à l'étape de construction de bazel, notez que vous aurez besoin d'un indicateur supplémentaire pour compiler avec une version de gcc supérieure à 4.* :
    bazel build --config=opt --config=cuda --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" //tensorflow/tools/pip_package:build_pip_package

@alexbrad J'ai rencontré le même problème de création de GPU Mac avec CUDA 9, cuDNN 7. Cette solution a également fonctionné pour moi et je n'ai rencontré aucun problème avec TF jusqu'à présent.
Changements de source et roue : https://github.com/nathanielatom/tensorflow/releases/tag/v1.4.0-mac

Ubuntu 16.04, TensorFlow 1.4 avec CUDA 9.0 et cuDNN 7.0.3 déjà installés et testés :

Installer Tensorflow 1.4 à partir de la source

cd ~/Downloads
git clone https://github.com/tensorflow/tensorflow
cd tensorflow
git checkout r1.4
  • Configurer pour la version CUDA : 9.0
  • Configurer pour la version cuDNN : 7.0.3
  • Obtenez votre capacité de calcul à partir de https://developer.nvidia.com/cuda-gpus
  • Je l'ai mis à 6.1 car j'ai une GeForce GTX 1070
  • Configurer d'autres options selon les besoins

./configure

Installation de Bazel

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update && sudo apt-get install oracle-java8-installer
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install bazel
sudo /sbin/ldconfig -v

Bâtiment TensorFlow

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

Le nom du fichier de roue tensorflow ci-dessus peut être différent
Seulement ls /tmp/tensorflow_pkg pour vérifier

Étapes d'installation pour Mac 10.13, CUDA 9 et tensorflow 1.4 https://gist.github.com/smitshilu/53cf9ff0fd6cdb64cca69a7e2827ed0f

Quelqu'un peut-il me dire comment puis-je créer un package tensorflow whl à partir de sources pour Windows sous Linux (Ubuntu 16.04) avec bazel? C'était possible pour la version 1.2 si j'ai raison. Merci.

@ValeryPiashchynski vous pouvez suivre ces étapes https://www.tensorflow.org/install/install_sources

@smitshilu Merci pour votre réponse. Je peux créer un package de roue dans Ubuntu en suivant ces étapes et tout fonctionne bien dans Ubuntu. Mais je ne peux pas installer ce package whl dans le système d'exploitation Windows (il y a une erreur: la roue n'est pas prise en charge). Ma question est donc de savoir comment puis-je créer un package dans Ubuntu que je peux ensuite installer sous Windows ?

~ @ValeryPiashchynski Je ne pense pas que ce soit possible.~

(le retirer comme les commentaires ci-dessous suggèrent le contraire)

La construction croisée sur Ubuntu pour Windows devrait être possible un jour grâce à clang. Cela nécessitera probablement de nombreux correctifs, car les binaires Windows sont actuellement construits avec MSVC. J'ai posé essentiellement la même question en parlant en personne à @gunan lundi dernier. Cela devrait-il être divisé en un problème de GH à part entière, car il n'a pas grand-chose à voir directement avec CUDA ?

La compilation croisée est possible avec bazel mais je ne sais pas comment le faire sur tensorflow. Pour référence
https://github.com/bazelbuild/bazel/wiki/Building-with-a-custom-toolchain
https://github.com/bazelbuild/bazel/issues/1353

Est-ce que quelqu'un sait si les versions nocturnes de tensorflow 1.5 publiées ici (versions win10) prennent en charge CUDA9 + CuDNN7 ?
https://pypi.python.org/pypi/tf-nightly-gpu/1.5.0.dev20171115

En passant, il est totalement irresponsable de fermer ce ticket ainsi que le #14126 juste parce que vous dites "Il va sortir avec TF 1.5". MXNET 0.12 a déjà CUDA9 FP16 en production. Tensorflow et CNTK doivent se dépêcher. Ce n'est pas seulement bénéfique pour Volta.

Pas encore, nous travaillons sur la mise à niveau de notre infrastructure de construction pour CUDA 9.
Nous visons à avoir des packages de pip avec CUDA 9 avant la fin de cette semaine.

j'ai deux ordinateurs, et hier j'ai installé 1080ti et j'ai tout installé (cuda8 et cudnn6) nouveau pilote graphique, visual studio 2015
je compare le temps de l'époque 1080ti vs 980ti
et je vois 1080ti exécuter chaque époque en 22 min mais 980ti fonctionner en 13 min !!! (lot=60 pour 1080 vs batch=20pour 980ti)
pourquoi 1080ti fonctionne plus lentement que 980ti !!!! et comment puis-je vérifier ce qui ne va pas ?!

Quelle est la durée d'exécution si vous utilisez 20 batch pour 1080Ti ?

@gunan , je me demande juste s'il y a un nouvel ETA pour ça ?

@smitshilu
en 1080ti avec 20 batch =26 min
et avec 60batch = 19min
en 980gtx avec lot 20 = 14 min !!!!
j'utilise Windows, installe la dernière version du pilote avec cuda 8 et cudnn 6
Comment puis-je savoir pourquoi il est plus lent que 980 ?

@nasergh Avez-vous des GTX 1080ti et 980ti en SLI ?

@vickylance
Non
deux ordinateurs différents !
les deux sont des disques durs cori7 et 1 To et je charge une image de données à partir du disque dur sata 1 To
mais en 980 j'ai windows sur disque dur SSD
j'essaie une version différente du pilote dernière chose que je vérifie 388.13 téléchargé depuis le site Web d'asus avec CUDA 8 et cudnn 6
je ne sais pas lesquelles sont la raison
1- les fenêtres ! c'est peut-être mieux sous Linux
2- Vitesse du disque dur
3- faux 1080TI
4- CUDA et cudnn non compatibles avec 1080ti
5- CPU (CPU sur ordinateur 1080TI est plus puissant que 980)
que suggérez-vous ?

@nasergh
1) La RAM est-elle la même ? si c'est le cas. Je ne sais pas si cela affectera autant, mais vérifiez si les MHz de la RAM sont également les mêmes dans les deux systèmes.
2) Vérifiez le pourcentage d'utilisation du GPU lors de l'exécution sur 980ti et 1080ti. Utilisez cet outil si vous souhaitez vérifier l'utilisation du GPU. https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer Il y en a de meilleurs, mais c'est ce qui m'est venu à l'esprit.
3) Si vous voulez obtenir les meilleures performances, je vous suggère d'installer Ubuntu16.04 en tant que double démarrage sur votre système 1080ti et d'utiliser CUDA 9.0 et cuDNN 7.0
4) De plus, Windows consomme beaucoup de ressources système en soi, donc l'exécuter sur un SSD lui donne définitivement un avantage, mais pas de l'ampleur que vous voyez dans votre scénario de test.

C'est peut-être l'architecture de carte choisie.
TF est configuré par défaut pour 3.0, 3.5 et 5.2 ; tandis que 1080TI est de 6,1 (Pascal) tandis que 980 est de 5,2 (Maxwell) selon https://en.wikipedia.org/wiki/CUDA#GPUs_supported.
Peut-être que le downgrade vers 3.0 ou 5.2 n'est pas efficace sur le 1080TI, alors qu'il est natif sur le 980 ?
Essayez de calculer avec les capacités 5.2 et 6.1 (voir CMakeLists.txt l.232 et l.246)

De : nasergh [mailto:[email protected]]
Envoyé : mercredi 22 novembre 2017 17:17
À : tensorflow/tensorflow
Cc : sylvain-bougnoux ; Manuel
Objet : Re : [tensorflow/tensorflow] Mise à niveau vers CuDNN 7 et CUDA 9 (#12052)

@vickylance
Non
deux ordinateurs différents !
les deux sont des disques durs cori7 et 1 To et je charge une image de données à partir du disque dur sata 1 To
mais en 980 j'ai windows sur disque dur SSD
j'essaie une version différente du pilote dernière chose que je vérifie 388.13 téléchargé depuis le site Web d'asus avec CUDA 8 et cudnn 6
je ne sais pas lesquelles sont la raison
1- les fenêtres ! c'est peut-être mieux sous Linux
2- Vitesse du disque dur
3- faux 1080TI
4- CUDA et cudnn non compatibles avec 1080ti
que suggérez-vous ?
-
Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, affichez-le sur GitHub ou coupez le fil de discussion.

environnement: cuda9.0+cudnn7.0+tf1.4,et je rencontre une erreur lorsque j'exécute l'exemple "ptb", TypeError: __init__() a obtenu un argument de mot clé inattendu 'input_size', 'input_size' est le paramètre du CudnnLSTM

après avoir regardé ce fil pendant des mois, je vais l'essayer sur Gentoo linux

j'ai asus strix 1080TI
1- dans ubunto, je peux utiliser le pilote sur le site nvidia ou je dois télécharger depuis asus (car je ne vois pas le pilote pour linux sur le site asus)
2- la dernière version est ok ou je dois installer 378.13 car je vois dans la plupart des commentaires qu'ils disent utiliser 378.13 ?
Merci

Pour ceux sous Windows, je viens de télécharger TF 1.4.0 construit contre CUDA 8.0.61.2, cuDNN 7.0.4, Python 3.6.3, avec le support AVX sur mon repo . Espérons que cela suffira jusqu'à ce que CUDA 9 soit réglé sur Windows.

j'essaie d'installer CUDA9 et cudnn 7 sur ubuntu 16.04 et python 3.6
mais je suis en panne :(
j'essaie tout, recherche partout mais donne toujours la même erreur " importError: libcublas.so.8.0 ne peut pas ouvrir le fichier objet partagé: aucun fichier ou répertoire de ce type
je pense que le tenseur veut exécuter CUDA8
comment puis-je lui dire d'utiliser cuda9 ?!!!! si la réponse est exécutée à partir de la source, comment exactement ? je n'ai pas vu de site Web très clair sur la construction à partir de la source
Merci

Vous devez installer tf depuis source@nasergh

@avecmoi6696
comment puis-je l'installer à partir des sources ?

je sais que je peux en télécharger un
https://github.com/mind/wheels/releases
mais je ne sais pas télécharger lequel et comment l'installer !?

@nasergh consultez notre README pour savoir comment installer. Si cela ne vous dérange pas d'installer MKL, vous pouvez faire

pip --no-cache-dir install https://github.com/mind/wheels/releases/download/tf1.4-gpu-cuda9-37/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

Si vous ne voulez pas installer MKL, vous pouvez faire

pip --no-cache-dir install https://github.com/mind/wheels/releases/download/tf1.4-gpu-cuda9-nomkl/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

J'utiliserai ce problème comme problème de suivi pour la prise en charge de CUDA 9.
Actuellement, il existe deux bloqueurs :
1 - https://github.com/tensorflow/tensorflow/pull/14770
2 - Sous Windows, il semble que nous ayons un bug avec NVCC. La construction de TF avec CUDA9 semble échouer avec un plantage du compilateur. NVIDIA aide à enquêter sur cela, et une fois que nous aurons une mise à jour, nous procéderons.

@danqing
Merci
1- MKL combien améliore la vitesse ?
2- en version sans MKL j'ai besoin d'installer MKL ?!

pour 1, voir ceci - notez que les calculs effectués sur GPU n'augmenteront évidemment pas la vitesse.

pour 2, non. assurez-vous d'installer la bonne version.

btw, c'est un fil avec de nombreux abonnés. si vous rencontrez des problèmes futurs avec nos roues, veuillez ouvrir un problème dans notre référentiel au lieu de commenter ci-dessous, afin que nous ne spammions pas une tonne de personnes.

@Tweakmind : je ne peux pas passer cette partie :

Bâtiment TensorFlow

build bazel --config=opt --config=cuda //tensorflow/tools/pip_ package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

La première ligne semble incomplète (guillemets doubles manquants) ? S'agit-il de trois lignes ou de deux lignes ?

@goodmangu le code correct, je pense, est:

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"

Les guillemets doubles sont absents de la commande.

Je dépasse cette partie en utilisant le script ici , mais je suis bloqué par des erreurs du compilateur cuda dans https://github.com/tensorflow/tensorflow/issues/15108

Merci les gars. Apprécié cela. Je l'ai fait fonctionner le même jour en utilisant à la place le binaire Linux de nuit. Voir : https://github.com/tensorflow/tensorflow
Exécutant maintenant 3 GTX 1080 Tis avec Keras. Frais!

J'ai passé les deux derniers jours à essayer de créer Tensorflow à partir de la source (r1.4) pour mon MacBook Pro avec un eGPU. Pilote fonctionnel, avec Cuda 8.0, cuDNN 6.0, Mac OSX Sierra 10.12. Très proche de la fin, mais bloqué par quelques erreurs de build après 20 minutes. Quelqu'un a-t-il eu de la chance jusqu'à présent? Un package construit avec succès que vous pouvez partager ? Merci d'avance.

@goodmangu Pourriez-vous s'il vous plaît spécifier quel "binaire Linux de construction nocturne" utilisez-vous ?

Bien sûr, celui-ci : tf_nightly_gpu-1.head-cp27-none-linux_x86_64.whl

Toujours pas de support Windows 10 pour Cuda 9.0 + cuDNN 7.0 ? Juste à vérifier.
GPU Tensorflow 1.4.0

@goodmangu J'ai essayé avec 1.4 mais OSX 10.13 et CUDA 9 cuDNN 7. Vous pouvez trouver les étapes ici

@ eeilon79 il y a un bogue nvcc sur Windows qui nous empêche de construire des binaires. Nous obtenons de l'aide de nvidia pour résoudre ces problèmes.

Existe-t-il une mise à jour pour CUDA 9 dans la version Tensorflow Nightly (1.5-dev) sous le package pip tf-nightly-gpu ? Besoin d'utiliser ce 1.5 pour le CuDNNLSTM à Keras

OK, le PR est juste fusionné.
Dans environ 10-12 heures, nos nouveaux nighties devraient être construits avec cuda9, à l'exception des fenêtres.
Sous windows, nous sommes toujours bloqués par un bug NVCC.

J'ai terminé les packages généraux CUDA 9 et CUDANN 7 pour le système Gentoo et j'ai essayé le test factice et j'ai l'impression de travailler par tensorflow d'importation factice en tant que tf en python, mais je dois faire des tests supplémentaires :

J'utilise commit: c9568f1ee51a265db4c5f017baf722b9ea5ecfbb

Sous windows, nous sommes toujours bloqués par un bug NVCC.

Auriez-vous l'obligeance de publier le lien ici vers ce problème ? Merci d'avance!

@smitshilu Votre article m'a aidé.
Et j'ai écrit un article avec quelques éléments ajoutés.
https://github.com/masasys/MacTF1.4GPU

@arbynacosta
je cours
build bazel --config=opt --config=cuda //tensorflow/tools/pip_ package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
mais j'obtiens cette erreur
Erreur : la commande build n'est prise en charge qu'à partir d'un espace de travail.

j'essaie aussi le tenseur tous les soirs mais cela donne une erreur
attributeerror : le module 'tensorflow' n'a pas d'attribut ....
sortie de dir(tf)
['__doc__', '__loarder__', '__name__', __package__' '__path__ __spec__]

Désolé @goodmangu , j'étais absent. L'avez-vous fait fonctionner ? J'ai raté les guillemets de clôture comme l' @arbynacosta . Je l'ai maintenant sous Ubuntu 17.10 avec CUDA 9.0 et cuDNN 7.0.4. Je peux travailler sur une version MacOS si nécessaire. J'ai renfloué Win10 et MacOS, mais je peux travailler dessus ce week-end si les gens en ont besoin.

@nasergh ,

Par exemple:

~/Downloads/tensorflow$ ls
ACKNOWLEDGMENTS     bazel-bin         bazel-testlogs      configure          LICENSE       tensorflow   WORKSPACE
ADOPTERS.md         bazel-genfiles    BUILD               configure.py       models.BUILD  third_party
arm_compiler.BUILD  bazel-out         CODE_OF_CONDUCT.md  CONTRIBUTING.md    README.md     tools
AUTHORS             bazel-tensorflow  CODEOWNERS          ISSUE_TEMPLATE.md  RELEASE.md    util

@Tweakmind
je lance la commande
sudo su
puis allez au dossier tensorflow (il y avait un fichier d'espace de travail là-dedans)
mais j'obtiens ces erreurs

root<strong i="10">@pc</strong>:/home/pc2/tensorflow# bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
..........
WARNING: Config values are not defined in any .rc file: opt
ERROR: /root/.cache/bazel/_bazel_root/cccfa03cbaf937d443248403ec70306e/external/local_config_cuda/crosstool/BUILD:4:1: Traceback (most recent call last):
    File "/root/.cache/bazel/_bazel_root/cccfa03cbaf937d443248403ec70306e/external/local_config_cuda/crosstool/BUILD", line 4
        error_gpu_disabled()
    File "/root/.cache/bazel/_bazel_root/cccfa03cbaf937d443248403ec70306e/external/local_config_cuda/crosstool/error_gpu_disabled.bzl", line 3, in error_gpu_disabled
        fail("ERROR: Building with --config=c...")
ERROR: Building with --config=cuda but TensorFlow is not configured to build with GPU support. Please re-run ./configure and enter 'Y' at the prompt to build with GPU support.
ERROR: no such target '@local_config_cuda//crosstool:toolchain': target 'toolchain' not declared in package 'crosstool' defined by /root/.cache/bazel/_bazel_root/cccfa03cbaf937d443248403ec70306e/external/local_config_cuda/crosstool/BUILD
INFO: Elapsed time: 6.830s
FAILED: Build did NOT complete successfully (2 packages loaded)
    currently loading: @bazel_tools//tools/jdk

@nasergh Veuillez vous assurer de suivre toutes les instructions ici :
https://www.tensorflow.org/install/install_sources

Si vous construisez avec le support GPU, assurez-vous que vous configurez correctement.

Installez Tensorflow 1.4 à partir de la source.

  • Au moment d'écrire ces lignes, c'est la seule façon dont cela fonctionnera avec CUDA 9.0 et cuDNN 7.0
  • Instructions : https://www.tensorflow.org/install/install_sources
  • Certaines des instructions peuvent ne pas avoir de sens, voici comment j'ai procédé :
cd $HOME/Downloads
git clone https://github.com/tensorflow/tensorflow
cd tensorflow
git checkout r1.4
./configure

L'exemple de sortie et les options seront différents de ceux des instructions

  • Assurez-vous de configurer pour la version CUDA : 9.0
  • Assurez-vous de configurer pour la version cuDNN : 7.0.4
  • Assurez-vous de connaître votre capacité de calcul à partir de https://developer.nvidia.com/cuda-gpus
  • Je l'ai mis à 6.1 car j'ai une GeForce GTX 1070

Installation de Bazel

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update && sudo apt-get install oracle-java8-installer
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install bazel
sudo /sbin/ldconfig -v

Bâtiment TensorFlow

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-1.4.0-cp36-cp36m-linux_x86_64.whl

@Tweakmind : merci de

@Tweakmind
je fais suivre et aussi configurer le fichier mais il dit

pc2<strong i="7">@pc</strong>:~/Downloads/tensorflow$ bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
ERROR: Skipping '//tensorflow/tools/pip_package:build_pip_package': error loading package 'tensorflow/tools/pip_package': Encountered error while reading extension file 'cuda/build_defs.bzl': no such package '@local_config_cuda//cuda': Traceback (most recent call last):
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 1042
        _create_local_cuda_repository(repository_ctx)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 905, in _create_local_cuda_repository
        _get_cuda_config(repository_ctx)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 662, in _get_cuda_config
        _cudnn_version(repository_ctx, cudnn_install_base..., ...)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 360, in _cudnn_version
        _find_cudnn_header_dir(repository_ctx, cudnn_install_base...)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 612, in _find_cudnn_header_dir
        auto_configure_fail(("Cannot find cudnn.h under %s" ...))
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 129, in auto_configure_fail
        fail(("\n%sCuda Configuration Error:%...)))

Cuda Configuration Error: Cannot find cudnn.h under /usr/lib/x86_64-linux-gnu
WARNING: Target pattern parsing failed.
ERROR: error loading package 'tensorflow/tools/pip_package': Encountered error while reading extension file 'cuda/build_defs.bzl': no such package '@local_config_cuda//cuda': Traceback (most recent call last):
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 1042
        _create_local_cuda_repository(repository_ctx)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 905, in _create_local_cuda_repository
        _get_cuda_config(repository_ctx)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 662, in _get_cuda_config
        _cudnn_version(repository_ctx, cudnn_install_base..., ...)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 360, in _cudnn_version
        _find_cudnn_header_dir(repository_ctx, cudnn_install_base...)
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 612, in _find_cudnn_header_dir
        auto_configure_fail(("Cannot find cudnn.h under %s" ...))
    File "/home/pc2/Downloads/tensorflow/third_party/gpus/cuda_configure.bzl", line 129, in auto_configure_fail
        fail(("\n%sCuda Configuration Error:%...)))

Cuda Configuration Error: Cannot find cudnn.h under /usr/lib/x86_64-linux-gnu
INFO: Elapsed time: 0.082s
FAILED: Build did NOT complete successfully (0 packages loaded)
    currently loading: tensorflow/tools/pip_package

je pense avoir installé correctement cuda et cudnn
```
trouver /usr | grep libcudnn
/usr/share/doc/libcudnn7
/usr/share/doc/libcudnn7/copyright
/usr/share/doc/libcudnn7/NVIDIA_SLA_cuDNN_Support.txt
/usr/share/doc/libcudnn7/changelog.Debian.gz
/usr/share/lintian/overrides/libcudnn7
/usr/lib/x86_64-linux-gnu/libcudnn.so.7.0.4
/usr/lib/x86_64-linux-gnu/libcudnn.so.7

```

@goodmangu , je vais travailler sur la version MacOS ce week-end.

@nasergh , Avez-vous installé cuDNN ?

Voici mon guide pour cuDNN, y compris la source et la documentation pour tester l'installation :

Télécharger les fichiers cuDNN 7.0.4

Vous devez vous connecter à votre compte développeur Nvidia dans votre navigateur

Vérifier chaque hachage

cd $HOME/Downloads
md5sum cudnn-9.0-linux-x64-v7.tgz && \
md5sum libcudnn7_7.0.4.31-1+cuda9.0_amd64.deb && \
md5sum libcudnn7-dev_7.0.4.31-1+cuda9.0_amd64.deb && \
md5sum libcudnn7-doc_7.0.4.31-1+cuda9.0_amd64.deb

La sortie doit être :

fc8a03ac9380d582e949444c7a18fb8d cudnn-9.0-linux-x64-v7.tgz
e986f9a85fd199ab8934b8e4835496e2 libcudnn7_7.0.4.31-1+cuda9.0_amd64.deb
4bd528115e3dc578ce8fca0d32ab82b8 libcudnn7-dev_7.0.4.31-1+cuda9.0_amd64.deb
04ad839c937362a551eb2170afb88320 libcudnn7-doc_7.0.4.31-1+cuda9.0_amd64.deb

Installer cuDNN 7.0.4 et les bibliothèques

tar -xzvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
sudo dpkg -i libcudnn7_7.0.4.31-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.4.31-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.4.31-1+cuda9.0_amd64.deb

Vérification de cuDNN

Ubuntu 17.10 inclut la version 7+ des compilateurs GNU
CUDA n'est pas compatible avec les versions supérieures à 6
L'erreur renvoyée est :

erreur -- version GNU non prise en charge ! Les versions de gcc postérieures à 6 ne sont pas prises en charge !

Correctif - Installez la version 6 et créez des liens symboliques dans le répertoire bin CUDA :

sudo apt-get install gcc-6 g++-6
sudo ln -sf /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -sf /usr/bin/g++-6 /usr/local/cuda/bin/g++

Maintenant, construisez mnistCUDNN pour tester cuDNN

cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

Si cuDNN est correctement installé, vous verrez :

Test réussi!

Cher @Tweakmind
votre chemin fonctionne merci pour votre aide (j'essayais d'installer tensor depuis plus de 3 semaines !!!)
le problème est que je l'installe sur python3.6 et maintenant j'ai un problème avec le package PIL

Traceback (most recent call last):
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/utils/data_utils.py", line 551, in get
    inputs = self.queue.get(block=True).get()
  File "/home/pc2/anaconda3/lib/python3.6/multiprocessing/pool.py", line 644, in get
    raise self._value
  File "/home/pc2/anaconda3/lib/python3.6/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/utils/data_utils.py", line 391, in get_index
    return _SHARED_SEQUENCES[uid][i]
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/preprocessing/image.py", line 761, in __getitem__
    return self._get_batches_of_transformed_samples(index_array)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/preprocessing/image.py", line 1106, in _get_batches_of_transformed_samples
    interpolation=self.interpolation)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/preprocessing/image.py", line 345, in load_img
    raise ImportError('Could not import PIL.Image. '
ImportError: Could not import PIL.Image. The use of `array_to_img` requires PIL.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 7, in <module>
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 87, in wrapper
    return func(*args, **kwargs)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/models.py", line 1227, in fit_generator
    initial_epoch=initial_epoch)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 87, in wrapper
    return func(*args, **kwargs)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/engine/training.py", line 2115, in fit_generator
    generator_output = next(output_generator)
  File "/home/pc2/venv/lib/python3.6/site-packages/keras/utils/data_utils.py", line 557, in get
    six.raise_from(StopIteration(e), e)
  File "<string>", line 3, in raise_from
StopIteration: Could not import PIL.Image. The use of `array_to_img` requires PIL.

j'essaie d'installer un oreiller mais ça n'aide pas
j'essaye aussi d'installer PIL mais

UnsatisfiableError: The following specifications were found to be in conflict:
  - pil -> python 2.6*
  - python 3.6*

@nasergh Qu'obtenez -vous avec :

pip install pillow

Le mien ressemble à :

~$ pip install pillow
Requirement already satisfied: pillow in ./anaconda3/lib/python3.6/site-packages

@nasergh , j'ai besoin de planter mais je lèverai .

@goodmangu , je ne pourrai pas faire le build Mac ce week-end car je n'ai pas accès à mon Mac Pro 2012. J'espère que vous êtes bon avec Ubuntu pour le moment. Je sais que ça marche bien pour moi. Je devrais le récupérer le week-end prochain.

@Tweakmind - Merci ! , avez-vous constaté une amélioration des performances avec CUDA 9 et cuDNN 7 ?

De plus, je pense que certaines étapes mentionnées par @Tweakmind ci-dessous sont redondantes, vous avez besoin de :

tar -xzvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

ou

sudo dpkg -i libcudnn7_7.0.4.31-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.4.31-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.4.31-1+cuda9.0_amd64.deb

@gunan
CUDA 9.1.85 est sorti il ​​y a quelques instants avec CuDNN 7.0.5, avec des corrections de bogues du compilateur nvcc. Je me demande si cela permet aux utilisateurs de win10 de compiler Tensorflow 1.4.1 ? C'est bientôt l'heure.

D'après nos correspondances avec NVIDIA, je ne pense pas que la version 9.1 ait résolu ce problème.
Cependant, nous avons des solutions de contournement. Tout d'abord, nous avons besoin que ce PR soit fusionné dans eigen :
https://bitbucket.org/eigen/eigen/pull-requests/351/win-nvcc/diff

Ensuite, nous mettrons à jour notre dépendance propre, ce qui devrait corriger toutes nos versions pour CUDA9

Le pr est décliné mais il semble être fusionné manuellement. Devons-nous attendre une version propre ou est-elle construite par les sources ?

Cool, alors ce sera sur Nightly pip?

@Tweakmind
j'essaie de reconstruire le tenseur en utilisant python 2.7
mais dans bazel build, j'obtiens cette erreur
J'installe aussi numpy mais aucun changement.

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
ERROR: /home/gh2/Downloads/tensorflow/util/python/BUILD:5:1: no such package '@local_config_python//': Traceback (most recent call last):
    File "/home/gh2/Downloads/tensorflow/third_party/py/python_configure.bzl", line 310
        _create_local_python_repository(repository_ctx)
    File "/home/gh2/Downloads/tensorflow/third_party/py/python_configure.bzl", line 274, in _create_local_python_repository
        _get_numpy_include(repository_ctx, python_bin)
    File "/home/gh2/Downloads/tensorflow/third_party/py/python_configure.bzl", line 257, in _get_numpy_include
        _execute(repository_ctx, [python_bin, "-c",..."], <2 more arguments>)
    File "/home/gh2/Downloads/tensorflow/third_party/py/python_configure.bzl", line 76, in _execute
        _python_configure_fail("\n".join([error_msg.strip() if ... ""]))
    File "/home/gh2/Downloads/tensorflow/third_party/py/python_configure.bzl", line 37, in _python_configure_fail
        fail(("%sPython Configuration Error:%...)))
Python Configuration Error: Problem getting numpy include path.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
**ImportError: No module named numpy**
Is numpy installed?
 and referenced by '//util/python:python_headers'
ERROR: Analysis of target '//tensorflow/tools/pip_package:build_pip_package' failed; build aborted: Loading failed
INFO: Elapsed time: 10.826s
FAILED: Build did NOT complete successfully (26 packages loaded)
    currently loading: tensorflow/core ... (3 packages)
    Fetching http://mirror.bazel.build/.../~ooura/fft.tgz; 20,338b 5s
    Fetching http://mirror.bazel.build/zlib.net/zlib-1.2.8.tar.gz; 19,924b 5s
    Fetching http://mirror.bazel.build/.../giflib-5.1.4.tar.gz; 18,883b 5s

Il semble qu'OSX soit exclu dans la version 7.0.5 de cuDNN. Est-ce que quelqu'un sait une chose détaillée?

Je n'arrive toujours pas à faire fonctionner tensorflow-gpu sous Windows 10 (avec CUDA 9.0.176 et cudnn 7.0).
J'ai désinstallé tensorflow et tensorflow-gpu et les ai réinstallés (avec --no-cache-dir pour assurer le téléchargement de la version la plus récente avec la solution de contournement eigen). Lorsque j'installe les deux, mon GPU n'est pas reconnu :

InvalidArgumentError (voir ci-dessus pour la traçabilité) : impossible d'attribuer un périphérique à l'opération 'random_uniform_1/sub' : l'opération a été explicitement attribuée à / device:GPU :0 mais les périphériques disponibles sont [ / job:localhost/replica :0/ task:0/device : CPU:0 ]. Assurez-vous que la spécification de l'appareil fait référence à un appareil valide.

Lorsque j'installe uniquement tensorflow-gpu, il se plaint d'une dll manquante :

ImportError : impossible de trouver « cudart64_80.dll ». TensorFlow nécessite que cette DLL soit installée dans un répertoire nommé dans votre variable d'environnement %PATH%. Téléchargez et installez CUDA 8.0 à partir de cette URL : https://developer.nvidia.com/cuda-toolkit

Ce qui est étrange car ma version CUDA est 9.0, pas 8.0, et est reconnue (test de requête de périphérique réussi).
Ma version python est la 3.6.3. J'essaie d'exécuter ce code dans Spyder (3.2.4) afin de tester tensorflow-gpu.
Qu'est-ce que j'ai raté?

J'essaie de construire à partir de la source par bazel sur win 7, obtenir une erreur

Pas de boîte à outils pour le processeur 'x64_windows'

Quelqu'un peut-il construire whl?

@hadaev8 , j'ai besoin de beaucoup plus d'informations pour aider. Je peux travailler sur un whl mais il y aura de lourdes dépendances et pas Win7, une fois que j'aurai résolu MacOS, je résoudrai Win10. Dans tous les cas, publiez vos coordonnées.

@ eeilon79 , j'ai besoin de recréer cela sous Win10. Je me concentre actuellement sur MacOS maintenant qu'Ubuntu est résolu. Je reviendrai sur Win 10.

@nasergh , existe-t-il une exigence pour python 2.7 ?

Avec CUDA 8.0 et cuDNN 6.0, voici comment j'ai installé TensorFlow à partir de la source pour le support GPU Cuda et AVX2 dans Win10 : :

Conditions:

* Windows 10 64-Bit
* Visual Studio 15 C++ Tools
* NVIDIA CUDA® Toolkit 8.0
* NVIDIA cuDNN 6.0 for CUDA 8.0
* Cmake
* Swig

Installer la mise à jour 3 de Visual Studio Community Edition avec le kit Windows 10.0.10240.0
Suivez les instructions sur : https://github.com/philferriere/dlwin (Merci Phil)

Créer un Virtual Drive N : pour plus de clarté
Je suggère de créer un répertoire à partir de C: ou de votre lecteur de choix et de créer N: en fonction de ces instructions (2 Go min):
https://technet.microsoft.com/en-us/library/gg318052 (v=ws.10).aspx

Installer Cuda 8.0 64 bits
https://developer.nvidia.com/cuda-downloads (Faites défiler jusqu'à Legacy)

Installer cuDNN 6.0 pour Cuda 8.0
https://developer.nvidia.com/rdp/cudnn-download
Mettez le dossier cuda de zip sur N:\et renommez cuDNN-6

Installer CMake
https://cmake.org/files/v3.10/cmake-3.10.0-rc5-win64-x64.msi

Installer Swig (swigwin-3.0.12)
https://sourceforge.net/projects/swig/files/swigwin/swigwin-3.0.12/swigwin-3.0.12.zip

cntk-py36

```conda create --name cntk-py36 python=3.6 numpy scipy h5py jupyter
activer cntk-py36
pip installer https://cntk.ai/PythonWheel/GPU/cntk-2.2-cp36-cp36m-win_amd64.whl
python -c "importer cntk; imprimer (cntk.__version__)"
conda installer pygpu
pip installer keras

#### Remove old tensorflow in Tools if it exists
```cd C:\Users\%USERNAME%\Tools\
move tensorflow tensorflow.not
git clone --recursive https://github.com/tensorflow/tensorflow.git
cd C:\Users\%USERNAME%\Tools\tensorflow\tensorflow\contrib\cmake
Edit CMakeLists.txt

Commentez ceux-ci :

# if (tensorflow_OPTIMIZE_FOR_NATIVE_ARCH)
#   include(CheckCXXCompilerFlag)
#   CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_OPT_ARCH_NATIVE_SUPPORTED)
#   if (COMPILER_OPT_ARCH_NATIVE_SUPPORTED)
#     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
#   endif()
# endif()

Ajoutez ceux-ci :

if (tensorflow_OPTIMIZE_FOR_NATIVE_ARCH)
  include(CheckCXXCompilerFlag)
  CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_OPT_ARCH_NATIVE_SUPPORTED)
  if (COMPILER_OPT_ARCH_NATIVE_SUPPORTED)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
  else()
    CHECK_CXX_COMPILER_FLAG("/arch:AVX2" COMPILER_OPT_ARCH_AVX_SUPPORTED)
    if(COMPILER_OPT_ARCH_AVX_SUPPORTED)
      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:AVX2")
    endif()
  endif()
endif()

construction de mkdir et construction de cd

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"

cmake .. -A x64 -DCMAKE_BUILD_TYPE=Release ^
-DSWIG_EXECUTABLE=N:/swigwin-3.0.12/swig.exe ^
-DPYTHON_EXECUTABLE=N:/Anaconda3/python.exe ^
-DPYTHON_LIBRARIES=N:/Anaconda3/libs/python36.lib ^
-Dtensorflow_ENABLE_GPU=ON ^
-DCUDNN_HOME="n:\cuDNN-6" ^
-Dtensorflow_WIN_CPU_SIMD_OPTIONS=/arch:AVX2

-- Construction pour : Visual Studio 14 2015
-- Sélection de Windows SDK version 10.0.14393.0 pour cibler Windows 10.0.16299.
-- L'identification du compilateur C est MSVC 19.0.24225.1
-- L'identification du compilateur CXX est MSVC 19.0.24225.1
-- Vérifiez que le compilateur C fonctionne : C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Vérifiez que le compilateur C fonctionne : C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- fonctionne
-- Détection des informations ABI du compilateur C
-- Détection des informations ABI du compilateur C - terminé
-- Vérifiez que le compilateur CXX fonctionne : C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Vérifiez que le compilateur CXX fonctionne : C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- fonctionne
-- Détection des informations ABI du compilateur CXX
-- Détection des informations ABI du compilateur CXX - terminé
-- Détection des fonctionnalités de compilation CXX
-- Détection des fonctionnalités de compilation CXX - terminé
-- Exécution du test COMPILER_OPT_ARCH_NATIVE_SUPPORTED
-- Exécution du test COMPILER_OPT_ARCH_NATIVE_SUPPORTED - Échec
-- Exécution du test COMPILER_OPT_ARCH_AVX_SUPPORTED
-- Exécution du test COMPILER_OPT_ARCH_AVX_SUPPORTED - Succès
-- Exécution du test COMPILER_OPT_WIN_CPU_SIMD_SUPPORTED
-- Exécution du test COMPILER_OPT_WIN_CPU_SIMD_SUPPORTED - Succès
-- CUDA trouvé : C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0 (trouvé la version appropriée "8.0", le minimum requis est "8.0")
-- PythonInterp trouvé : C:/Users/%USERNAME%/Anaconda3/python.exe (version trouvée "3.6.3")
-- PythonLibs trouvés : C:/Users/%USERNAME%/Anaconda3/libs/python36.lib (version trouvée "3.6.3")
-- SWIG trouvé : C:/Users/%USERNAME%/Tools/swigwin-3.0.12/swig.exe (version trouvée "3.0.12")
-- Configuration terminée
-- Génération terminée
-- Les fichiers de compilation ont été écrits dans : C:/Users/%USERNAME%/Tools/tensorflow/tensorflow/contrib/cmake/build

MSBuild /p:Configuration=Release tf_python_build_pip_package.vcxproj

@Tweakmind
python 3.6, tensorflow last from master, cuda 9.0, cudnn 7.0.5 pour cuda 9.0, basel et swig chargés aujourd'hui.

@Tweakmind construisez-vous avec master ou ?

@Tweakmind
Pouvez-vous construire sur Windows avec cuda 9 cudnn 7 et partager .whl ?

@Tweakmind

N'essayez-vous pas de vous appuyer sur win 10 avec cuda 9 cudnn 7 ?

Merci pour votre savoir faire !

@hadaev8 @alc5978
pip install -U tf-nightly-gpu donne maintenant une version win10 datée de 20171221, qui est basée sur TF 1.5 beta avec CUDA 9.0 et CuDNN 7.0.5. Je l'ai couru hier soir, c'est bon. Nous devons maintenant passer à CUDA 9.1 pour la vitesse de lancement du noyau CUDA 12x. La prise en charge des fenêtres Tensorflow est assez lente et anémique. Des versions officielles stables devraient être proposées dès que possible. Je suis en fait pour que Tensorflow 1.5 stable soit publié avec CUDA 9.1, d'ici la fin janvier s'il vous plaît ?

Accédez à http://www.python36.com/install-tensorflow141-gpu/ pour une installation étape par étape de tensorflow avec cuda 9.1 et cudnn7.05 sur Ubuntu. Et allez sur http://www.python36.com/install-tensorflow-gpu-windows pour une installation étape par étape de tensorflow avec cuda 9.1 et cudnn 7.0.5 sous Windows.

Nous sommes en 2018, presque fin janvier et l'installation de TF avec CUDA9.1 et CuDNN7 sur Windows 10 n'est toujours pas terminée ?

1.5 est RC avec CUDA 9 + cuDNN 7 et devrait devenir GA dans les prochains jours. (CUDA 9.1 était GA en décembre et nécessite une autre mise à niveau du pilote de périphérique qui perturbe de nombreux utilisateurs. Le plan actuel est de conserver la version par défaut sur CUDA 9.0.x et de continuer à mettre à niveau vers les nouvelles versions de cuDNN).

J'ai ouvert un sujet pour discuter de CUDA 9.1.

L'amélioration de la vitesse de lancement du noyau 12x est plus nuancée que le nombre 12x. L'extrémité supérieure de 12x est pour ops avec beaucoup d'arguments et la perturbation pour les utilisateurs est élevée en raison de la mise à niveau du pilote de périphérique. J'espère avoir un "canal" testant la 9.1 dans un proche avenir et découvrir comment gérer ce paradigme.

J'espère que ce sera enfin CUDA 9.1, pas 9.0.

J'espère que ce sera enfin CUDA 9.1, pas 9.0 aussi.

Je suis sûr que ce sera finalement CUDA 9.1, pas 9.0 aussi, n'est-ce pas ? :)

@ViktorM @Magicfeng007 @alc5978
Le fil 9.1

Si quelqu'un rencontre toujours des problèmes comme Keras avec le backend TensorFlow n'utilisant pas le GPU... suivez simplement les instructions de cette page. Il est mis à jour et fonctionne à 100% correctement.
https://research.wmz.ninja/articles/2017/01/configuring-gpu-accelerated-keras-in-windows-10.html

Salut tout le monde
J'installe aujourd'hui tensorflow-gpu 1.6.0rc1 sur win10 avec la bibliothèque CUDA 9.0 et cuDNN 7.0.5 avec http://www.python36.com/install-tensorflow-using-official-pip-pacakage/

Tout semble ok

J'ai créé un script pour les prérequis GPU NVIDIA (CUDA-9.0 et cuDNN-7.0) pour le dernier TensorFlow (v1.5+), voici le lien .

Cette page vous a été utile?
0 / 5 - 0 notes