Tensorflow: Instrucción ilegal (núcleo volcado) después de ejecutar import tensorflow

Creado en 4 mar. 2018  ·  100Comentarios  ·  Fuente: tensorflow/tensorflow

Información del sistema

  • ¿He escrito código personalizado (en lugar de usar un script de ejemplo de stock provisto en TensorFlow) : No
  • Plataforma y distribución del sistema operativo (por ejemplo, Linux Ubuntu 16.04) : Linux Ubuntu 16.04
  • TensorFlow instalado desde (fuente o binario) : binario
  • Versión de TensorFlow (use el comando a continuación) :
    1.6.0-cp27-cp27mu-manylinux1_x86_64 (solo puedo adivinar porque python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" me da un error)
  • Versión de Python : Python 2.7.12
  • Comando exacto para reproducir : import tensorflow

Creé un entorno virtual nuevo: virtualenv -p python2 test_venv/
Y tensorflow instalado: pip install --upgrade --no-cache-dir tensorflow
import tensorflow me da Illegal instruction (core dumped)

Ayúdame a entender qué está pasando y cómo puedo solucionarlo. Gracias.

Información de la 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 obtenido con 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
Versión Bazel: N / A
Versión CUDA / cuDNN: N / A
Modelo de GPU y memoria: N / A

Después de degradar a una versión anterior de tensorflow, el error desaparece. Me han informado que mi CPU (ver información arriba) podría no funcionar con algunas mejoras en la nueva API. Si este es el caso, supongo que no hay solución para mi problema. Por lo tanto, cerraré este hilo. Aunque siéntete libre de corregirme. Gracias por tu apoyo

awaiting response

Comentario más útil

Intenta correr
pip desinstalar tensorflow
Y luego
pip install tensorflow == 1.5

EDITAR
solo para dar crédito, la solución es de aquí:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Todos 100 comentarios

Gracias por tu publicación. Notamos que no ha completado el siguiente campo en la plantilla de problemas. ¿Podrías actualizarlos si son relevantes en tu caso o dejarlos como N / A? Gracias.
Versión de Bazel
Versión CUDA / cuDNN
Modelo de GPU y memoria

Tengo el mismo (o similar) problema de "instrucción ilegal" cuando ejecuto

import tensorflow as tf

Solo estoy usando la versión CPU 1.6 en Ubuntu Linux de 64 bits.

Después de degradar a la versión CPU 1.5, no tiene este problema.

¿Cómo puedo cambiar a la versión CPU 1.5?

Intenta correr
pip desinstalar tensorflow
Y luego
pip install tensorflow == 1.5

EDITAR
solo para dar crédito, la solución es de aquí:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Gracias Konnerthg, incluso yo estaba teniendo el mismo problema. Su comando me ayudó a solucionar este problema. Gracias de nuevo.

Aquí igual.
Con la última rueda, tuve el problema de instrucciones ilegales en Ubuntu 16.04, sin embargo, bajé a tensorflow-gpu == 1.5 y ¡funciona!

bajar de categoría a 1.5 también funcionó para mí

@konnerthg La degradación a 1.5 es solo una solución, este problema aún no está resuelto.
¿Qué compromiso / RP resolvió este problema?

También recibo este error en Python 3.6

Ey !
Gracias por tu solución ! En realidad. ¡Tengo este problema desde hace una semana y estaba empezando a volverme loco! Gracias !

GRACIAS por la solución Funcionó en mi Ubuntu 16.04, 64 bit, python3.5.

¡Gracias por la solución! La degradación a la versión 1.5 solucionó el problema. Probado en un servidor Ubuntu 16.04 con python 2.7

El mismo problema, la degradación de Tensorflow 1.6 a 1.5 lo resolvió. Ejecutando Xubuntu 16.04 de 64 bits, Python 3.5.

Gracias por todo esto resuelve mi problema en 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 como tf

ahora funciona sin ningún problema ...

Esto es muy extraño. ¿Alguien sabe qué causa el problema? Me sorprende que TensorFlow 1.6 tenga un error tan grande.

También me encuentro con este problema con tensorflow-gpu 1.6.0, en linux, usando python 3.6.4. He instalado tensorflow usando pip. Simplemente ejecutar esto produce un SIGILL:

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

Obtengo rastros de pila similares a lo que se menciona en la descripción de este ticket.

Esto parece estar ocurriendo debido al uso de instrucciones AVX en los últimos paquetes de Tensorflow cargados en pip. Ejecutar python3 a través de GDB y desensamblar la función de bloqueo apunta a esta instrucción:

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

Que es una instrucción AVX que no es compatible con CPU más antiguas o con menos funciones que no tienen soporte AVX. Los paquetes de pip de tensorflow (-gpu) 1.5.0 no usan instrucciones AVX y, por lo tanto, no hay problemas para usarlo con estas CPU.

La solución sería publicar una compilación de tensorflow (-gpu) que no está compilada con instrucciones AVX (o compilar una copia localmente). Las instrucciones de instalación proporcionadas no mencionan ningún requisito de CPU específico ni cómo determinar la compatibilidad con los binarios proporcionados.

Mientras tanto, volver a tensorflow (-gpu) 1.5.0 usando algo como lo que @NinemillaKA mencionó anteriormente es una solución eficaz.

Tengo el mismo problema y, como muchos han comentado, cambio de 1.6.0 a 1.5.0 .

Para el registro, intenté ejecutar tensorflow (versión solo para CPU) en 2 computadoras diferentes:

Computadora 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

Computadora 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

Estoy de acuerdo con @nacl en que deberíamos tener esos requisitos sobre el conjunto de instrucciones más claros y, si es posible, una compilación separada y actualizada para procesadores que no admiten instrucciones AVX. Para ser honesto, me parece un poco desalentador tener que trabajar con versiones obsoletas de cualquier tecnología, creo que muchos sienten lo mismo.

La alternativa a tener una compilación diferente para cada tipo de arquitectura es utilizar el envío dinámico. IE, PyTorch tiene un binario para todas las arquitecturas y selecciona las operaciones más eficientes durante el tiempo de ejecución @caisq

Gracias

También me encuentro con el mismo problema. Lo probé en dos máquinas y funciona en una de ellas.

Primero, lo instalé en mi MacBook Pro. Y no tuve ningún 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

Así que actualicé mi MacPro. Pero esta vez, obtengo Illegal instruction: 4 cuando intento 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

(Actualización el 30/03/2018)
El mismo problema con TensorFlow 1.7. Así que supongo que uso TensorFlow 1.5.

Esto sigue siendo un problema en 1.6 y potencialmente en 1.7. ¿Por qué esta cerrado? La solución de @yaroslavvb parece razonable. Bajé la calificación a 1.5 por ahora.

No estoy seguro, pero desde este enlace, desde la versión 1.6.0, el optimizador de instrucciones de CPU de Intel se ha introducido en tensorflow. Creo que probablemente esta sea la causa.
https://software.intel.com/en-us/articles/intel-optimized-tensorflow-wheel-now-available

@captainst es una versión específica de Intel, diferente de la versión oficial que obtienes al hacer pip install . Los problemas de SIGILL después de la actualización 1.6 probablemente se deben a la adición de AVX

Tengo el mismo problema.
Ubuntu 18.04 x64
Python 3.6.5rc1
TensorFlow 1.7.0

Tuve el mismo problema. Bajar de categoría a 1.5 funcionó para mí.

Aquí igual.

Yo también. Arch Linux e Intel CPU.

Lo mismo en Ubuntu 17. 10.1 VM, hipervisor KVM en Slackware, CPU Intel KabyLake

Creo que lo descubrí. Tengo una CPU G4600 que carece de soporte AVX y esto se agregó en 1.6.

Sí, también bloqueo el soporte AVX.

Para solucionar este problema en v1.6 y superior, debe compilar tensorflow desde la fuente.

Quiero usar el último tensorflow-gpu (1.7) y no quiero ceñirme a 1.5. Entonces, ¿la solución para construir tensorflow desde la fuente sin el soporte AVX habilitado? Tengo un viejo Xeon E5420 pero estoy usando tensorflow-gpu

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

Quiero usar el último tensorflow-gpu (1.7) y no quiero ceñirme a
1.5. También lo es la solución para construir tensorflow desde la fuente sin soporte AVX
¿activado? Tengo un viejo Xeon E5420 pero estoy usando tensorflow-gpu

-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-379337106 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AGeJnptN5yMdVaVdWTsIwcjOAJuJbUDQks5tl7PKgaJpZM4SbSGu
.

Puede compilar desde el código fuente del git clone master. Debería ajustarse automáticamente

a ur cpu.

Saludos,

Jin

La degradación a la versión 1.5 solucionó el problema. Estoy usando Ubuntu 16.04 con python 2.7

El mismo problema
Ubuntu = 16,10
pitón = 3.6
pip = 9.0.3
con tensorflow-gpu = 1.7
NVIDIA GTX 1070
CUDA 9.0

resuelto por:
pip3 instalar tensorflow-gpu == 1.5

el mismo problema

el mismo problema
Ubuntu 16.04
con tensorflow-gpu 1.7 y 1.6

El mismo problema en esta imagen de Docker que se ejecuta en un cuaderno Paperspace.

El problema es con las versiones 1.6 y 1.7

Tener el mismo problema, rebajado a 1.5. Tensorflow importa ahora, pero estoy ejecutando un script que necesita tensorflow_hub. El script está lanzando RuntimeError: TensorFlow Hub depende de la compilación 'tf-nightly' después de 20180308 o 'tensorflow ~ = 1.7'. Encontrado tf.VERSION = 1.5.0

gracias volver a la versión 1.5 también funcionó para mí

Tuve el mismo problema con tf`1.8 en CentOS 7, solo CPU. La degradación a 1.5 funcionó.

Para aquellos que no quieran degradar si construye desde la fuente, el problema está resuelto.

Al tener el mismo problema, la degradación a 1.5 funcionó para mí.

También tuve este problema, en tensorflow-gpu 1.8.0, en la máquina de plantilla paperpace fast.ai

Tengo el mismo problema con tensorflow-1.8.0. El problema es que no puedo degradar a la versión 1.5 porque quiero entrenar con retrain.py y para esta versión de tensorflow es un requisito mayor que 1.7. Entonces, ¿alguna sugerencia? ¿Será útil si construyo tensorflow desde la fuente?

Mismo problema aquí:
máquina virtual de espacio de papel con plantilla fast.ai
Procesador gráfico: nvidia quadro P4000
tensorflow 1.8.0 instalado en virtualenv como en https://www.tensorflow.org/install/install_linux#installing_with_virtualenv dio el error anterior (incluso al instalar la rueda recomendada mencionada en la parte inferior de la página)
ubuntu 16.04, python 3.6.3
pip uninstall tensorflow && pip install tensorflow-gpu==1.5.0 solucionó el problema. Todavía no he intentado compilar desde la fuente.

Como nota al margen, grep avx /proc/cpuinfo no devuelve nada, por lo que la CPU de mi VM no admite instrucciones avx.

Hola a todos, la construcción desde la fuente resolvió el problema para mí.

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

Mismo problema aquí:
máquina virtual de espacio de papel con plantilla fast.ai
Procesador gráfico: nvidia quadro P4000
tensorflow 1.8.0 instalado en virtualenv como en
https://www.tensorflow.org/install/install_linux#installing_with_virtualenv
dio el error de arriba
ubuntu 16.04, python 3.6.3
pip uninstall tensorflow && pip install tensorflow-gpu == 1.5.0 arregló el
problema. Todavía no he intentado compilar desde la fuente.

-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-388583280 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/APaJX3BUFgxCemEueanuAXMfqboX5MNqks5tx1FugaJpZM4SbSGu
.

Fase el mismo problema, pero después de cambiar a tensorflow-1.5 funcionó para mí.
Mi problema: - error -> núcleo descargado
Procesador: AMD® A4-3330mx apu con gráficos radeon (tm) hd × 2
Gráficos: AMD® Sumo
GNOME: 3.28.1
Tipo de sistema operativo: 64 bits, Ubuntu 18.04 LTS

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

por supuesto, funciona con versiones anteriores de tensorflow pero necesito más específicamente la versión 1.7.0 que es compatible con el nuevo tensorflowjs. ¿Cómo puedo?

@mctrjalloh comprar una nueva CPU, supongo

Lo resolví. No comprando una nueva CPU😏

Tienes que construir a partir de fuentes, no es tan complicado

El mismo problema en tensorflow-gpu 1.8.0 también

SO: Ubuntu 18.04
Python: 3.6.5

Lo mismo para mi:

SO: Ubuntu 16.04
Python: 3.5
Versión del controlador NVIDIA: 384.130

Editar: construir a partir de fuentes funciona

¡¡¡Muchas gracias!!!

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

El mismo problema. Probado en Ubuntu 16 y Ubuntu 17, en 3 máquinas diferentes, cada una con> 8 GB de RAM y> 4 GHz de CPU. También tengo problemas con las máquinas GPU.

Mismo problema en mi Ubuntu Server 16.04. Resuelto compilando TensorFlow (r1.8) desde la fuente y pip install desde eso localmente: +1:

El problema también viene con las imágenes de la ventana acoplable. No quiero compilar desde la fuente. ¿Hay alguna forma de evitarlo? Yo tampoco quiero bajar de categoría.

En mi caso, compilar TensorFlow (en Ubuntu 18.04) con Bazel resolvió el problema. Sin embargo, la compilación tomó tiempo.

Mi caso también, recompilar TensorFlow 1.9 resolvió el problema. Sin embargo, encontré otro problema relacionado con numpy 1.15. La degradación a numpy 1.14.5 y la compilación funcionó, y se pudo instalar el paquete pip.

¿Por qué está cerrado este problema? Todavía ocurre en TensorFlow 1.10.

Publiqué algunos enlaces a algunas compilaciones de la comunidad de tensorflow aquí que podrían ayudar a evitar tener que compilar desde la fuente.

De hecho, seguí las instrucciones que se encuentran en https://www.tensorflow.org/install/install_linux y no obtuve nada más que la "Instrucción ilegal (núcleo descargado)" cuando realicé las pruebas según lo solicitado en esa página de instalación.

Este problema no debe cerrarse o tener una solución real que tenga sentido (es decir, no instalar la versión 1.5)

Funcionó en Ubuntu 18.04. De nuevo, mencionar la versión en la página de instalación puede ser una buena idea como solución sobre lo que funciona y lo que no.

Bueno, este problema parece que aún continúa ... pero tengo una solución muy simple
que te hará seguir las tendencias al mismo tiempo :-).

INSTALAR CONDA !!!
para instalar conda, solo búscalo en Google :-)

cree un entorno de conda si lo desea:

conda crear

y simplemente ejecuta:

conda instalar tensorflow

si el último comando no funciona, busque en otro canal por
corriendo:

tensorflow de búsqueda de anaconda

esto genera una lista de canales desde donde puede descargarlo.
elija un canal y ejecute:

espectáculo de anaconda

esto le indicará el comando que debe ingresar para descargar
tensorflow.
Ejecute ese comando.

Eso es todo !

MUDARTE A CONDA !!!

El jueves 23 de agosto de 2018 a las 10:38 p.m. Alexis Wilke [email protected]
escribió:

De hecho, seguí las instrucciones que se encuentran en
https://www.tensorflow.org/install/install_linux y no obtenga nada más
que la "Instrucción ilegal (núcleo descargado)" cuando se realiza la prueba según lo solicitado en
esa página de instalación.

Este problema no debe cerrarse o tener una solución real que
tiene sentido (es decir, no instalar la versión 1.5)

-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-415592389 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AWESkUXD-4XomnnPgF6D5QToWVH74JzAks5uTy7PgaJpZM4SbSGu
.

El problema raíz puede tener que ver con protobuf y la incompatibilidad entre pthread_once y std :: call_once. Yo mismo me encontré con un segfault al importar tensorflow justo después de otro paquete de Google llamado sentencia, y el creador de frase lo solucionó haciendo un parche para protobuf que reemplaza la implementación std :: call_once por otra.

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

Para hacer este problema más constructivo, creo que sería útil que TensorFlow verificara primero las instrucciones que requiere en la CPU e imprima un error si faltan. De manera similar, dice actualmente que algunas instrucciones están disponibles pero no compiladas. Entonces sería más fácil diferenciar entre errores y simplemente no usar el binario correcto para una CPU determinada.

Sr. Royyannick .. De hecho, he estado buscando en Google muchas veces y ha afectado mi estudio tanto de Keras como de Tensoflow, pero hoy me has alegrado el día .. Eres genial.
Gracias

Probé tanto el entorno virtual como (f ... ing) conda (¡tú, amigo upstream, go fys!) En el tensorflow 1.10.1 (más reciente) en Ubuntu 16.04 con el mismo error. Cambiado a la versión anterior 1.9 - todo funciona bien.

Sucedió que reproduje este problema en una máquina que ejecuta una CPU antigua. Aquí está el artículo que explica las posibles opciones para resolver el problema .

Aquellos que quieran instalar el último TensorFlow para CPU antiguas sin soporte AVX pero no tienen tiempo para compilar desde la fuente también pueden descargar el archivo WHL desde este repositorio de Github .

Esto es BS. Regresé mi instalación a 1.9 (no 'antes de 1.6' como dice en este artículo) y el binario funcionó (anteayer).

Si ejecuta esto en la línea 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"; }

y vea 16.04 para 1) y -mavx o -mavx2 para 2) en la salida, puede ser otro problema que no está relacionado con el soporte de AVX.

Si esas banderas no están ahí, eso es algo que debería agregar a mi nota, gracias a ustedes.

El mismo error aquí

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

la versión 1.9 no funciona. la versión 1.5 importa bien.

la versión 1.10 parece estar bien en mi computadora portátil que tiene Ubuntu 18.04 e Intel i5-6200U.

Esto se indica en https://www.tensorflow.org/install/install_sources
Nota: A partir de la versión 1.6, nuestros binarios prediseñados utilizarán instrucciones AVX.

¡Creo que eso podría haber sido mencionado en la ubicación mucho más prominente!

Esto resolvió mi problema:
Después de instalar el controlador NVIDIA, CUDA Toolkit y CUDNN.
Primero desinstale tensorflow-gpu :

$ pip uninstall tensorflow-gpu

Luego instale tensorflow-gpu usando Anaconda :

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

Intenta correr
pip desinstalar tensorflow
Y luego
pip install tensorflow == 1.5

EDITAR
solo para dar crédito, la solución es de aquí:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Gracias funciona

Quizás relacionado con la instrucción AVX. pip prebuilt tensorflow-1.6 y versiones superiores están construidas con instrucción AVX, algunas CPU no tienen instrucción AVX. pip prebuilt tensorflow-1.5 no está construido con la instrucción AVX.
Sugerencia: 1): use una versión más baja de tensorflow
2): compila una versión superior de tensorflow desde la fuente

Si. En efecto. Sin embargo, sería mejor si el software me lo dijera en lugar de simplemente fallar. No tengo ningún problema con el requisito, solo con la forma en que se maneja ... En Linux, sería muy fácil verificar /proc/cpuinfo para la línea flags donde avx debería aparecer. Si no, genera un error y exit(1) .

Aquí están mis banderas en mi vieja computadora sin AVX

banderas: 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 constante_tsc arch_perfmon pebs bts repp_goodstop vpl_stop smm_stop monitor dfsc_dperfmon vplm 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

Información del sistema

-
Descripción de Lenovo-G500 8GB RAM: CPU
producto: Intel (R) Core (TM) i3 CPU M 330 @ 2.13GHz
información del bus: cpu @ 0
versión: Versión de la CPU
OS; Ubuntu-16.05
pip: 18 versión más reciente
No tengo gpu

También obtengo el núcleo de instrucción ilegal abandonado. tensorforflow 1.5 funciona para mí,
pero
Necesito instalar tensorflowv1.10 0r más reciente para mi proyecto.

Intenté instalar en tensorflow de diferentes maneras, esas son

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

ni funcionó para mi,
cual es el problema.

@bandarikanth

La forma en que instale tensorflow no debería importar. El problema es que los binarios precompilados de tensorflow 1.6+ requieren las extensiones del conjunto de instrucciones AVX , y su procesador no es compatible con AVX. Puede compilar desde la fuente, pasar a una computadora con un procesador lo suficientemente nuevo o quedarse con 1.5.

Gracias

El domingo 30 de diciembre de 2018 a las 12:24 a.m., Dan Stine < [email protected] escribió:

@bandarikanth https://github.com/bandarikanth

La forma en que instale tensorflow no debería importar. El problema
es que los binarios precompilados de tensorflow 1.6+ requieren el AVX
https://en.m.wikipedia.org/wiki/Advanced_Vector_Extensions instrucción
establecer extensiones y su procesador no es compatible con AVX. Tu también puedes
construir desde la fuente, mover a una computadora con un procesador lo suficientemente nuevo, o pegar
con 1,5.

-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-450512554 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AZf77RdABm0uQsxiPx0uxd45q_rz9pUVks5u97pPgaJpZM4SbSGu
.

funciona para mí si se reduce a 1.5 (pip install tensorflow == 1.5)

Tengo este problema con 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'


Recibo este bloqueo en un i7-3520M que admite AVX .

EDITAR: No importa, el bloqueo ocurre en una instrucción shlx que es parte de AVX2. Al menos muestra que la compatibilidad con AVX vanilla no es suficiente.

Todavía tengo el problema con tensorflow 1.14.0 y 2.0.0b1.

Mismo error en Linux Mint 19 con 2.0.0b1.
Acabo de instalar con pip3 como se indica en la página de instalación del sitio oficial

tf1.5 no está disponible en los repositorios de Debian 8.8.

Es hora de probar avx.

Esto fue ridículamente difícil de encontrar en los nodos de clúster administrados, ya que el sistema operativo mata los procesos de Python relacionados antes de que puedan escribir y vaciar esta línea de "Instrucciones ilegales" en un archivo de registro de salida, y el código de salida del proceso de Python parece ser 0. .

También estaba usando 2.0.0-beta1, actualmente descubriendo si reemplazarlo con 2.0.0 soluciona esto.

También tengo este problema. Estoy usando python2 . La degradación a la versión CPU 1.5 ayudó.

Tengo este problema con Tensorflow 2 ejecutándose en un entorno virtual en Ubuntu 18.04. Simplemente me sorprende que los desarrolladores de Tensorflow pongan TF 2 listo y disponible con esta basura sucediendo. NO estoy impresionado, desarrolladores de TF.

salida dmesg (de bash):
[333908.854310] trampas: python [12862] trampa de código de operación no válido ip: 7f8c46e6d820 sp: 7ffc87609f78 error: 0 en _pywrap_tensorflow_internal.so [7f8c3e250000 + a9f8000]
linuxmint 19
CPU Intel (R) Pentium (R) P6200 a 2,13 GHz
RAM de 8 Gb (kingston)

Este es un GRAN problema RELACIONADO con la CPU.

Después de leer este hilo y tener la misma experiencia, mi problema es que mi computadora Linux es más antigua y tiene una CPU que no admite el conjunto de instrucciones AVX. Tengo tensorflow 1.5 en otro entorno virtual, pero para usar tensorflow 2, tendré que ejecutar mis scripts en Google Colab

No tengo el conocimiento para decir si el requisito de AVX tiene sentido o no. Lo que sé es que el problema se presenta no solo con las CPU más antiguas, sino también con las bastante recientes, como la mía Intel N5000. Entiendo que hacer deep learning en un N5000 es un poco exagerado, pero si el tensorflow también es compatible con RaspberryPi, no veo el problema.

De todos modos, instalé la última versión de TensorFlow (2.0) en mi Intel N5000 compilándola desde la fuente. Me tomó 14 horas porque tuve que ejecutar la compilación en un solo núcleo, ya que necesita mucha RAM y solo tengo 4 Gb invitados a la fiesta.

Me inspiré en esta guía aquí, pero la experiencia estuvo lejos de ser fluida, faltaban constantemente dependencias que necesito para instalar y relanzar la compilación. Y algunas otras cosas también que resolví cuando la compilación falló.

Diviértete y gracias por la molestia. Proporcionar a través de pip un binario ya compilado para no AVX era claramente demasiado para agregar a su flujo de trabajo de integración continua

Gracias por tu respuesta, Luca. Tengo un escritorio Ubuntu 18.04 realmente antiguo
que funciona muy bien excepto en la ejecución del TF2 y, de hecho,
el último PyTorch (1.3.0) creo.
Torch 1.1.0 funciona bien para mí, y con respecto a TF2, uso Google Colab, que
funciona bien. Soy un analista de datos jubilado y mantengo mi perfil de aficionado.

Gracias por tu publicación

El sábado 7 de diciembre de 2019 a las 6:52 p.m. Luca Olivieri [email protected]
escribió:

No tengo el conocimiento para decir si el requisito de AVX tiene sentido o
no. Lo que sé es que el problema se presenta no solo con personas mayores.
CPU, pero también con otras bastante recientes, como la mía Intel N5000. Lo entiendo
hacer aprendizaje profundo en un N5000 es un poco exagerado, pero si el tensorflow
También es compatible con RaspberryPi, no veo el problema.

De todos modos, instalé la última versión de TensorFlow (2.0) en mi Intel N5000
compilándolo de la fuente. Tomó 14 horas porque tuve que ejecutar el
compilación en un solo núcleo, ya que necesita mucha RAM y solo tengo
4Gb invitado a la fiesta.

Me inspiré en esta guía aquí.
https://tech.amikelive.com/node-882/how-to-build-and-install-the-latest-tensorflow-without-cuda-gpu-and-with-optimized-cpu-performance-on-ubuntu/
pero la experiencia estuvo lejos de ser fluida, hubo constantemente dependencias
Falta que necesito instalar y volver a iniciar la compilación. Y algo
otras cosas también que resolví cuando la compilación se bloqueó.

Diviértete y gracias por la molestia. Proporcionar a través de pip ya binario
compilado para no AVX era claramente demasiado para agregar en su
trabajo de integración bajo

-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/tensorflow/tensorflow/issues/17411?email_source=notifications&email_token=ACYHH362LGI5EZY3G74CMVLQXQZKDA5CNFSM4ETNEGXKYY3PNVWWK3TUL52HS4DFVREXWG63WNMV9 ,
o darse de baja
https://github.com/notifications/unsubscribe-auth/ACYHH3YLNAER6NGNLKYNMPDQXQZKDANCNFSM4ETNEGXA
.

-
Clive DaSilva CPA, CMA
Hogar: 416-421-2480 | Móvil: 416-560-8820
Correo electrónico: clive. [email protected]
LinkedIN: http://ca.linkedin.com/pub/clive-dasilva/3/197/b89

Tuve el mismo problema al ejecutar canalizaciones de CI en un servidor de Gitlab. La CPU (emulada) de los corredores no proporcionó instrucciones AVX.

La instalación de Tensorflow con Conda en lugar de usar las ruedas de PyPI solucionó el problema. : +1:

Tengo el mismo problema con Tensorflow 2.1.0. ¿Qué hacer?

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

Me las arreglé para solucionar mi problema construyendo desde la fuente usando bazel. Creó un archivo whl. Luego hice pip install whl ruta de archivo

Sí, si su CPU no es compatible con AVX (la causa probable del error Illegal instruction (core dumped) ), debe compilar desde la fuente. Esto hace que el código se genere sin instrucciones AVX y luego puede usarlo.

Además, esto garantiza que el pip se construye con el nivel de optimización más alto disponible para su plataforma, por lo que es posible que vea algo de aceleración en comparación con el uso de un pip creado en una plataforma diferente. Concéntrese en el poder.

Para instalar tensorflow con conda, ejecute este comando:
conda install -c conda-forge tensorflow
esto funciona para mi.

¿Fue útil esta página
0 / 5 - 0 calificaciones