Tensorflow: Atualize para CuDNN 7 e CUDA 9

Criado em 5 ago. 2017  ·  170Comentários  ·  Fonte: tensorflow/tensorflow

Informação do sistema

  • Escrevi um código personalizado (em vez de usar um script de exemplo de estoque fornecido no TensorFlow) : Não
  • Plataforma e distribuição do sistema operacional (por exemplo, Linux Ubuntu 16.04) : Windows Server 2012
  • TensorFlow instalado de (fonte ou binário) : binário
  • Versão do TensorFlow (use o comando abaixo) : 1.3.0-rc1
  • Versão Python : 3.5.2
  • Versão do Bazel (se compilando da fonte) : N / A
  • Versão CUDA / cuDNN : CUDA V8.0.44, CuDNN 6.0
  • Modelo de GPU e memória : Nvidia GeForce GTX 1080 Ti, 11 GB
  • Comando exato para reproduzir : N / A

Descreva o problema

Atualize o TensorFlow para suportar CUDA 9 e CuDNN 7. A Nvidia afirma que isso fornecerá um aumento de 2x no desempenho em GPUs Pascal.

feature

Comentários muito úteis

Por falar em métodos a serem adicionados, a convolução de grupo de cudnn7 seria um recurso importante para a comunidade de visão.

Todos 170 comentários

@tfboyd você tem algum comentário sobre isso?

cuDNN 7 ainda está no modo de visualização e está sendo trabalhado. Acabamos de mudar para cuDNN 6.0 com 1.3, que deve chegar ao fim em algumas semanas. Você pode baixar cuDNN 1.3.0rc2 se estiver interessado nisso. Ainda não compilei com cuDNN 7 ou CUDA 9. Ouvi dizer que o CUDA 9 não é fácil de instalar em todas as plataformas e apenas alguns pacotes de instalação selecionados estão disponíveis. Quando as bibliotecas estiverem concluídas, iniciaremos a avaliação final. A NVIDIA também começou a enviar patches para as principais plataformas de ML para oferecer suporte a aspectos dessas novas bibliotecas e suspeito que haverá trabalho adicional.

Edit: Eu quis dizer que CUDA 9 não é fácil de instalar em todas as plataformas e, em vez disso, disse cuDNN. Também mudei a certeza de que haverá trabalho para suspeitar que haverá trabalho adicional. O resto da minha declaração boba eu deixei, por exemplo, eu não percebi que cuDNN 7 foi ao ar ontem.

Não estou dizendo como você deve ler o site. Mas o 2x mais rápido no pascal parece fazer parte do lançamento do CUDA 8. Suponho que depende de como você lê o site. A NVIDIA não mencionou que o CUDA 9 vai acelerar o Pascal em 2x (em tudo) e, embora tudo seja possível, eu não esperava que isso acontecesse.

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

O site é um pouco confuso, mas acho que a seção que você está citando está aninhada no CUDA 8. Eu apenas menciono isso para que você não tenha expectativas irreais para o lançamento deles. Para Volta, deve haver alguns grandes ganhos com o que eu entendo e eu acho (não tenho certeza agora) as pessoas estão apenas recebendo amostras de engenharia de Volta para iniciar um trabalho de alto nível e se preparar para o lançamento completo.

@tfboyd cuDNN 7 não está mais no modo de visualização ontem. Ele foi lançado oficialmente para CUDA 8.0 e CUDA 9.0 RC.

Ahh eu perdi isso. Obrigado @sclarkson e desculpe pela informação errada.

Certamente vou tentar porque finalmente o gcc 6 é suportado pelo CUDA 9 e o Ubuntu 17.04 vem com ele.

Se você tiver sorte, avise o tópico. Pessoalmente, estou começando a
teste totalmente o cuDNN 6 (internamente foi muito testado, mas eu não
usando-o pessoalmente). Costumo demorar para atualizar para as coisas mais recentes. Meu
acho que você pode não ver nenhuma mudança real com cuDNN 7 até que tudo seja
corrigido para usar as APIs mais recentes. Eu quero enfatizar novamente que estou errado
do tempo. O que eu vi como um estranho são as novas versões cuDNN adicionadas
novos métodos / APIs. Alguns são interessantes e alguns não são imediatamente
útil. Em seguida, essas APIs são expostas por meio da API TensorFlow ou apenas usadas
nos bastidores para tornar os métodos existentes mais rápidos. Meu nível muito alto
o entendimento é que cuDNN 7 + CUDA 9 aumentará o suporte FP16 com foco em
Volta. Acho que um dos principais focos é como obter modelos (muitos não apenas
alguns) para convergir com FP16 sem ter que adivinhar indefinidamente o
configuração / hiperparâmetros a serem usados. Eu quero enfatizar que é assim que eu
entendi a conversa e posso estar incorreto ou meio correto.

ESTRESSE: Se houver métodos que você acha que precisam ser adicionados (ou alavancagem para
desempenho) para TensorFlow de cuDNN, estamos sempre interessados ​​em uma lista.
Internamente, isso aconteceu com cuDNN 6 e nos concentramos na implementação do
equipes de recursos disseram que gostariam que ajudasse em seus projetos.

No sábado, 5 de agosto de 2017 às 8:46 AM, Courtial Florian [email protected]
escreveu:

Certamente vou tentar porque finalmente gcc 6 é suportado por CUDA 9 e
Ubuntu 17.04 vem com ele.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320450756 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZessKqj_nPY1br9SD9L9SX-8Kf5Dbtks5sVI5TgaJpZM4OuRL7
.

Por falar em métodos a serem adicionados, a convolução de grupo de cudnn7 seria um recurso importante para a comunidade de visão.

Legal vou adicioná-lo à lista que estou começando. Eu posso esquecer, mas fique à vontade
para me lembrar de publicar algum tipo de lista onde eu possa fornecer alguma orientação
sobre o que provavelmente está sendo trabalhado. Não pode ser uma promessa, mas queremos
feedback para que possamos priorizar o que as pessoas querem e precisam. Obrigado Yuxin.

No sábado, 5 de agosto de 2017 às 12h26, Yuxin Wu [email protected] escreveu:

Falando em métodos a serem adicionados, a convolução de grupo de cudnn7 seria um
característica importante para a comunidade de visão.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320465264 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZesv9udRRxy9WvsK2eUEZCj7LAGM8bks5sVMHVgaJpZM4OuRL7
.

Eu apenas tentei compilar com cuDNN 7 com CUDA 8 e falhou, o que eu meio
do esperado. Há um patch vindo da NVIDIA que deve ajudar na linha
coisas para cima. Apenas avise se alguém estiver tentando.

No sábado, 5 de agosto de 2017 às 13h47 , Toby Boyd

Legal vou adicioná-lo à lista que estou começando. Eu posso esquecer, mas fique à vontade
para me lembrar de publicar algum tipo de lista onde eu possa fornecer alguma orientação
sobre o que provavelmente está sendo trabalhado. Não pode ser uma promessa, mas queremos
feedback para que possamos priorizar o que as pessoas querem e precisam. Obrigado Yuxin.

No sábado, 5 de agosto de 2017 às 12h26, Yuxin Wu [email protected]
escreveu:

Falando em métodos a serem adicionados, a convolução de grupo de cudnn7 seria um
característica importante para a comunidade de visão.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320465264 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZesv9udRRxy9WvsK2eUEZCj7LAGM8bks5sVMHVgaJpZM4OuRL7
.

Estou tentando obter cuDNN 7 com CUDA 8/9 em execução. CUDA 8 não é compatível com a GTX 1080 Ti - pelo menos o instalador diz ^^

Estou tendo um grande problema para fazê-lo funcionar juntos. Quero destacar este ótimo artigo que resume o que já experimentei: https://nitishmutha.github.io/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html

Os exemplos de CUDA estão funcionando por meio do Visual-Studio em ambas as combinações de configuração.
Aqui, a saída do deviceQuery.exe que foi compilado usando o 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 você tem algum link confirmando a atualização cuDNN da Nvidea?

@ 4F2E4A2E 1080 Ti definitivamente suporta CUDA 8.0. É isso que tenho usado com o TensorFlow nos últimos meses.

Olá a todos, tenho gtx 1080 ti com cuda 8.0. Estou tentando instalar o tensorflow-gpu, devo usar cuDNN 5.1, 6.0 ou 7.0?

Eu sugiro ficar com 5.1 por enquanto. Estou executando um desempenho mais profundo
testes em 6 e obtendo resultados mistos que precisam de mais testes para descobrir.

Em 6 de agosto de 2017, 21:30, "colmantse" [email protected] escreveu:

Olá a todos, tenho gtx 1080 ti com cuda 8.0. Estou tentando instalar
tensorflow-gpu, devo usar cuDNN 5.1, 6.0 ou 7.0?

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-320566071 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZeshvEFsdeWz-1uyzl_L6HE15E0BzSks5sVpLlgaJpZM4OuRL7
.

obrigado, tentei com cudnn 6.0, mas não funciona, acho que por causa da minha instalação tf-gpu fictícia. cudnn 5.1 funciona para mim com python 3.6

@tpankaj Obrigado! Ele está funcionando com CUDA 8 e cuDNN 5.1

Aqui está o conjunto completo de recursos em cuDNN 7:

Principais recursos e aprimoramentos
Esta versão cuDNN inclui os seguintes recursos e aprimoramentos principais.
Núcleos tensores
A versão 7.0.1 do cuDNN é a primeira a oferecer suporte às operações do Tensor Core em seu
implementação. Os núcleos tensores fornecem multiplicação de matriz altamente otimizada
blocos de construção que não têm um comportamento numérico equivalente no tradicional
instruções, portanto, seu comportamento numérico é ligeiramente diferente.
cudnnSetConvolutionMathType, cudnnSetRNNMatrixMathType e
cudnnMathType_t
O cudnnSetConvolutionMathType e cudnnSetRNNMatrixMathType
funções permitem que você escolha se deseja ou não usar as operações do Tensor Core em
as camadas de convolução e RNN, respectivamente, definindo o modo matemático para qualquer
CUDNN_TENSOR_OP_MATH ou CUDNN_DEFAULT_MATH.
As operações do Tensor Core realizam acúmulo de ponto flutuante paralelo de múltiplos
produtos de ponto flutuante.
Definir o modo matemático para CUDNN_TENSOR_OP_MATH indica que a biblioteca usará
Operações do Tensor Core.
O padrão é CUDNN_DEFAULT_MATH. Este padrão indica que o Tensor Core
as operações serão evitadas pela biblioteca. O modo padrão é uma operação serializada
enquanto o Tensor Core é uma operação paralelizada, portanto, os dois podem resultar
em resultados numéricos ligeiramente diferentes devido à sequência diferente de operações.
A biblioteca volta ao modo matemático padrão quando as operações do Tensor Core são
não suportado ou não permitido.
cudnnSetConvolutionGroupCount
Uma nova interface que permite aos aplicativos realizar grupos de convolução no
camadas de convolução em uma única chamada de API.
cudnnCTCLoss
cudnnCTCLoss fornece uma implementação de GPU do Connectionist Temporal
Função de perda de classificação (CTC) para RNNs. A função de perda CTC é usada para
reconhecimento de fonema no reconhecimento de fala e caligrafia.
CUDNN_BATCHNORM_SPATIAL_PERSISTENT
A função CUDNN_BATCHNORM_SPATIAL_PERSISTENT é um novo lote
modo de normalização para cudnnBatchNormalizationForwardTraining
e cudnnBatchNormalizationBackward. Este modo é semelhante a
CUDNN_BATCHNORM_SPATIAL, no entanto, pode ser mais rápido para algumas tarefas.
cudnnQueryRuntimeError
A função cudnnQueryRuntimeError relata códigos de erro escritos pela GPU
kernels ao executar cudnnBatchNormalizationForwardTraining
e cudnnBatchNormalizationBackward com o
Modo CUDNN_BATCHNORM_SPATIAL_PERSISTENT.
cudnnGetConvolutionForwardAlgorithm_v7
Esta nova API retorna todos os algoritmos classificados por desempenho esperado
(usando heurísticas internas). Esses algoritmos são produzidos de forma semelhante a
cudnnFindConvolutionForwardAlgorithm.
cudnnGetConvolutionBackwardDataAlgorithm_v7
Esta nova API retorna todos os algoritmos classificados por desempenho esperado
(usando heurísticas internas). Esses algoritmos são produzidos de forma semelhante a
cudnnFindConvolutionBackwardAlgorithm.
cudnnGetConvolutionBackwardFilterAlgorithm_v7
Esta nova API retorna todos os algoritmos classificados por desempenho esperado
(usando heurísticas internas). Esses algoritmos são produzidos de forma semelhante a
cudnnFindConvolutionBackwardFilterAlgorithm.
CUDNN_REDUCE_TENSOR_MUL_NO_ZEROS
A função MUL_NO_ZEROS é uma redução de multiplicação que ignora zeros no
dados.
CUDNN_OP_TENSOR_NOT
A função OP_TENSOR_NOT é uma operação unária que leva o negativo de
(alfa * A).
cudnnGetDropoutDescriptor
A função cudnnGetDropoutDescriptor permite que os aplicativos sejam eliminados
valores.

Certo, estou pensando em começar uma nova edição que é mais um "blog" de CUDA 9 RC + cuDNN 7.0. Eu tenho um TF build "na minha mão" que foi corrigido, mas é CUDA 9RC e cuDNN 7.0 e quero ver se alguém está interessado em experimentá-lo. Eu também preciso ter certeza de que não há algum motivo estranho pelo qual não posso compartilhar. Há mudanças que precisam ser feitas em algumas bibliotecas upstream que o TensorFlow usa, mas você começará a ver PRs chegando da NVIDIA em um futuro próximo. Eu e a equipe pudemos testar CUDA 8 + cuDNN 6 em Volta e, em seguida, CUDA 9RC + cuDNN 7 em Volta (V100) com o código FP32. Eu só faço compilações para Linux e Python 2.7, mas se todos / alguns de vocês estiverem interessados, gostaria de tentar envolver a comunidade mais do que fizemos com cuDNN 6.0. Pode não ser muito divertido, mas eu quero oferecer, além de tentar fazer com que pareça mais como se estivéssemos juntos, em vez de estar sentindo falta de informações. Ainda quero criar listas de recursos nos quais estamos trabalhando, mas não prometemos para cuDNN 7 (e 6.0). @ cancan101 obrigado pela lista completa.

@tfboyd : Eu ficaria grato pelas descrições sobre como fazer CUDA 9.0RC + cuDNN 7.0. Estou usando um sistema estranho (ubuntu 17.10 beta com TF1.3, CUDA 8.0 e cuDNN 6.0 gcc-4.8) e atualizar para cuda 9 e cudnn 7 seria realmente bom em termos de compilação.

Eu verei o que posso fazer para conseguir o que você precisa para construir você mesmo e um
binário. O líder da equipe de desempenho indicou que posso tentar fazer isso acontecer
para que possamos ser mais transparentes e espero nos divertir mais como comunidade.
Conseguir o patch e como construí-lo não é muito difícil, mas é um pouco
Mais duramente. Também será muito informal, pois não tenho tempo para gerenciar um
ramo e o patch podem apodrecer bit (não aplicar de forma limpa) muito rapidamente. o
patch foi usado para garantir que todos os envolvidos estivessem ok com as mudanças no
geral e espero que os PRs individuais comecem a chegar.

Na sexta-feira, 11 de agosto de 2017 às 5h22, Erlend Aune [email protected]
escreveu:

@tfboyd https://github.com/tfboyd : Eu ficaria grato pelas descrições
em fazer CUDA 9.0RC + cuDNN 7.0. Estou usando um sistema estranho (ubuntu
17,10 beta com TF1.3, CUDA 8.0 e cuDNN 6.0 gcc-4.8), e atualização para
cuda 9 e cudnn 7 seriam na verdade bons compiladores.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-321798364 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZesj4WRkFKNX-Nt2oKtvp0oyQVBtM5ks5sXEdqgaJpZM4OuRL7
.

@tfboyd : Estou interessado, como você vai compartilhar? Um ramo?

@tfboyd Eu definitivamente estaria muito interessado também. Obrigado!

Tentando descobrir esta semana. A logística é muitas vezes mais difícil do que eu
pensar.

Em 12 de agosto de 2017 10:18, "Tanmay Bakshi" [email protected] escreveu:

@tfboyd https://github.com/tfboyd Eu definitivamente estaria muito interessado em
Nós vamos. Obrigado!

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-321994065 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZesjO42Rl1WCyW0KR22KgbydKh1O4Zks5sXd6AgaJpZM4OuRL7
.

Instruções e um binário para brincar se você gosta do Python 2.7. Vou encerrar isso porque atualizarei o problema que criei para rastrear o esforço. @ tanmayb123 @Froskekongen

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

Eu apenas tentei instalar o tensorflow-gpu-1.3.0 pré-compilado para Python 3.6 no Windows x64 e forneci a biblioteca cuDNN versão 7.0 com Cuda 8.0 e, pelo menos para mim, tudo parece funcionar. Não estou vendo nenhuma exceção ou problema.
Isso era esperado? CuDNN 7.0 é compatível com versões anteriores com cuDNN 6.0? Isso pode levar a algum problema?

@apacha Estou um pouco surpreso que funcionou. Já vi o erro antes em meu teste em que o binário TensorFlow não consegue encontrar cuDNN porque ele o procura pelo nome e os arquivos * .so incluem 6.0 / 7.0 nos nomes. Remotamente possível, você tem cuDNN 6 ainda em seu caminho. Não gosto de fazer suposições sobre sua configuração, mas se estivesse fazendo uma aposta, diria que ainda está usando cuDNN 6.

Em relação à compatibilidade com versões anteriores, menos o TensorFlow sendo compilado para procurar uma versão específica. Não sei.

Finalmente, não é grande coisa. Os PRs cuDNN 7 estão quase aprovados / mesclados e o binário pré-compilado provavelmente mudará para cuDNN 7 a partir de 1.5.

ATUALIZAÇÃO em andamento para CUDA 9RC e cuDNN 7

  • PRs da NVIDIA estão quase aprovados
  • A alteração do EIGEN foi aprovada e mesclada
  • O teste FP16 começou a sério no V100 (Volta)

@tfboyd apenas para completar: eu estava usando cuDNN 5 anteriormente e, como tive que atualizar para o tensorflow 1.3, estava pulando para o cuDNN versão 7 para tentar. Excluí explicitamente cudnn64_5.dll e não há cudnn64_6.dll em meu caminho de instalação do CUDA. Talvez seja a mágica do Windows. :-P

Porém, observe uma coisa: ainda estou usando o CUDA 8.0, não o 9.0.

@apacha Pode ser a mágica do Windows. Eu não queria soar como um julgamento, pois não tinha ideia. Acho que a magia do Windows é possível, pois as chamadas cuDNN não deveriam ter mudado e, portanto, parece provável que seja compatível com versões anteriores. Para as compilações do Linux, o TensorFlow está procurando por arquivos específicos (ou é assim que parece quando recebo erros) e fica muito infeliz se não encontra cudnnblahblah.6.so. Obrigado pela atualização e detalhes.

Existe um branch / tag que possamos verificar e experimentar?
Comecei uma nova instalação, Ubuntu 17 ... então novo gcc impõe CUDA 9, vejo que CuDNN que se encaixa é 7 ... você vê para onde estou indo.
Eu posso com certeza hackear minha configuração em muitos lugares (e começar do zero novamente com o Ubuntu 16) apenas estou tão perto, dizem que a correção está perto ... por que dar um grande salto no passado se eu posso fazer um pequeno salto no futuro!

Os PRs estão quase aprovados. Eles estão em revisão. Eu suspeito de mais alguns
semanas no máximo, mas essas revisões podem demorar. Eu acho que esses são todos
eles. Pode haver um atraso ou uma mudança para obter a mudança EIGEN para
CUDA 9. Não os preparei pessoalmente. Eles se aproximam a cada dia.

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

Na terça-feira, 12 de setembro de 2017 às 19h49, Remi Morin [email protected]
escreveu:

Existe um branch / tag que possamos verificar e experimentar?
Iniciou uma nova instalação, Ubuntu 17 ... então novo gcc impõe CUDA 9,
Eu vejo que CuDNN que se encaixa com é 7 ... você vê para onde estou indo.
Posso com certeza hackear minha configuração em muitos lugares (e começar do zero
novamente com o Ubuntu 16) estou tão perto, dizem que a correção está perto ... por que
dar um grande salto no passado se eu conseguir dar um pequeno salto no futuro!

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-329041739 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZesrpX6TSN6fVESEsql3QNtjgo-LM9ks5sh0KqgaJpZM4OuRL7
.

@tfboyd Isso ainda é um problema? Percebi que o cuda 9.0 foi lançado apenas hoje.

O cuda 9.0 foi lançado, não consigo encontrar o arquivo de instalação do cuda 8.0 ....
pls atualizar tensorflow ...

O cuda 9.0 foi lançado, não consigo encontrar o arquivo de instalação do cuda 8.0 ....

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

@thomasjo thanks!

Então, seguindo @tfboyd aprovando os PRs que ele mencionou, o tensorflow 1.3 agora será compatível com CUDA 9 e cuDNN 7? Alguém em algum lugar realmente instalou isso com sucesso?

@voxmenthe Acabei de tentar instalar o tf1.3 com CUDA 9.0 e cuDNN7. Recebi o erro relacionado a este problema # 12489

EDIT: Basicamente, não sei como. Mas ao passar para o branch master (que no início não era instalado para mim) sem nenhuma alteração, fui capaz de instalá-lo. Embora, agora, quando tento importar tensorflow, ele diz que está faltando um módulo de plataforma.

Alguma indicação de quão perto os PRs associados estão indo? Instalei cuDNN 7 e percebi que estava causando problemas - posso fazer o downgrade para a v6, mas achei que poderia esperar se estiver perto de ser resolvido ...

Os PRs parecem ser aprovados. Eu não executo a compilação há alguns dias. Lembre-se de que 1.3 não teria essas mudanças como há um tempo atrás. 1.4 teria as mudanças. Espero que esta semana eu possa baixar as versões mais recentes e fazer uma nova compilação. Suspeito que alguém o fará bem antes de eu ter tempo.

Alguma chance de algum de vocês, pessoas espertas, estar fazendo um tutorial para tf 1.3 ou 1.4 com CUDA v9.0, cudnn 7.0 para Win 10 x64? Tentei instalar (Anaconda), mas continuo recebendo o erro '_pywrap_tensorflow_internal' e já verifiquei que msvcp140.dll foi adicionado ao meu caminho.

@ devilsnare007 : Acho que as melhores chances são seguindo https://github.com/philferriere/dlwin. Basta substituir as versões listadas pelas versões atuais. Observe que o TF 1.4 nem mesmo foi lançado. Mas o TF 1.3 deve funcionar bem com as instruções fornecidas. Assim que tudo tiver sido atualizado e o TF 1.4 lançado, atualizaremos esse tutorial.

O cuDNN 7.0 será compatível quando o TF 1.4 for lançado?

@soloice
No início (alguns dias atrás), consegui compilar o CUDA 9 (versão de lançamento) com cuDNN 7.0 sem alterações especiais e executei alguns testes tf_cnn_benchmarks.py em uma GTX 1080. Tudo parece bem. TF 1.4, que deve RC esta semana, terá os binários CUDA 8 e cuDNN 6, mas também compilará perfeitamente com CUDA 9 e cuDNN 7. O objetivo é que o TF 1.5 tenha CUDA 9 e cuDNN 7 no binário. Isso dá às pessoas tempo para atualizar suas bibliotecas de sistemas e mais tempo para testes. Se você estiver executando o Voltas, sinta-se à vontade para iniciar outro tópico e irei atualizá-lo e irá progredir no FP16 em tempo real.

@tfboyd Ótimo saber que o TF 1.4 é compilado com cuDNN 7! Se em algum momento você sentir vontade de criar um guia de instalação, será um ótimo serviço público para a comunidade DL.

Não tem problema, isso deve ser fácil e estou feliz em tentar preencher isso
Gap = Vão.

Na segunda-feira, 9 de outubro de 2017 às 9h42, Jeff [email protected] escreveu:

@tfboyd https://github.com/tfboyd Ótimo saber que o TF 1.4 compila
com cuDNN 7! Se em algum momento você sentir vontade de criar um guia de instalação,
seria um ótimo serviço público para a comunidade DL.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-335212652 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZesp7d2aT8gsGOWb6YjHH_CnpKXUIPks5sqkztgaJpZM4OuRL7
.

Existe a possibilidade de ter um whl que funcione com CUDA 9 e cuDNN 7.0?

Obrigado!

Vou publicar o meu (que provavelmente não será 1.4, mas sim um par próximo
e eu incluo o hash no nome) quando eu crio para teste, mas ele vai
ser ubuntu 16.04 (esqueci qual versão gcc), linux, python 2.7 apenas para sua informação.
E não devo compartilhar essas construções porque podem ser
confuso para as pessoas e vou enfatizar, por tudo que você sabe, incluí alguns
porta dos fundos maluca. Embora adicionar algum código secreto pareça muito trabalhoso
para mim.

Acho que as compilações gpu noturnas estão quase ativas (tenho certeza de que
sempre aconteceram, você só tinha que encontrá-los), o que significa que após 1,4 o
as compilações noturnas passarão para CUDA 9 + cuDNN 7 muito rapidamente.

Na segunda-feira, 9 de outubro de 2017 às 11h41, alexirae [email protected] escreveu:

Existe a possibilidade de ter um whl que funcione com CUDA 9 e cuDNN 7.0?

Obrigado!

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-335249979 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZeskJ5LXJwFcRpm-sKZ9QORoltrHOEks5sqmj1gaJpZM4OuRL7
.

@tfboyd Obrigado pela sua resposta. Finalmente consegui construir o TF mais recente a partir de fontes com suporte CUDA 8 + cuDNN 7 no Ubuntu 16.04 e tudo funciona bem no GTX 1080 Ti.

@tfboyd O 14.rc TF suporta CuDNN 7 e CUDA 9?

Ele está incluído se você construir a partir do código-fonte. Eu quero mudar o padrão
binários que exigem que eu execute alguns testes de regressão no K80s no AWS para
certifique-se de que tudo esteja certo e também crie compilações. Nós
imediatamente teve um problema, pois o driver NVIDIA precisava diminuir o desempenho
em Kokoro rodando no Google Cloud em 30%. Nada é totalmente correto
para a frente, mas CUDA 9 e cuDNN 7 estão na fonte 1.4 e têm como esperado em
testes muito limitados em Pascal para mim.

Em quinta-feira, 12 de outubro de 2017 às 2h40, Konstantin [email protected]
escreveu:

@tfboyd https://github.com/tfboyd 14.rc TF suporta CuDNN 7 e
CUDA 9?

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-336075883 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZesq03dvnXWd0GLXODBTNCWExlZGPnks5srd6pgaJpZM4OuRL7
.

Existe a possibilidade de ter um whl que funcione com CUDA 9, cuDNN 7.0 e python 3.5?

Depois que o TF 1.4 for finalizado, as compilações noturnas serão movidas para o CUDA 9 +
cuDNN 7 presumindo que não haja problemas. As construções que fiz e compartilhei para me divertir são
sempre python 2.7 porque esse é o padrão em meus sistemas de teste.

Na segunda-feira, 16 de outubro de 2017 às 6h59, Diego Stalder [email protected]
escreveu:

Existe a possibilidade de ter um whl que funcione com CUDA 9, cuDNN 7.0 e
python 3.5?

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-336894073 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZesqgclWqET4OufQHV3FAD4XxgnZiKks5ss2E6gaJpZM4OuRL7
.

Alguma data de lançamento prevista?

Todos aqueles que estão mastigando um pouco, apenas crie #master a partir do código-fonte. Não é muito difícil (apenas demorado), você obtém o CUDA / cuDNN mais recente, _and_ otimizações adicionais em uma instalação pip / whl (por exemplo, consulte as otimizações de CPU neste tut ). Além disso, na próxima atualização de CUDA / cuDNN, você pode construir novamente sem ter que esperar.

compilando a partir dos fontes, TF1.4 está funcionando com cuda 9.0, cuDNN v7.0.3 e python3.5

Posso construir a partir do código-fonte na plataforma win10?
Gostaria que o TF funcionasse em cuda 9.0, cuDNN v7, python3. 6 e win10

Construindo a partir dos fontes, TF1.4 está funcionando com cuda 9.0, cuDNN v7.0.3 e python2.7 também.

@affromero Você teve algum problema com jsoncpp por acaso?

Eu fiz um teste de tf_cnn_benchmarks no AWS de construção do ramal TF 1.4RC0 com CUDA 9 / cuDNN 7 e os resultados foram iguais ou ligeiramente mais rápidos do que CUDA 8 + cuDNN 6.

Edit: remove a menção Eu não estava tratando do comentário do elipeter. :-)

@elipeters

Quando dizemos construção, queremos dizer construir a partir da origem, não instalar um arquivo wheel. Uma roda já está compilada e os binários 1.4 suportam CUDA 8 + cuDNN 6. Para obter CUDA 9, você precisará compilar a partir do código-fonte. Eu nunca fiz a construção do Windows. Assim que o 1.4 for lançado, a equipe mudará as compilações noturnas para CUDA 9.

Existe o segundo candidato a lançamento (rc1) para 1.4 como roda pré-compilada (https://pypi.python.org/pypi/tensorflow). Alguém já testou isso com CUDA 9?

Tentei, mas não com o trabalho cuda 9.0.

Tentarei novamente.

1.4 é CUDA 8 + cuDNN 6 isso não funcionará com CUDA 9, você terá que compilar a partir do código-fonte
assim que 1.4 for lançado, trabalharemos para mudar as compilações noturnas para CUDA 9 e, em seguida, 1.5 provavelmente será CUDA 9.

Eu sei que CUDA 9 funciona bem ao compilar 1.4 a partir da fonte (ubuntu 16.04 / python 2) porque eu estava fazendo benchmarks na AWS no fim de semana passado.

Eu tenho uma receita recente sobre a construção da fonte aqui (por favor, poste um link para a roda CUDA 9.0 lá, assim que você construí-la)

Você é o melhor Yaroslav.

Na quarta-feira, 25 de outubro de 2017 às 8:11 AM, Yaroslav Bulatov [email protected]
escreveu:

Tenho uma receita recente sobre como construir a partir da fonte aqui
https://github.com/yaroslavvb/tensorflow-community-wheels (poste
um link para a roda CUDA 9.0 lá, assim que você construí-la)

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/12052#issuecomment-339361959 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AWZesmRwb0UmLWxzANWCq5RrT6teYtr5ks5ks5sv0-IgaJpZM4OuRL7
.

Olá, eu tento construir tensorflow gpu por win10 env, então eu também conheci este problema, alguém pode me ajudar, obrigado primeiro.
meu ambiente:
win10 + gtx 1080ti + cuda 9.0 + cuDNN 7 + visual studio profession 2015 + cmake 3.6.3 + python 3.5.4

quando eu mudar para tensorflow r1.4, e construir por cmake no ambiente win10, emitir exatamente que:

`CUSTOMBUILD: Erro interno: a declaração falhou em:" C: /dvs/p4/build/sw/rel/gpu_drv/r384/r384_00/drivers/compiler/edg/EDG_4.12/src/lookup.c ", linha 2652 [ C: \ TF \ tensorflow \ tensorflow \ contrib \ cmake \ build \ tf_core_gpu_kernels.vcxproj]

1 erro catastrófico detectado na compilação de "C: /Users/ADMINI~1/AppData/Local/Temp/tmpxft_00000c94_00000000-8_adjust_contrast_op_gpu.cu.cpp4.ii".

Compilação abortada.

Adjust_contrast_op_gpu.cu.cc

CUSTOMBUILD: erro nvcc: 'cudafe ++' morreu com status 0xC0000409 [C: \ TF \ tensorflow \ tensorflow \ contrib \ cmake \ build \ tf_core_gpu_kernels.vcxproj]

Erro CMake em tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj.Release. cmake: 267 (mensagem):
Erro ao gerar arquivo
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.cuc.obj`
image

O problema acima parece o próprio problema do cuda, mas quando eu mudo a versão do tensorflow para r1.3, outro problema é preciso:

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

Erro CMake em tf_core_gpu_kernels_generated_adjust_contrast_op_gpu.cu.cc.obj.Release. cmake: 267 (mensagem):
Erro ao gerar arquivo
C: /TF/test/tensorflow/tensorflow/contrib/cmake/build/CMakeFiles/tf_core_gpu_kernels.dir / __ / __ / core / kernels / Release / tf_core_gpu_kernels_generated_adjust_contrjast`op_gpu.cu
image

parece que o arquivo Adjust_contrast_op_gpu.cu.cc tem algum problema, mas não consigo encontrar nenhum erro nele.

os problemas acima me incomodam alguns dias, desejo que alguém me ajude nessa tentativa e sucesso, e espero fortemente que o google upgrade tensorflow suporte cuda 9.0 e cudnn 7 no ambiente win10.

Alguém lançou um whl para TensorFlow com CUDA 9 e cuDNN 7.0?

@vellamike Sei que sua pergunta é geral, mas a equipe do TF terá CUDA 9 nos binários com 1,5 que deve chegar no quarto trimestre. Por enquanto, você deve construir a partir do código-fonte.

Estou tentando construir 1.4 com CUDA 9 e cuDNN 7 no mac 10.13 high sierra. eu continuo recebendo esse erro

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

Alguma solução para isso?

@smitshilu possivelmente relacionado https://github.com/tensorflow/tensorflow/issues/2143

Por que 1.4 ainda não tem CUDA 9 nos binários? Esta versão foi lançada há muito tempo e para usar com o V100 a compilação a partir do código-fonte é necessária, o que não é tão fácil e rápido seguindo uma série de problemas relatados.

@ViktorM Que problemas você teve ao compilar a partir do código-fonte? Foi um pouco complicado, mas não tão difícil.

26-SET-2017 foi o GA para CUDA 9. Se lançarmos os binários CUDA 9 + cuDNN 7 no quarto trimestre, acho que será o mais rápido que atualizamos cuDNN. Não estive aqui por 8,5 a 9, então não tenho ideia. Eu gostaria que fôssemos um pouco mais rápidos, mas isso também significa que qualquer pessoa com uma configuração CUDA 8 precisa atualizar não apenas para CUDA 9, mas também precisa atualizar seu driver de dispositivo para 384.x, o que posso dizer que não é algo do pessoal de produção tome levemente.

Idealmente, teríamos compilações infinitas (ou apenas mais algumas, mas a matriz explode rapidamente), mas esse é outro problema que levaria muito tempo para explicar e duvido que muitas pessoas se importem.

BTW, observei 85 T ops / segundo com CUDA 9 em float16 matmul / V100 usando o contêiner NGC TensorFlow da Nvidia (em oposição a 8,8 T ops / s na minha GTX 1080 em casa). Estou realmente ansioso para ter essas melhorias na versão com suporte oficial!

@yaroslavvb Para ser muito honesto, estamos trabalhando em alguns problemas do FP16. Há um caminho nos tf_cnn_benchmarks para FP16 e o ​​foco está no ResNet50 primeiro e estamos trabalhando no escalonamento automático para FP16 também. Você pode tentar se estiver interessado, mas estamos trabalhando ativamente para resolver alguns problemas. As pessoas estão trabalhando nisso e está apenas demorando. Finalmente temos DGX-1s em casa, então também podemos brincar com os mesmos contêineres e tentar acompanhar o desempenho daquela plataforma exata avançando.

Ok, então vou instalar o Ubuntu 17.10 e só queria experimentar todas as últimas novidades para me divertir.
Antes de fazer isso, eu só queria saber se alguém tentou construir as pilhas abaixo a partir do código-fonte e teve alguma sorte?

-> Ubuntu 17.10, CUDA 9.0, cuDNN 7.0, TF master
-> Ubuntu 17.10, CUDA 8.0, cnDNN 6.1, TF 1.4

Estou encontrando o mesmo problema que @ xsr-ai, especificamente usando Python 3.6.3, VS 2017, CUDA 9, cuDNN 7.

@ aluo-x Você quer dizer que tentou no Windows 10? Supondo porque você disse VS 2017.

Sim, está correto. Aqui está o erro específico:

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 Você usou o c-make mais recente? ou seja, candidato a lançamento ou versão estável?

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

@ aluo-x Mesmo eu não tive muita sorte com o c-make. Mas você pode tentar construir com o Bazel?

@smitshilu Se não me engano, você está recebendo um erro em relação ao alinhamento, certo? Semelhante ao descrito aqui para pytorch: https://github.com/pytorch/pytorch/issues/2692

Tentei aplicar a mesma solução, que é remover todo o ___ align __ (sizeof (T)) _ dos arquivos problemáticos:
_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_

Não tenho certeza se isso causa problemas, mas parece estar funcionando bem até agora. E pelo que entendi, o runtime sempre usará um alinhamento fixo de 16 para a memória compartilhada.

Para as pessoas interessadas, carregamos CUDA 9 rodas. Não há necessidade de construir você mesmo! 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 da fonte (mestre).

Siga as instruções como nesta resposta para colocar o CUDA em funcionamento:
https://askubuntu.com/questions/967332/how-can-i-install-cuda-9-on-ubuntu-17-10

Observe, você pode querer usar estes comandos em vez da versão de 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

Para instalar o Tensorflow, você precisará

  1. Antes de compilar TF: configure corretamente as variáveis ​​de caminho (os caminhos da página NVIDIA não funcionaram para mim):
export PATH=/usr/local/cuda-9.0/bin:${PATH}
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-9.0/lib64
  1. Antes de compilar: Configure o bazel para usar a mesma versão do gcc que durante a instalação do 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. Ao seguir as instruções do TF assim que chegar à etapa de compilação do bazel, observe que você precisará de um sinalizador adicional para compilar com a versão do gcc superior a 4. *:
    bazel build --config=opt --config=cuda --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" //tensorflow/tools/pip_package:build_pip_package

@alexbrad Encontrei o mesmo problema ao construir para Mac GPU com CUDA 9, cuDNN 7. Essa solução também funcionou para mim e não tive nenhum problema com o TF até agora.
Mudanças na fonte e roda: https://github.com/nathanielatom/tensorflow/releases/tag/v1.4.0-mac

Ubuntu 16.04, TensorFlow 1.4 com CUDA 9.0 e cuDNN 7.0.3 já instalados e testados:

Instale o Tensorflow 1.4 da fonte

cd ~/Downloads
git clone https://github.com/tensorflow/tensorflow
cd tensorflow
git checkout r1.4
  • Configure para CUDA versão: 9.0
  • Configurar para cuDNN versão: 7.0.3
  • Obtenha sua capacidade de computação em https://developer.nvidia.com/cuda-gpus
  • Defino isso para 6,1 porque tenho uma GeForce GTX 1070
  • Configure outras opções conforme apropriado

./configure

Instalando o 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

Construindo 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

O nome do arquivo da roda tensorflow acima pode ser diferente
Apenas ls /tmp/tensorflow_pkg para verificar

Etapas de instalação para Mac 10.13, CUDA 9 e tensorflow 1.4 https://gist.github.com/smitshilu/53cf9ff0fd6cdb64cca69a7e2827ed0f

Alguém pode me dizer, como posso construir o pacote tensorflow whl a partir de fontes para o Windows no Linux (Ubuntu 16.04) com o bazel? Era possível para a versão 1.2 se eu certo. Obrigado.

@ValeryPiashchynski você pode seguir estas etapas https://www.tensorflow.org/install/install_sources

@smitshilu Obrigado pela resposta. Posso construir o pacote de roda no Ubuntu seguindo estes passos e tudo funciona bem no Ubuntu. Mas não consigo instalar aquele pacote whl no sistema operacional Windows (há um erro: não é supportet wheel). Então, minha pergunta é como posso construir um pacote no Ubuntu que posso instalar no Windows?

~ @ValeryPiashchynski Não acho que seja possível. ~

(retirando-o conforme os comentários abaixo sugerem o contrário)

A construção cruzada no Ubuntu para Windows deve ser possível um dia com o clang. Provavelmente exigirá muitas correções, já que os binários do Windows são compilados atualmente com o MSVC. Eu fiz basicamente a mesma pergunta quando conversei pessoalmente com @gunan na segunda-feira passada. Isso deveria ser bifurcado em um problema de GH próprio, uma vez que tem pouco a ver diretamente com CUDA?

A compilação cruzada é possível com o bazel, mas não tenho certeza de como fazê-lo no tensorflow. Para referência
https://github.com/bazelbuild/bazel/wiki/Building-with-a-custom-toolchain
https://github.com/bazelbuild/bazel/issues/1353

Alguém sabe se as compilações noturnas de tensorflow 1.5 postadas aqui (compilações win10) têm suporte para CUDA9 + CuDNN7?
https://pypi.python.org/pypi/tf-nightly-gpu/1.5.0.dev20171115

Por outro lado, é totalmente irresponsável fechar este tíquete, assim como o # 14126, só porque você disse "Ele será lançado com o TF 1.5". MXNET 0.12 já tem CUDA9 FP16 em produção. Tensorflow e CNTK precisam se apressar. Não é apenas benéfico para Volta.

Ainda não, estamos trabalhando na atualização de nossa infra-estrutura de compilação para CUDA 9.
Nosso objetivo é ter pacotes pip com CUDA 9 antes do final desta semana.

eu tenho dois computadores e ontem instalei 1080ti e instalei tudo (cuda8 e cudnn6) novo driver gráfico, visual studio 2015
eu comparo o tempo da época 1080ti vs 980ti
e vejo 1080ti rodando cada época em 22 min, mas 980ti rodando em 13 min !!! (lote = 60 para 1080 vs lote = 20for 980ti)
porque 1080ti funciona mais lento que 980ti !!!! e como posso verificar o que está errado ?!

Qual é o tempo de execução se você usar 20 lotes para 1080Ti?

@gunan ,

@smitshilu
em 1080ti com 20 lote = 26 min
e com 60batch = 19min
em 980gtx com lote 20 = 14 min !!!!
eu uso windows, instalo a última versão do driver com cuda 8 e cudnn 6
como posso descobrir por que é executado mais lento do que 980?

@nasergh Você tem GTX 1080ti e 980ti no SLI?

@vickylance
Não
dois computadores diferentes!
ambos são cori7 e disco rígido de 1 TB e eu carrego imagens de dados de HDD sata de 1 TB
mas em 980 eu tenho windows no disco rígido SSD
Eu tento uma versão diferente do driver última coisa que eu verifico 388.13 baixado do site da asus com CUDA 8 e cudnn 6
eu não sei qual destes é o motivo
1- janelas! talvez funcione melhor no linux
2- Velocidade do HDD
3- 1080TI falso
4- CUDA e cudnn não são compatíveis com 1080ti
5- CPU (a CPU no computador 1080TI é mais poderosa do que 980)
o que você sugere ?

@nasergh
1) A RAM é a mesma? se então. Não tenho certeza se afetará tanto, mas verifique se os MHz da RAM também são iguais em ambos os sistemas.
2) Verifique a% de utilização da GPU ao executar em 980ti e 1080ti. Use esta ferramenta se quiser verificar a utilização da GPU. https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer Existem outros melhores por aí, mas foi isso que me veio à cabeça.
3) Se você quiser obter o melhor desempenho, sugiro instalar o Ubuntu16.04 como dual boot em seu sistema 1080ti e usar CUDA 9.0 e cuDNN 7.0
4) Além disso, o Windows consome muitos recursos do sistema por si só, portanto, executá-lo em um SSD definitivamente oferece uma vantagem, mas não dessa magnitude como visto em seu cenário de teste.

Talvez seja a arquitetura da placa selecionada.
TF é configurado por padrão para 3.0, 3.5 e 5.2; enquanto 1080TI é 6.1 (Pascal) enquanto 980 é 5.2 (Maxwell) de acordo com https://en.wikipedia.org/wiki/CUDA#GPUs_supported.
Talvez o downgrade para 3.0 ou 5.2 não seja eficiente no 1080TI, embora seja nativo para o 980?
Tente computar com os recursos 5.2 e 6.1 (consulte CMakeLists.txt l.232 e l.246)

De: nasergh [mailto: [email protected]]
Enviado: mercredi, 22 de novembro de 2017, 17:17
À: tensorflow / tensorflow
Cc: sylvain-bougnoux; Manual
Objet: Re: [tensorflow / tensorflow] Atualize para CuDNN 7 e CUDA 9 (# 12052)

@vickylance
Não
dois computadores diferentes!
ambos são cori7 e disco rígido de 1 TB e eu carrego imagens de dados de HDD sata de 1 TB
mas em 980 eu tenho windows no disco rígido SSD
Eu tento uma versão diferente do driver última coisa que eu verifico 388.13 baixado do site da asus com CUDA 8 e cudnn 6
eu não sei qual destes é o motivo
1- janelas! talvez funcione melhor no linux
2- Velocidade do HDD
3- 1080TI falso
4- CUDA e cudnn não são compatíveis com 1080ti
o que você sugere ?
-
Você está recebendo isto porque está inscrito neste tópico.
Responda a este e-mail diretamente, visualize-o no GitHub ou ignore a conversa.

ambiente: cuda9.0 + cudnn7.0 + tf1.4 , e encontro um erro quando executo o exemplo "ptb", TypeError: __init __ () obteve um argumento de palavra-chave inesperado 'input_size', 'input_size' é o parâmetro do CudnnLSTM

depois de assistir este tópico por meses, vou experimentá-lo no Gentoo linux

eu tenho asus strix 1080TI
1- no ubunto eu posso usar o driver no site da nvidia ou devo fazer o download da asus (porque não vejo o driver para linux no site da asus)
2- a última versão está ok ou devo instalar 378.13 porque vejo na maioria dos comentários que dizem usar 378.13?
obrigado

Para aqueles no Windows, acabei de fazer o upload do TF 1.4.0 desenvolvido com CUDA 8.0.61.2, cuDNN 7.0.4, Python 3.6.3, com suporte a AVX em meu repo . Esperançosamente, isso é o suficiente até que CUDA 9 seja resolvido no Windows.

Estou tentando instalar CUDA9 e cudnn 7 no ubuntu 16.04 e python 3.6
mas estou falhando :(
eu tento de tudo, procuro em todos os lugares, mas ainda dá o mesmo erro "importError: libcublas.so.8.0 não pode abrir o arquivo de objeto compartilhado: nenhum arquivo ou diretório.
eu acho que tensor quer rodar CUDA8
como posso dizer a ele para usar cuda9? !!!! se a resposta for executada a partir da fonte, como exatamente? não vi um site muito claro sobre a construção da fonte
obrigado

Você deve instalar o tf da fonte @ nasergh

@ withme6696
como posso instalá-lo da fonte?

eu sei que posso baixar um deste
https://github.com/mind/wheels/releases
mas não sei baixar qual e como instalá-lo !?

@nasergh verifique nosso README para saber como instalar. Se você não se importa em instalar o MKL, você pode fazer

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

Se você não quiser instalar o MKL, você pode fazer

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

Vou usar esse problema como o problema de rastreamento para o suporte CUDA 9.
Atualmente, existem dois bloqueadores:
1 - https://github.com/tensorflow/tensorflow/pull/14770
2 - No windows, parece que temos um bug com o NVCC. A construção do TF com CUDA9 parece estar falhando com uma falha do compilador. A NVIDIA está ajudando a investigar isso e, assim que tivermos uma atualização, prosseguiremos.

@danqing
Obrigado
1- MKL quanto melhora a velocidade?
2- na versão sem MKL eu preciso instalar o MKL ?!

para 1, veja isto - observe que os cálculos feitos na GPU não terão a velocidade obviamente acelerada.

para 2, você não. certifique-se de instalar a versão correta.

btw, este é um tópico com muitos assinantes. Se você tiver problemas futuros com nossas rodas, abra um problema em nosso repositório em vez de comentar abaixo, para não enviar spam para muitas pessoas.

@Tweakmind : Não consigo passar nesta parte:

Construindo 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

A primeira linha parece estar incompleta (faltando aspas duplas)? São três linhas ou duas linhas?

@goodmangu o código correto, eu acho, é:

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

Aspas duplas estão faltando no comando.

Estou superando essa parte usando o script aqui , mas estou sendo bloqueado por alguns erros do compilador cuda em https://github.com/tensorflow/tensorflow/issues/15108

Obrigado rapazes. Apreciei isso. Comecei a trabalhar no mesmo dia, usando o binário noturno do Linux. Veja: https://github.com/tensorflow/tensorflow
Agora rodando 3 GTX 1080 Tis com Keras. Legal!

Passei os últimos dois dias tentando construir o Tensorflow a partir da fonte (r1.4) para meu MacBook Pro com um eGPU. Driver funcionando, com Cuda 8.0, cuDNN 6.0, Mac OSX Sierra 10.12. Muito perto do fim, mas bloqueado por alguns erros de compilação após 20 minutos. Alguém teve sorte até agora? Qualquer pacote construído com sucesso que você possa compartilhar? Desde já, obrigado.

@goodmangu Você poderia especificar qual "binário noturno do Linux" você usa?

Claro, este aqui: tf_nightly_gpu-1.head-cp27-none-linux_x86_64.whl

Ainda sem suporte do Windows 10 para Cuda 9.0 + cuDNN 7.0? Apenas verificando.
Tensorflow GPU 1.4.0

@goodmangu Tentei com 1.4, mas OSX 10.13 e CUDA 9 cuDNN 7. Você pode encontrar as etapas aqui

@ eeilon79 existe um bug nvcc no Windows que nos impede de construir binários. Estamos recebendo ajuda da nvidia para corrigir esses problemas.

Existe alguma atualização para CUDA 9 na versão noturna do Tensorflow (1.5-dev) no pacote tf-nightly-gpu pip? Precisa usar este 1.5 para o CuDNNLSTM em Keras

OK, o PR acabou de ser mesclado.
Em cerca de 10-12 horas, nossos novos nightlies devem ser construídos com cuda9, exceto para janelas.
No Windows, ainda estamos bloqueados por um bug do NVCC.

Terminei o pacote CUDA 9 e CUDANN 7 geral para o sistema Gentoo e tentei o teste simulado e parece que estou trabalhando por tensorflow de importação simulada como tf em python, mas preciso fazer testes adicionais:

Estou usando o commit: c9568f1ee51a265db4c5f017baf722b9ea5ecfbb

No Windows, ainda estamos bloqueados por um bug do NVCC.

Você se importaria de postar o link aqui para esse problema? Desde já, obrigado!

@smitshilu Seu artigo me ajudou.
E escrevi um artigo com alguns elementos adicionados.
https://github.com/masasys/MacTF1.4GPU

@arbynacosta
eu corro
bazel build --config = opt --config = cuda // tensorflow / tools / pip_ package: build_pip_package --cxxopt = "- D_GLIBCXX_USE_CXX11_ABI = 0"
mas eu recebo este erro
Erro: o comando de construção só é compatível com a área de trabalho.

Eu também tento tensor todas as noites, mas dá erro
attributeerror: módulo 'tensorflow' não tem atributo ....
saída de dir (tf)
['__doc__', '__loarder__', '__name__', __package__ '' __path__ __spec__]

Desculpe @goodmangu , eu estava fora. Você conseguiu fazer funcionar? Eu perdi as aspas duplas de fechamento, como @arbynacosta apontou. Eu tenho isso em execução no Ubuntu 17.10 agora com CUDA 9.0 e cuDNN 7.0.4. Posso trabalhar em uma versão do MacOS, se necessário. Abandonei o Win10 e o MacOS, mas posso trabalhar neles neste fim de semana se as pessoas precisarem.

@nasergh , você está executando esse comando de dentro do diretório tensorflow clonado. Certifique-se de que WORKSPACE existe no diretório.

Por exemplo:

~/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
eu corro o comando
sudo su
e vá para a pasta tensorflow (havia um arquivo de espaço de trabalho lá)
mas eu recebo esses erros

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 Certifique-se de seguir todas as instruções aqui:
https://www.tensorflow.org/install/install_sources

Se você estiver construindo com suporte para GPU, certifique-se de que está configurando corretamente.

Instale o Tensorflow 1.4 da fonte.

cd $HOME/Downloads
git clone https://github.com/tensorflow/tensorflow
cd tensorflow
git checkout r1.4
./configure

A saída de amostra e as opções serão diferentes daquelas nas instruções

  • Certifique-se de configurar para CUDA versão: 9.0
  • Certifique-se de configurar para cuDNN versão: 7.0.4
  • Certifique-se de conhecer sua capacidade de computação em https://developer.nvidia.com/cuda-gpus
  • Defino isso para 6,1 porque tenho uma GeForce GTX 1070

Instalando o 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

Construindo 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 : obrigado por entrar em

@Tweakmind
eu sigo e também configuro o arquivo, mas ele diz

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

Acho que instalei cuda e cudnn corretamente
`` `
find / 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 , vou trabalhar na construção do MacOS no fim de semana.

@nasergh , você instalou cuDNN?

Aqui está meu guia para cuDNN incluindo fonte e documentos para testar a instalação:

Baixar arquivos cuDNN 7.0.4

Você deve fazer login em sua conta de desenvolvedor Nvidia em seu navegador

Verifique cada hash

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

A saída deve ser:

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

Instale cuDNN 7.0.4 e bibliotecas

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

Verificando cuDNN

Ubuntu 17.10 inclui a versão 7 + dos compiladores GNU
CUDA não é compatível com versão superior a 6
O erro retornado é:

erro - versão GNU não suportada! As versões do gcc posteriores a 6 não são suportadas!

Correção - instale a versão 6 e crie links simbólicos no diretório 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++

Agora crie mnistCUDNN para testar cuDNN

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

Se cuDNN estiver instalado corretamente, você verá:

Teste aprovado!

Caro @Tweakmind
seu jeito funciona, obrigado pela ajuda (eu estava tentando instalar o tensor por mais de 3 semanas !!!)
O problema é que eu o instalo no python3.6 e agora tenho um problema com o pacote 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.

eu tento instalar o travesseiro mas não adianta
Eu também tento instalar o PIL, mas

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

@nasergh O que você ganha com:

pip install pillow

O meu se parece com:

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

@nasergh , preciso travar, mas vou verificar quando acordar.

@goodmangu , não poderei construir o Mac no fim de semana porque não tenho acesso ao meu Mac Pro 2012. Esperançosamente, você está bem com o Ubuntu por enquanto. Eu sei que funciona bem para mim. Devo tê-lo de volta no próximo fim de semana.

@Tweakmind - Obrigado! , você viu algum aumento de desempenho com CUDA 9 e cuDNN 7?

Além disso, acho que algumas etapas mencionadas por @Tweakmind abaixo são redundantes, você também precisa:

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 foi lançado momentos atrás com CuDNN 7.0.5, com correções de bugs do compilador nvcc. Eu me pergunto se ele permite que os usuários do win10 compilem o Tensorflow 1.4.1? Já não era sem tempo.

De nossas correspondências com a NVIDIA, acho que o 9.1 não corrigiu esse problema.
No entanto, temos soluções alternativas. Primeiro, precisamos que este PR seja mesclado em eigen:
https://bitbucket.org/eigen/eigen/pull-requests/351/win-nvcc/diff

Em seguida, vamos atualizar nossa dependência eigen, que deve corrigir todas as nossas compilações para CUDA9

O pr foi recusado, mas parece que deve ser mesclado manualmente. Temos que esperar por um lançamento próprio ou ele está sendo construído pelos fontes?

Legal, então vai estar no Nightly pip?

@Tweakmind
eu tento reconstruir o tensor usando o python 2.7
mas na compilação do bazel recebo este erro
eu também instalo o numpy, mas nenhuma alteração.

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

Parece que o OSX foi excluído na versão 7.0.5 do cuDNN. Alguém sabe algo detalhado?

Ainda não consigo fazer o tensorflow-gpu funcionar no Windows 10 (com CUDA 9.0.176 e cudnn 7.0).
Desinstalei tensorflow e tensorflow-gpu e reinstalei-os (com o --no-cache-dir para garantir o download da versão mais recente com a solução alternativa eigen). Quando eu instalo ambos, minha GPU não é reconhecida:

InvalidArgumentError (veja acima para traceback): Não é possível atribuir um dispositivo para a operação 'random_uniform_1 / sub': A operação foi explicitamente atribuída a / device: GPU : 0 mas os dispositivos disponíveis são [/ job: localhost / replica : 0 / task: 0 / device : CPU: 0 ]. Certifique-se de que a especificação do dispositivo se refere a um dispositivo válido.

Quando eu instalo apenas tensorflow-gpu, ele reclama sobre a falta de uma dll:

ImportError: Não foi possível encontrar 'cudart64_80.dll'. O TensorFlow requer que essa DLL seja instalada em um diretório nomeado em sua variável de ambiente% PATH%. Baixe e instale o CUDA 8.0 a partir deste URL: https://developer.nvidia.com/cuda-toolkit

O que é estranho porque minha versão do CUDA é 9.0, não 8.0, e é reconhecida (teste de deviceQuery aprovado).
Minha versão do python é 3.6.3. Estou tentando executar este código no Spyder (3.2.4) para testar o tensorflow-gpu.
O que eu perdi?

Estou tentando compilar do código-fonte pelo bazel no win 7, obter erro

Sem caixa de ferramentas para cpu 'x64_windows'

Qualquer pessoa pode construir whl?

@ hadaev8 , preciso de muito mais informações para ajudar. Posso trabalhar em um whl mas terá dependências pesadas e não Win7, assim que resolver MacOS, resolverei Win10. Em qualquer caso, publique seus dados.

@ eeilon79 , preciso recriar isso no Win10. Atualmente estou focado no MacOS, agora que o Ubuntu está resolvido. Voltarei para o Win 10.

@nasergh , há um requisito para o python 2.7?

Com o CUDA 8.0 e o cuDNN 6.0, instalei o TensorFlow da fonte para GPU Cuda e suporte AVX2 no Win10:

Requisitos:

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

Instale o Visual Studio Community Edition Update 3 com Windows Kit 10.0.10240.0
Siga as instruções em: https://github.com/philferriere/dlwin (Obrigado, Phil)

Crie uma unidade virtual N: para maior clareza
Eu sugiro criar um diretório fora de C: ou sua unidade de escolha e criar N: com base nestas instruções (2 GB min):
https://technet.microsoft.com/en-us/library/gg318052 (v = ws.10) .aspx

Instale o Cuda 8.0 de 64 bits
https://developer.nvidia.com/cuda-downloads (role para baixo até Legado)

Instale cuDNN 6.0 para Cuda 8.0
https://developer.nvidia.com/rdp/cudnn-download
Coloque a pasta cuda do zip em N: \ e renomeie cuDNN-6

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

Instale o 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
ativar cntk-py 36
pip install https://cntk.ai/PythonWheel/GPU/cntk-2.2-cp36-cp36m-win_amd64.whl
python -c "import cntk; print (cntk .__ version__)"
conda instalar pygpu
pip install 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

Comente estes:

# 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()

Adicione estes:

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()

construção de mkdir e construção 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

- Construindo para: Visual Studio 14 2015
- Seleção do SDK do Windows versão 10.0.14393.0 para direcionar o Windows 10.0.16299.
- A identificação do compilador C é MSVC 19.0.24225.1
- A identificação do compilador CXX é MSVC 19.0.24225.1
- Verifique se o compilador C está funcionando: C: / Arquivos de programas (x86) / Microsoft Visual Studio 14.0 / VC / bin / x86_amd64 / cl.exe
- Verifique se o compilador C está funcionando: C: / Arquivos de programas (x86) / Microsoft Visual Studio 14.0 / VC / bin / x86_amd64 / cl.exe - funciona
- Detecção de informações ABI do compilador C
- Detecção de informações ABI do compilador C - concluído
- Verifique se o compilador CXX está funcionando: C: / Arquivos de programas (x86) / Microsoft Visual Studio 14.0 / VC / bin / x86_amd64 / cl.exe
- Verifique se o compilador CXX está funcionando: C: / Arquivos de programas (x86) / Microsoft Visual Studio 14.0 / VC / bin / x86_amd64 / cl.exe - funciona
- Detecção de informações ABI do compilador CXX
- Detecção de informações ABI do compilador CXX - concluído
- Detecção de recursos de compilação CXX
- Detecção de recursos de compilação CXX - concluído
- Executando teste COMPILER_OPT_ARCH_NATIVE_SUPPORTED
- Executando teste COMPILER_OPT_ARCH_NATIVE_SUPPORTED - Falha
- Executando teste COMPILER_OPT_ARCH_AVX_SUPPORTED
- Executando teste COMPILER_OPT_ARCH_AVX_SUPPORTED - Sucesso
- Executando teste COMPILER_OPT_WIN_CPU_SIMD_SUPPORTED
- Executando teste COMPILER_OPT_WIN_CPU_SIMD_SUPPORTED - Sucesso
- CUDA encontrado: C: / Arquivos de programas / NVIDIA GPU Computing Toolkit / CUDA / v8.0 (versão adequada "8.0" encontrada, o mínimo necessário é "8.0")
- PythonInterp encontrado: C: /Users/%USERNAME%/Anaconda3/python.exe (versão encontrada "3.6.3")
- PythonLibs encontrados: C: /Users/%USERNAME%/Anaconda3/libs/python36.lib (versão encontrada "3.6.3")
- SWIG encontrado: C: /Users/%USERNAME%/Tools/swigwin-3.0.12/swig.exe (versão encontrada "3.0.12")
- Configuração feita
- Geração feita
- Os arquivos de compilação foram gravados em: C: / Usuários /% NOME DE USUÁRIO% / Ferramentas / tensorflow / tensorflow / contrib / cmake / build

MSBuild /p:Configuration=Release tf_python_build_pip_package.vcxproj

@Tweakmind
python 3.6, tensorflow último do master, cuda 9.0, cudnn 7.0.5 para cuda 9.0, basel e swig carregados hoje.

@Tweakmind você constrói com o mestre ou?

@Tweakmind
Você pode criar no Windows com cuda 9 cudnn 7 e compartilhar .whl?

@Tweakmind

Você não tenta ganhar 10 com cuda 9 cudnn 7?

Obrigado pela sua experiência!

@ hadaev8 @ alc5978
pip install -U tf-nightly-gpu agora fornece uma versão win10 datada de 20171221, que é baseada no TF 1.5 beta com CUDA 9.0 e CuDNN 7.0.5. Corri ontem à noite, está tudo bem. Agora devemos passar para o CUDA 9.1 para a velocidade de inicialização do kernel CUDA 12x. O suporte a janelas do Tensorflow é muito lento e anêmico. Construções oficiais estáveis ​​devem ser oferecidas o mais rápido possível. Na verdade, pretendo que o Tensorflow 1.5 estável seja lançado com CUDA 9.1, até o final de janeiro, por favor?

Vá para http://www.python36.com/install-tensorflow141-gpu/ para a instalação passo a passo do tensorflow com cuda 9.1 e cudnn7.05 no ubuntu. E vá para http://www.python36.com/install-tensorflow-gpu-windows para instalação passo a passo do tensorflow com cuda 9.1 e cudnn 7.0.5 no Windows.

É 2018, quase final de janeiro e a instalação do TF com CUDA9.1 e CuDNN7 no Windows 10 ainda não foi feita?

1.5 é RC com CUDA 9 + cuDNN 7 e deve ir para GA nos próximos dias. (CUDA 9.1 era GA em dezembro e requer outra atualização de driver de dispositivo que causa interrupções para muitos usuários. O plano atual é manter a compilação padrão em CUDA 9.0.xe continuar atualizando para versões mais recentes de cuDNN).

Abri um problema para discutir o CUDA 9.1.

A melhoria da velocidade de inicialização do kernel 12x é mais sutil do que o número 12x. O limite superior de 12x é de ops com muitos argumentos e a interrupção para os usuários é alta devido à atualização do driver de dispositivo. Espero ter um "canal" testando 9.1 em um futuro próximo e descobrir como lidar com esse paradigma.

Espero que seja finalmente CUDA 9.1, não 9.0.

Espero que finalmente seja CUDA 9.1, não 9.0 também.

Tenho certeza de que finalmente será CUDA 9.1, não 9.0 também, não é? :)

@ViktorM @ Magicfeng007 @ alc5978
O tópico 9.1

Se alguém ainda está enfrentando problemas como Keras com back-end do TensorFlow que não usa GPU ... basta seguir as instruções nesta página. Ele está atualizado e funciona 100% corretamente.
https://research.wmz.ninja/articles/2017/01/configuring-gpu-accelerated-keras-in-windows-10.html

Olá a todos
Hoje instalo tensorflow-gpu 1.6.0rc1 no win10 com CUDA 9.0 e a biblioteca cuDNN 7.0.5 com http://www.python36.com/install-tensorflow-using-official-pip-pacakage/

Tudo parece bem

Eu criei um script para os pré-requisitos de GPU NVIDIA (CUDA-9.0 e cuDNN-7.0) para o TensorFlow mais recente (v1.5 +), aqui está o link .

Esta página foi útil?
0 / 5 - 0 avaliações