Tensorflow: Instrução ilegal (core despejado) após executar import tensorflow

Criado em 4 mar. 2018  ·  100Comentá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) : Linux Ubuntu 16.04
  • TensorFlow instalado de (fonte ou binário) : binário
  • Versão do TensorFlow (use o comando abaixo) :
    1.6.0-cp27-cp27mu-manylinux1_x86_64 (só posso adivinhar, pois python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" já me deu um erro)
  • Versão Python : Python 2.7.12
  • Comando exato para reproduzir : import tensorflow

Eu criei um novo ambiente virtual: virtualenv -p python2 test_venv/
E tensorflow instalado: pip install --upgrade --no-cache-dir tensorflow
import tensorflow me dá Illegal instruction (core dumped)

Ajude-me a entender o que está acontecendo e como posso consertar. Obrigada.

Informação da CPU:

          description: CPU
          product: Intel(R) Core(TM) i3 CPU       M 330  @ 2.13GHz
          bus info: cpu<strong i="31">@0</strong>
          version: CPU Version
          capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm arat cpufreq

EDITAR
Stacktrace obtido com gdb:

#0  0x00007fffe5793880 in std::pair<std::__detail::_Node_iterator<std::pair<tensorflow::StringPiece const, std::function<bool (tensorflow::Variant*)> >, false, true>, bool> std::_Hashtable<tensorflow::StringPiece, std::pair<tensorflow::StringPiece const, std::function<bool (tensorflow::Variant*)> >, std::allocator<std::pair<tensorflow::StringPiece const, std::function<bool (tensorflow::Variant*)> > >, std::__detail::_Select1st, std::equal_to<tensorflow::StringPiece>, tensorflow::StringPieceHasher, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_emplace<std::pair<tensorflow::StringPiece, std::function<bool (tensorflow::Variant*)> > >(std::integral_constant<bool, true>, std::pair<tensorflow::StringPiece, std::function<bool (tensorflow::Variant*)> >&&) ()
   from /media/gerry/hdd_1/ws_hdd/test_venv/local/lib/python2.7/site-packages/tensorflow/python/../libtensorflow_framework.so
#1  0x00007fffe5795735 in tensorflow::UnaryVariantOpRegistry::RegisterDecodeFn(std::string const&, std::function<bool (tensorflow::Variant*)> const&) () from /media/gerry/hdd_1/ws_hdd/test_venv/local/lib/python2.7/site-packages/tensorflow/python/../libtensorflow_framework.so
#2  0x00007fffe5770a7c in tensorflow::variant_op_registry_fn_registration::UnaryVariantDecodeRegistration<tensorflow::Tensor>::UnaryVariantDecodeRegistration(std::string const&) ()
   from /media/gerry/hdd_1/ws_hdd/test_venv/local/lib/python2.7/site-packages/tensorflow/python/../libtensorflow_framework.so
#3  0x00007fffe56ea165 in _GLOBAL__sub_I_tensor.cc ()
   from /media/gerry/hdd_1/ws_hdd/test_venv/local/lib/python2.7/site-packages/tensorflow/python/../libtensorflow_framework.so
#4  0x00007ffff7de76ba in call_init (l=<optimized out>, argc=argc@entry=2, argv=argv@entry=0x7fffffffd5c8, env=env@entry=0xa7b4d0)
    at dl-init.c:72
#5  0x00007ffff7de77cb in call_init (env=0xa7b4d0, argv=0x7fffffffd5c8, argc=2, l=<optimized out>) at dl-init.c:30
#6  _dl_init (main_map=main_map@entry=0xa11920, argc=2, argv=0x7fffffffd5c8, env=0xa7b4d0) at dl-init.c:120
#7  0x00007ffff7dec8e2 in dl_open_worker (a=a@entry=0x7fffffffb5c0) at dl-open.c:575
#8  0x00007ffff7de7564 in _dl_catch_error (objname=objname@entry=0x7fffffffb5b0, errstring=errstring@entry=0x7fffffffb5b8, 
    mallocedp=mallocedp@entry=0x7fffffffb5af, operate=operate@entry=0x7ffff7dec4d0 <dl_open_worker>, args=args@entry=0x7fffffffb5c0)
    at dl-error.c:187
#9  0x00007ffff7debda9 in _dl_open (
    file=0x7fffea7cbc34 "/media/gerry/hdd_1/ws_hdd/test_venv/local/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so", mode=-2147483646, caller_dlopen=0x51ad19 <_PyImport_GetDynLoadFunc+233>, nsid=-2, argc=<optimized out>, argv=<optimized out>, env=0xa7b4d0)
    at dl-open.c:660
#10 0x00007ffff75ecf09 in dlopen_doit (a=a@entry=0x7fffffffb7f0) at dlopen.c:66
#11 0x00007ffff7de7564 in _dl_catch_error (objname=0x9b1870, errstring=0x9b1878, mallocedp=0x9b1868, operate=0x7ffff75eceb0 <dlopen_doit>, 
    args=0x7fffffffb7f0) at dl-error.c:187
#12 0x00007ffff75ed571 in _dlerror_run (operate=operate@entry=0x7ffff75eceb0 <dlopen_doit>, args=args@entry=0x7fffffffb7f0) at dlerror.c:163
#13 0x00007ffff75ecfa1 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87
#14 0x000000000051ad19 in _PyImport_GetDynLoadFunc ()
#15 0x000000000051a8e4 in _PyImport_LoadDynamicModule ()
#16 0x00000000005b7b1b in ?? ()
#17 0x00000000004bc3fa in PyEval_EvalFrameEx ()
#18 0x00000000004c136f in PyEval_EvalFrameEx ()
#19 0x00000000004b9ab6 in PyEval_EvalCodeEx ()
#20 0x00000000004b97a6 in PyEval_EvalCode ()
#21 0x00000000004b96df in PyImport_ExecCodeModuleEx ()
#22 0x00000000004b2b06 in ?? ()
#23 0x00000000004a4ae1 in ?? ()

EDITAR 2
Versão do Bazel: N / A
Versão CUDA / cuDNN: N / A
Modelo de GPU e memória: N / A

Depois de fazer o downgrade para uma versão mais antiga do tensorflow, o erro desaparece. Fui informado de que minha CPU (consulte as informações acima) pode não funcionar com algumas melhorias na nova API. Se for esse o caso, suponho que não haja solução para o meu problema. Portanto, vou fechar este tópico. Sinta-se à vontade para me corrigir. Obrigado pelo seu apoio

awaiting response

Comentários muito úteis

Tente correr
pip desinstalação tensorflow
E então
pip install tensorflow == 1.5

EDITAR
só para dar crédito, a solução é daqui:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Todos 100 comentários

Obrigado pelo seu post. Percebemos que você não preencheu o seguinte campo no modelo de problema. Você poderia atualizá-los se forem relevantes para o seu caso ou deixá-los como N / A? Obrigado.
Versão Bazel
Versão CUDA / cuDNN
Modelo de GPU e memória

Estou tendo o mesmo (ou similar) problema de "instrução ilegal" quando executo

import tensorflow as tf

Estou usando apenas a versão da CPU 1.6 no Ubuntu Linux de 64 bits.

Depois de fazer o downgrade para a versão CPU 1.5, ele não tem esse problema.

Como posso fazer o downgrade para a versão CPU 1.5?

Tente correr
pip desinstalação tensorflow
E então
pip install tensorflow == 1.5

EDITAR
só para dar crédito, a solução é daqui:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Obrigado konnerthg, até eu estava tendo o mesmo problema. Seu comando me ajudou a resolver esse problema. Obrigado novamente.

Mesmo aqui.
Com o volante mais recente, tive o problema de instrução ilegal no Ubuntu 16.04, no entanto, fiz downgrade para tensorflow-gpu == 1.5 e funciona!

rebaixar para 1.5 funcionou para mim também

@konnerthg Fazer o downgrade para 1.5 é apenas uma solução, este problema ainda não foi resolvido.
Qual commit / PR resolveu esse problema?

Também estou recebendo este erro no python 3.6

Ei !
Obrigado pela sua solução! Mesmo. Estou com esse problema há uma semana e estava começando a ficar louco! Valeu !

OBRIGADO pela solução. Funcionou no meu Ubuntu 16.04, 64 bits, python3.5.

Obrigado pela solução! O downgrade para a versão 1.5 corrigiu o problema. Testado em um servidor Ubuntu 16.04 com python 2.7

Mesmo problema, o downgrade do Tensorflow 1.6 para 1.5 resolveu. Executando Xubuntu 16.04 64 bits, Python 3.5.

Obrigado por tudo isso resolver meu problema no Python 3.6

_ (tensorflow) naniny @ Aspire-E5-573 : ~ $ pip unistall tensorflow

_ (tensorflow) naniny @ Aspire-E5-573 : ~ $ pip install tensorflow == 1.5

_ (tensorflow) naniny @ Aspire-E5-573 : ~ $ python

_ (tensorflow) naniny @ Aspire-E5-573 : ~ $ import tensorflow as tf

agora funciona sem problemas ...

Isso é muito estranho. Alguém sabe o que causa o problema? Estou surpreso que o TensorFlow 1.6 tenha um bug deste tamanho.

Também estou encontrando esse problema com tensorflow-gpu 1.6.0, no linux, usando o python 3.6.4. Eu instalei o tensorflow usando o próprio pip. Simplesmente executá-lo produz um SIGILL:

$ python3 -m tensorflow
zsh: illegal hardware instruction  python3 -m tensorflow

Recebo rastreamentos de pilha semelhantes ao que é mencionado na descrição deste tíquete.

Isso parece estar ocorrendo devido ao uso de instruções AVX nos pacotes mais recentes do Tensorflow carregados para o pip. Executar python3 por meio de GDB e desmontar os pontos de função de travamento para esta instrução:

=> 0x00007fffb9689660 <+80>:    vmovdqu 0x10(%r13),%xmm1

Que é uma instrução AVX não suportada em CPUs mais antigas ou com menos recursos que não têm suporte AVX. Os pacotes tensorflow (-gpu) 1.5.0 pip não usam instruções AVX e, portanto, não há problemas em usá-los com essas CPUs.

A solução seria para um build de tensorflow (-gpu) que não é compilado com instruções AVX para ser publicado (ou para construir uma cópia localmente). As instruções de instalação fornecidas não mencionam quaisquer requisitos específicos de CPU nem como determinar a compatibilidade com os binários fornecidos.

Enquanto isso, reverter para tensorflow (-gpu) 1.5.0 usando algo como @NinemillaKA mencionado acima é uma solução alternativa eficaz.

Eu tenho o mesmo problema e, como muitos comentaram, rebaixe de 1.6.0 para 1.5.0 .

Só para constar, tentei executar o tensorflow (versão somente para CPU) em 2 computadores diferentes:

Computador 1:

OS = Ubuntu 16.04 x64 LTS
Python = Python 3.6
pip version = 9.0.1
tensorflow version = TensorFlow 1.6.0
CPU = Intel Core 2 Quad Q6600  @2.40GHz

Computador 2:

OS = Ubuntu 16.04 x64 LTS
Python = Python 3.6
pip version = 9.0.1
tensorflow version = TensorFlow 1.6.0
CPU = Intel Celeron N2820 @2.413GHz

Concordo com @nacl que devemos ter esses requisitos sobre o conjunto de instruções mais claros e, se possível, uma compilação separada e atualizada para processadores que não oferecem suporte a instruções AVX. Para ser honesto, acho um pouco desanimador ter que trabalhar com versão desatualizada de qualquer tecnologia, acho que muitos pensam o mesmo.

A alternativa de ter uma construção diferente para cada tipo de arquitetura é usar o despacho dinâmico. Ou seja, o PyTorch tem um binário para todas as arquiteturas e seleciona as operações mais eficientes durante o tempo de execução @caisq

Obrigado

Eu também encontro o mesmo problema. Eu tentei em duas máquinas e funciona em uma delas.

Primeiro, instalei-o no meu MacBook Pro. E eu não tive nenhum problema.

MacBook Pro (Retina, Mid 2012)
CPU = 2.3 GHz Intel Core i7
OS = MacOS 10.13.3
Python = Python 3.6.4
pip version = 9.0.3
TensorFlow version = 1.6.0

Então, eu atualizei meu MacPro. Mas desta vez, estou recebendo Illegal instruction: 4 quando tento importar tensorflow.

Mac Pro (Mid 2010)
CPU = 2 x 2.4 GHz Quad-Core Intel Xeon
OS = MacOS 10.13.3
Python = Python 3.6.4
pip version = 9.0.3
TensorFlow version = 1.6.0

(Atualização em 30/03/2018)
O mesmo problema com o TensorFlow 1.7. Então, acho que uso o TensorFlow 1.5.

Isso ainda é um problema no 1.6 e potencialmente no 1.7. Por que está fechado? A solução de @yaroslavvb parece razoável. Eu fiz downgrade para 1.5 por agora.

Não tenho certeza, mas a partir deste link, desde a versão 1.6.0, o otimizador de instruções da CPU da intel foi introduzido no tensorflow. Acho que provavelmente essa é a causa.
https://software.intel.com/en-us/articles/intel-optimized-tensorflow-wheel-now-available

@captainst é um lançamento específico da Intel, diferente do lançamento oficial que você obtém ao fazer pip install . Problemas SIGILL após a atualização 1.6 são provavelmente causados ​​pela adição de AVX

Eu tenho o mesmo problema.
Ubuntu 18.04 x64
Python 3.6.5rc1
TensorFlow 1.7.0

Eu tive o mesmo problema. O downgrade para 1.5 funcionou para mim.

Mesmo aqui.

Eu também. CPU Arch Linux e Intel.

O mesmo aqui no Ubuntu 17. 10.1 VM, hipervisor KVM no Slackware, CPU Intel KabyLake

Eu acho que descobri. Eu tenho uma CPU G4600 que não tem suporte a AVX e isso foi adicionado no 1.6.

Sim, também bloqueio o suporte AVX.

Para corrigir isso na v1.6 e superior, você precisa compilar o tensorflow da fonte.

Quero usar o tensorflow-gpu (1.7) mais recente e não quero me limitar a 1.5. Então, a solução é construir tensorflow a partir da fonte sem o suporte AVX habilitado? Eu tenho um antigo Xeon E5420, mas estou usando tensorflow-gpu

dmoham1476 [email protected]于 2018 年 4 月 7 日 周六 上午 2:28 写道 :

Eu quero usar o mais recente tensorflow-gpu (1.7) e não quero ficar com
1,5. Então é a solução para construir tensorflow a partir da fonte sem suporte AVX
ativado? Eu tenho um antigo Xeon E5420, mas estou usando tensorflow-gpu

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-379337106 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AGeJnptN5yMdVaVdWTsIwcjOAJuJbUDQks5tl7PKgaJpZM4SbSGu
.

Você pode construir a partir do código-fonte do git clone master. Deve se ajustar automaticamente

para sua cpu.

Cumprimentos,

Jin

O downgrade para a versão 1.5 corrigiu o problema. Estou usando o Ubuntu 16.04 com python 2.7

Mesmo problema
Ubuntu = 16.10
python = 3,6
pip = 9.0.3
com tensorflow-gpu = 1,7
NVIDIA GTX 1070
CUDA 9.0

resolvido por:
pip3 install tensorflow-gpu == 1.5

o mesmo problema

mesmo problema
Ubuntu 16.04
com tensorflow-gpu 1.7 e 1.6

O mesmo problema nesta imagem Docker em execução em um bloco de notas Paperspace.

O problema está nas versões 1.6 e 1.7

Tendo o mesmo problema, rebaixado para 1,5. O Tensorflow importa agora, mas estou executando um script que precisa de tensorflow_hub. O script está gerando RuntimeError: o TensorFlow Hub depende da compilação 'tf-nightly' após 20180308 ou 'tensorflow ~ = 1,7'. Encontrado tf.VERSION = 1.5.0

obrigado, voltando para a versão 1.5 funcionou para mim também

Eu tive o mesmo problema com tf`1.8 no CentOS 7, apenas CPU. A redução para 1,5 funcionou.

Para aqueles que não querem fazer downgrade se você construir a partir do código-fonte, o problema está resolvido.

Tendo o mesmo problema, fazer o downgrade para 1.5 funcionou para mim.

Também tive esse problema no tensorflow-gpu 1.8.0, em paperspace fast.ai template machine

Eu tenho o mesmo problema com tensorflow-1.8.0. O problema é que não consigo fazer o downgrade para a versão 1.5, pois desejo treinar com retrain.py e, para esta versão do tensorflow, maior que 1.7 é um requisito. Então, alguma sugestão? Será útil se eu construir tensorflow a partir da fonte ?!

O mesmo problema aqui:
paperspace VM com modelo fast.ai
GPU: nvidia quadro P4000
tensorflow 1.8.0 instalado em virtualenv como em https://www.tensorflow.org/install/install_linux#installing_with_virtualenv deu o erro acima (incluindo ao instalar a roda recomendada mencionada na parte inferior da página)
ubuntu 16.04, python 3.6.3
pip uninstall tensorflow && pip install tensorflow-gpu==1.5.0 corrigiu o problema. Ainda não tentei compilar a partir do código-fonte.

Como uma observação lateral, grep avx /proc/cpuinfo não retorna nada, portanto, a CPU da minha VM não oferece suporte a instruções AVX.

Olá a todos, construir a partir da fonte resolveu o problema para mim.

در تاریخ یکشنبه ۱۳ مهٔ ۲۰۱۸ ، ۱:۴۷ laurentS [email protected] نوشت:

O mesmo problema aqui:
paperspace VM com modelo fast.ai
GPU: nvidia quadro P4000
tensorflow 1.8.0 instalado no virtualenv como em
https://www.tensorflow.org/install/install_linux#installing_with_virtualenv
deu o erro acima
ubuntu 16.04, python 3.6.3
pip uninstall tensorflow && pip install tensorflow-gpu == 1.5.0 corrigiu o
problema. Ainda não tentei compilar a partir do código-fonte.

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-388583280 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/APaJX3BUFgxCemEueanuAXMfqboX5MNqks5tx1FugaJpZM4SbSGu
.

Eu analisei o mesmo problema, mas depois de mudar para tensorflow-1.5 funcionou para mim.
Meu problema: - erro -> núcleo despejado
Processador: AMD® A4-3330mx apu com gráficos radeon (tm) hd × 2
Gráficos: AMD® Sumo
GNOME: 3.28.1
Tipo de sistema operacional: 64 bits, Ubuntu 18.04 LTS

Crédito: -https : //github.com/konnerthg

é claro que funciona com versões anteriores do tensorflow, mas preciso mais especificamente da versão 1.7.0 que é compatível com o novo tensorflowjs. Como pode?

@mctrjalloh compre uma nova CPU, eu acho

Eu resolvi isso. Não comprando uma nova CPU😏

Você tem que construir a partir de fontes, não é tão complicado

Mesmo problema no tensorflow-gpu 1.8.0 também

SO: Ubuntu 18.04
Python: 3.6.5

O mesmo para mim:

SO: Ubuntu 16.04
Python: 3.5
Versão do driver NVIDIA: 384.130

Editar: obras de construção de fontes

Muito obrigado!!!

CUDA9.0 + cuDNN7.1 + Tensorflow-gpu1.5 está funcionando

Mesmo problema. Testado no Ubuntu 16 e Ubuntu 17, em 3 máquinas diferentes, cada uma com> 8 GB de RAM e CPU> 4 ghz. Também está tendo problemas com máquinas GPU.

Mesmo problema no meu Ubuntu Server 16.04. Resolvido ao compilar o TensorFlow (r1.8) da origem e instalar o pip localmente: +1:

O problema também ocorre com as imagens do docker. Não quero compilar a partir do código-fonte. Existe uma maneira de contornar isso? Eu também não quero fazer downgrade.

No meu caso, compilar o TensorFlow (no Ubuntu 18.04) com o Bazel resolveu o problema. A compilação demorou, porém.

No meu caso também, recompilar o TensorFlow 1.9 resolveu o problema. No entanto, encontrei outro problema relacionado ao numpy 1.15. O downgrade para numpy 1.14.5 e a compilação funcionaram e foi possível instalar o pacote pip.

Por que este problema foi encerrado? Ainda está ocorrendo no TensorFlow 1.10.

Publiquei alguns links para algumas compilações da comunidade de tensorflow aqui que podem ajudar a evitar a necessidade de compilar a partir do código-fonte.

Na verdade, eu segui as instruções encontradas em https://www.tensorflow.org/install/install_linux e não recebo nada mais do que a "instrução ilegal (despejo de núcleo)" ao testar conforme solicitado na página de instalação.

Este problema não deve ser resolvido ou ter uma solução real que faça sentido (ou seja, não instalar a versão 1.5)

Funcionou no Ubuntu 18.04. Portanto, novamente, mencionar a versão na página de instalação pode ser uma boa ideia como uma solução sobre o que funciona e o que não funciona.

bem, esse problema parece continuar ... mas eu tenho uma solução muito simples
isso fará com que você siga as tendências ao mesmo tempo :-).

INSTALAR CONDA !!!
para instalar o conda, basta google :-)

crie um ambiente conda se desejar:

conda criar

e simplesmente execute:

conda install tensorflow

se o último comando não funcionar, procure por outro canal por
correndo:

anaconda search tensorflow

isso gera uma lista de canais de onde você pode baixá-lo.
escolha um canal e execute:

show anaconda

isto irá lhe pedir o comando que você precisa inserir para fazer o download
tensorflow.
Execute esse comando.

É isso !

MOVE TO CONDA !!!

Na quinta-feira, 23 de agosto de 2018 às 22h38 Alexis Wilke [email protected]
escreveu:

Na verdade, eu segui as instruções encontradas em
https://www.tensorflow.org/install/install_linux e não obtenha mais nada
do que a "instrução ilegal (core despejado)" ao testar conforme solicitado em
essa página de instalação.

Este problema não deve ser resolvido ou ter uma solução real que
faz sentido (ou seja, não instalar a versão 1.5)

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

O problema raiz pode ter a ver com protobuf e incompatibilidade em torno de pthread_once e std :: call_once. Eu me deparei com um segfault ao importar tensorflow logo após outro pacote do Google chamado frasepiece, e o fabricante do frase-arte corrigiu fazendo um patch para protobuf que substitui a implementação std :: call_once por outra.

https://github.com/google/sentencepiece/issues/186

Para tornar esse problema mais construtivo, acho que seria útil se o TensorFlow verificasse as instruções necessárias na CPU primeiro e imprimisse um erro, caso elas estivessem ausentes. Da mesma forma que atualmente diz que algumas instruções estão disponíveis, mas não foram compiladas. Então seria mais fácil diferenciar entre bugs e simplesmente não usar o binário correto para uma determinada CPU.

Sr. royyannick ..Infato eu tenho pesquisado no google por muitas vezes e isso afetou meus estudos de Keras e Tensoflow, mas hoje você fez o meu dia .. Você é ótimo.
Obrigado

Tentei o ambiente virtual e (f ... ing) conda (você, cara upstream, vá fys!) No tensorflow 1.10.1 (mais recente) no Ubuntu 16.04 com o mesmo erro. Mudou para a versão anterior 1.9 - tudo funciona bem.

Por acaso, reproduzi esse problema em uma máquina com uma CPU antiga. Aqui está o artigo que explica as opções possíveis para resolver o problema .

Aqueles que desejam instalar o TensorFlow mais recente para CPU antiga sem suporte a AVX, mas não têm tempo para compilar a partir da fonte, também podem baixar o arquivo WHL deste repositório Github .

Isso é BS. Rolei minha instalação para 1.9 (não 'antes de 1.6' como você diz neste artigo) e o binário funcionou (anteontem).

Se você executar isso na linha de comando:

1)

$ lsb_release -a| grep "Release" | awk '{print $2}'

2)

$ grep flags -m1 /proc/cpuinfo | cut -d ":" -f 2 | tr '[:upper:]' '[:lower:]' | { read FLAGS; OPT="-march=native"; for flag in $FLAGS; do case "$flag" in "sse4_1" | "sse4_2" | "ssse3" | "fma" | "cx16" | "popcnt" | "avx" | "avx2") OPT+=" -m$flag";; esac; done; MODOPT=${OPT//_/\.}; echo "$MODOPT"; }

e veja 16.04 para 1) e -mavx ou -mavx2 para 2) na saída, pode ser outro problema que não está relacionado com o suporte AVX.

Se essas bandeiras não estiverem lá, isso é algo que devo acrescentar à minha nota, graças a você.

Mesmo erro aqui,

CentOS 7, Python 3.6.5, Intel CPU core2 duo e8500. pip install.

a versão 1.9 não funciona. a versão 1.5 importa ok.

a versão 1.10 parece ok no meu laptop que tem Ubuntu 18.04 e Intel i5-6200U.

Isso é declarado em https://www.tensorflow.org/install/install_sources
Nota: a partir da versão 1.6, nossos binários pré-construídos usarão as instruções do AVX.

Acho que isso pode ter sido mencionado em um local muito mais proeminente!

Isso resolveu meu problema:
Depois de instalar o driver NVIDIA, CUDA Toolkit e CUDNN.
Primeiro desinstale tensorflow-gpu :

$ pip uninstall tensorflow-gpu

Em seguida, instale tensorflow-gpu usando Anaconda :

$ conda create -n tensorflow
$ conda install tensorflow-gpu -n tensorflow

Tente correr
pip desinstalação tensorflow
E então
pip install tensorflow == 1.5

EDITAR
só para dar crédito, a solução é daqui:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Obrigado funciona

Talvez relacionado à instrução AVX. pip pré-construído tensorflow-1.6 e versões superiores são construídos com instrução AVX, algumas CPUs não têm instrução AVX. tensorflow-1.5 pré-construído pip não é construído com a instrução AVX.
Sugestão: 1): use uma versão inferior do tensorflow
2): compilar uma versão superior do tensorflow da fonte

sim. De fato. Seria melhor, porém, se o software me dissesse em vez de apenas travar. Não tenho problemas com o requisito, apenas com a forma como é tratado ... No Linux, seria muito fácil fazer o check-in de /proc/cpuinfo para a linha flags onde avx precisaria aparecer. Caso contrário, gere um erro e exit(1) .

Aqui estão minhas bandeiras no meu computador antigo sem AVX

sinalizadores: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts bts rep_good noplmper est xtopc x dtopcx monitor dtopf_good noplcx dttopcx dtopcx nxtppcx dtpcpx monitor dcstm st64_perfm nxtopcx nxtopcx nxtopcx dpcpx monitor dtopx não_good noplcpx dtopcx 64 tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm ida flush_l1d

Informação do sistema

-
Descrição de 8 GB de RAM da Lenovo-G500: CPU
produto: Intel (R) Core (TM) i3 CPU M 330 @ 2,13 GHz
informações de ônibus: cpu @ 0
versão: versão da CPU
OS; Ubuntu-16.05
pip: versão 18 mais recente
Eu não tenho gpu

Eu também recebo o despejo do núcleo de instrução ilegal. tensorforflow 1.5 está funcionando para mim,
mas
Preciso instalar o tensorflowv1.10 0r mais recente para o meu projeto.

Tentei instalar no tensorflow de maneiras diferentes, essas são

  1. sem anacoda, python 2.7, usando pip ... pip install --upgrade tensorflow
    2 sem anacoda, python 3.5, usando pip ""
    3.sem anacoda, python 3.6, usando pip ""
    4.com anacoda, python 2.7, usando conda conda install -c conda-forge tensorflow
    5.sem anacoda, python 2.7, usando pip ""
    6.sem anacoda, python 2.7, usando pip ""

nem funcionou para mim,
qual é o problema.

@bandarikanth

A maneira como você instala o tensorflow não deve importar. O problema é que os binários pré-construídos do Tensorflow 1.6+ requerem as extensões do conjunto de instruções AVX e seu processador não suporta AVX. Você pode construir a partir do código-fonte, mover para um computador com um processador novo o suficiente ou ficar com o 1.5.

Obrigado

No domingo, 30 de dezembro de 2018, 12h24, Dan Stine < [email protected] escreveu:

@bandarikanth https://github.com/bandarikanth

A maneira como você instala o tensorflow não deve importar. O problema
é que os binários pré-construídos do Tensorflow 1.6+ requerem o AVX
https://en.m.wikipedia.org/wiki/Advanced_Vector_Extensions instrução
defina extensões e seu processador não suporta AVX. Você também pode
compilar a partir da origem, mover para um computador com um processador novo o suficiente ou manter
com 1,5.

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

funciona para mim se o downgrade para 1.5 (pip install tensorflow == 1.5)

Eu tenho esse problema com tensorflow-gpu 2.0

▶ uname -r; pacman -Q linux
5.0.10-arch1-1-ARCH
linux 5.0.10.arch1-1

▶ conda env export
name: Science
channels:
  - defaults
dependencies:
  - cudatoolkit=10.0.130=0
  - cudnn=7.3.1=cuda10.0_0
prefix: /home/archangel/anaconda3/envs/Science
▶ pip freeze | ack "tensor"
tensorflow-gpu==2.0.0a0
▶ ipython                                                          
Python 3.7.3 (default, Mar 27 2019, 22:11:17)                      
Type 'copyright', 'credits' or 'license' for more information      
IPython 7.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import tensorflow as tf                                    
[1]    25429 illegal hardware instruction (core dumped)  ipython   



md5-b2492dc6f0518a4ba524a15157565fb3



[18556.882892] traps: ipython[25429] trap invalid opcode ip:7fc41cde1a22 sp:7ffe68904500 error:0 in libtensorflow_framework.so[7fc41c877000+104c000]
[18556.885033] audit: type=1701 audit(1556951396.587:43): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=25429 comm="ipython" exe="/home/archangel/anaconda3/bin/python3.7" sig=4 res=1
[18556.894046] audit: type=1130 audit(1556951396.594:44): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@4-25462-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=?
 res=success'
[18557.506049] audit: type=1131 audit(1556951397.204:45): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@4-25462-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=?
 res=success'


Estou recebendo esta falha em um i7-3520M que oferece suporte a AVX .

EDIT: Deixa pra lá, a falha acontece em uma instrução shlx que faz parte do AVX2. Pelo menos isso mostra que o suporte AVX vanilla não é suficiente.

Ainda tenho o problema com o tensorflow 1.14.0 e 2.0.0b1.

Mesmo erro no Linux Mint 19 com 2.0.0b1.
Apenas instalado com pip3 conforme instruído na página de instalação do site oficial

tf1.5 não está disponível nos repositórios Debian 8.8.

É hora de experimentar o avx.

Isso foi ridiculamente difícil de encontrar em nós de cluster gerenciados, uma vez que o sistema operacional mata os processos python relacionados antes mesmo que eles possam escrever e liberar esta linha de "instruções ilegais" para um arquivo de log de saída, e o código de saída do processo python parece ser 0 .

Eu também estava usando 2.0.0-beta1, atualmente descobrindo se substituí-lo pelo 2.0.0 corrige isso.

Eu também tenho esse problema. Estou usando python2 . O downgrade para a versão CPU 1.5 ajudou.

Estou tendo esse problema com o Tensorflow 2 em execução em um ambiente virtual no Ubuntu 18.04. Só fico surpreso com o fato de os desenvolvedores do Tensorflow colocarem o TF 2 tão pronto e disponível com essa porcaria acontecendo. NÃO estou impressionado, vocês desenvolvedores TF.

saída dmesg (do bash):
[333908.854310] traps: python [12862] trap opcode ip inválido: 7f8c46e6d820 sp: 7ffc87609f78 erro: 0 em _pywrap_tensorflow_internal.so [7f8c3e250000 + a9f8000]
linuxmint 19
CPU Intel (R) Pentium (R) P6200 a 2,13 GHz
8 Gb de RAM (kingston)

Este é um GRANDE problema RELACIONADO à CPU.

Depois de ler este tópico e ter a mesma experiência, meu problema é que meu computador Linux é mais antigo e tem uma CPU que não suporta o conjunto de instruções AVX. Tenho tensorflow 1.5 em outro ambiente virtual, mas para usar tensorflow 2, terei que executar meus scripts no Google Colab

Não tenho conhecimento para dizer se a exigência de AVX faz sentido ou não. O que eu sei é que o problema não se apresenta apenas com CPUs mais antigas, mas também com CPUs bastante recentes, como o meu Intel N5000. Eu entendo que fazer o aprendizado profundo em um N5000 é um pouco forçado, mas se o tensorflow também for suportado pelo RaspberryPi, não vejo o problema.

De qualquer forma, instalei a última versão do TensorFlow (2.0) no meu Intel N5000 compilando-o da fonte. Demorou 14 horas porque tive que rodar a compilação em um único núcleo, já que precisa de muita RAM e tenho apenas 4 Gb convidados para a festa.

Eu me inspirei neste guia aqui, mas a experiência está longe de ser fácil, havia dependências que eu precisava instalar e relançar a compilação constantemente. E algumas outras coisas também que resolvi quando a compilação travou.

Divirta-se e obrigado pelo incômodo. Fornecer através do pip um binário já compilado para não-AVX era claramente muito para adicionar em seu fluxo de trabalho de integração contínua

Obrigado pela sua resposta, Luca. Eu tenho um desktop Ubuntu 18.04 muito antigo
que funciona muito bem, exceto na execução do TF2 e, na verdade,
o mais recente PyTorch (1.3.0), eu acho.
Torch 1.1.0 funciona bem para mim, e em relação ao TF2, eu uso o Google Colab que
funciona bem. Sou um analista de dados aposentado e mantenho meu perfil de amador

Obrigado pela sua postagem

Sábado, 7 de dezembro de 2019 às 18:52 Luca Olivieri [email protected]
escreveu:

Não tenho conhecimento para dizer se a exigência de AVX faz sentido ou
não. O que eu sei é que o problema não se apresenta apenas com os mais antigos
CPUs, mas também com CPUs bastante recentes, como a minha Intel N5000. entendi
fazer um aprendizado profundo em um N5000 é um pouco exagerado, mas se o tensorflow
é suportado também pelo RaspberryPi, não vejo problema.

De qualquer forma, instalei a última versão do TensorFlow (2.0) no meu Intel N5000
compilando-o a partir do código-fonte. Demorou 14 horas porque tive que executar o
compilação em um único núcleo, uma vez que precisa de muita RAM e eu só tenho
4Gb convidado para a festa.

Me inspirei neste guia aqui
https://tech.amikelive.com/node-882/how-to-build-and-install-the-latest-tensorflow-without-cuda-gpu-and-with-optimized-cpu-performance-on-ubuntu/
mas a experiência estava longe de ser tranquila, havia dependências constantes
falta disso, preciso instalar e reiniciar a compilação. E alguns
outras coisas também que resolvi quando a compilação travou.

Divirta-se e obrigado pelo incômodo. Fornecendo por meio do pip já é binário
compilado para não AVX era claramente demais para adicionar em seu
fluxo de trabalho de integração

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/tensorflow/tensorflow/issues/17411?email_source=notifications&email_token=ACYHH362LGI5EZY3G74CMVLQXQZKDA5CNFSM4ETNEGXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGSCPQ#issuecomment-562897214 ,
ou cancelar
https://github.com/notifications/unsubscribe-auth/ACYHH3YLNAER6NGNLKYNMPDQXQZKDANCNFSM4ETNEGXA
.

-
Clive DaSilva CPA, CMA
Casa: 416-421-2480 | Celular: 416-560-8820
Email: clive. [email protected]
LinkedIN: http://ca.linkedin.com/pub/clive-dasilva/3/197/b89

Tive o mesmo problema ao executar pipelines de CI em um servidor Gitlab. A CPU (emulada) dos corredores não fornecia instruções AVX.

Instalar o Tensorflow com Conda em vez de usar as rodas do PyPI resolveu o problema. : +1:

Tenho o mesmo problema com o Tensorflow 2.1.0. O que fazer?

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              48
On-line CPU(s) list: 0-47
Thread(s) per core:  1
Core(s) per socket:  12
Socket(s):           4
NUMA node(s):        8
Vendor ID:           AuthenticAMD
CPU family:          16
Model:               9
Model name:          AMD Opteron(tm) Processor 6176
Stepping:            1
CPU MHz:             800.000
CPU max MHz:         2300.0000
CPU min MHz:         800.0000
BogoMIPS:            4599.77
Virtualization:      AMD-V
L1d cache:           64K
L1i cache:           64K
L2 cache:            512K
L3 cache:            5118K
NUMA node0 CPU(s):   0-5
NUMA node1 CPU(s):   6-11
NUMA node2 CPU(s):   12-17
NUMA node3 CPU(s):   18-23
NUMA node4 CPU(s):   24-29
NUMA node5 CPU(s):   30-35
NUMA node6 CPU(s):   36-41
NUMA node7 CPU(s):   42-47
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate vmmcall npt lbrv svm_lock nrip_save pausefilter

Consegui consertar meu problema compilando a partir do código-fonte usando o bazel. Ele criou um arquivo whl. Em seguida, instalei o caminho do arquivo whl pip

Sim, se sua CPU não suporta AVX (a causa provável do erro Illegal instruction (core dumped) ), então você precisa compilar a partir do código-fonte. Isso faz com que o código seja gerado sem instruções AVX e, em seguida, você pode usá-lo.

Além disso, isso garante que o pip seja construído com o nível de otimização mais alto disponível para sua plataforma, então você pode realmente ver alguma aceleração em comparação com o uso de um pip construído em uma plataforma diferente. Concentre-se em poder.

Para instalar o tensorflow com conda, execute este comando:
conda install -c conda-forge tensorflow
funciona para mim.

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