Tensorflow: Instruction illégale (core dumpé) après avoir exécuté import tensorflow

Créé le 4 mars 2018  ·  100Commentaires  ·  Source: tensorflow/tensorflow

Informations système

  • Ai-je écrit du code personnalisé (par opposition à l'utilisation d'un exemple de script fourni dans TensorFlow) : Non
  • Plate-forme et distribution du système d'exploitation (par exemple, Linux Ubuntu 16.04) : Linux Ubuntu 16.04
  • TensorFlow installé depuis (source ou binaire) : binaire
  • Version TensorFlow (utilisez la commande ci-dessous) :
    1.6.0-cp27-cp27mu-manylinux1_x86_64 (ne peut que deviner puisque python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" me donne déjà une erreur)
  • Version Python : Python 2.7.12
  • Commande exacte à reproduire : import tensorflow

J'ai créé un nouvel environnement virtuel : virtualenv -p python2 test_venv/
Et tensorflow installé : pip install --upgrade --no-cache-dir tensorflow
import tensorflow me donne Illegal instruction (core dumped)

S'il vous plaît, aidez-moi à comprendre ce qui se passe et comment je peux y remédier. Merci.

Informations sur le processeur :

          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

ÉDITER
Stacktrace obtenu avec 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 ?? ()

MODIFIER 2
Version Bazel : N/A
Version CUDA/cuDNN : N/A
Modèle GPU et mémoire : N/A

Après la rétrogradation vers une ancienne version de tensorflow, l'erreur disparaît. J'ai été informé que mon processeur (voir les informations ci-dessus) pourrait ne pas fonctionner avec certaines améliorations de la nouvelle API. Si tel est le cas, je suppose qu'il n'y a pas de solution à mon problème. Par conséquent, je vais fermer ce fil. N'hésitez pas à me corriger cependant. Merci pour votre soutien

awaiting response

Commentaire le plus utile

Essayez de courir
pip désinstaller tensorflow
Puis
pip install tensorflow==1.5

ÉDITER
juste pour donner du crédit, la solution est d'ici:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Tous les 100 commentaires

Merci pour votre commentaire. Nous avons remarqué que vous n'avez pas rempli le champ suivant dans le modèle de problème. Pourriez-vous les mettre à jour s'ils sont pertinents dans votre cas, ou les laisser comme N/A ? Merci.
Version Bazel
Version CUDA/cuDNN
Modèle GPU et mémoire

J'ai le même (ou similaire) problème d'"instruction illégale" lorsque je cours

import tensorflow as tf

J'utilise uniquement la version CPU 1.6 sur Ubuntu Linux 64 bits.

Après être passé à la version CPU 1.5, il n'a plus ce problème.

Comment puis-je revenir à la version CPU 1.5 ?

Essayez de courir
pip désinstaller tensorflow
Puis
pip install tensorflow==1.5

ÉDITER
juste pour donner du crédit, la solution est d'ici:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Merci konnethg, même moi j'avais le même problème. Votre commande m'a aidé à régler ce problème. Merci encore.

Pareil ici.
Avec la dernière roue, j'ai eu le problème d'instruction illégale sur Ubuntu 16.04, mais j'ai rétrogradé à tensorflow-gpu==1.5 et ça marche !

rétrograder à 1.5 a fonctionné pour moi aussi

@konnethg La rétrogradation à 1.5 n'est qu'une solution de contournement, ce problème n'est pas encore résolu.
Quel commit/PR a résolu ce problème ?

Je reçois également cette erreur en python 3.6

Hey !
Merci pour votre solution ! Vraiment. J'ai ce problème depuis une semaine maintenant et je commençais à devenir fou ! THX !

MERCI pour la solution. Cela a fonctionné sur mon Ubuntu 16.04, 64 bits, python3.5 .

Merci pour la solution ! La mise à niveau vers la version 1.5 a résolu le problème. Testé sur un serveur Ubuntu 16.04 avec python 2.7

Même problème, la rétrogradation de Tensorflow 1.6 à 1.5 l'a résolu. Exécuter Xubuntu 16.04 64 bits, Python 3.5.

Merci pour tout cela, résolvez mon problème sur Python 3.6

_ (tensorflow) naniny@Aspire-E5-573 :~$ pip désinstaller le tensorflow

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

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

_ (tensorflow) naniny@Aspire-E5-573 :~$ importer tensorflow en tant que tf

fonctionne maintenant sans aucun problème...

C'est vraiment bizarre. Est-ce que quelqu'un sait ce qui cause le problème? Je suis surpris que TensorFlow 1.6 ait un bug aussi important.

Je rencontre également ce problème avec tensorflow-gpu 1.6.0, sous Linux, en utilisant python 3.6.4. J'ai installé tensorflow en utilisant pip lui-même. Exécuter simplement ceci produit un SIGILL :

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

J'obtiens des traces de pile similaires à ce qui est mentionné dans la description de ce ticket.

Cela semble se produire en raison de l'utilisation des instructions AVX dans les derniers packages Tensorflow téléchargés sur pip. Exécuter python3 via GDB et désassembler la fonction de plantage pointe vers cette instruction :

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

Ce qui est une instruction AVX non prise en charge sur les processeurs plus anciens ou moins fonctionnels qui ne prennent pas en charge AVX. Les packages pip tensorflow(-gpu) 1.5.0 n'utilisent pas d'instructions AVX, et il n'y a donc aucun problème à l'utiliser avec ces processeurs.

La solution serait de publier une version de tensorflow(-gpu) qui n'est pas compilée avec les instructions AVX (ou de créer une copie localement). Les instructions d'installation fournies ne mentionnent aucune exigence CPU spécifique ni comment déterminer la compatibilité avec les binaires fournis.

En attendant, revenir à tensorflow(-gpu) 1.5.0 en utilisant quelque chose comme ce que @NinemillaKA a mentionné ci-dessus est une solution de contournement efficace.

J'ai le même problème et, comme beaucoup l'ont commenté, je passe de 1.6.0 à 1.5.0 .

Pour mémoire, j'ai essayé d'exécuter tensorflow (version CPU uniquement) sur 2 ordinateurs différents :

Ordinateur 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

Ordinateur 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

Je suis d'accord avec @nacl que nous devrions avoir ces exigences concernant le jeu d'instructions plus claires et, si possible, une version séparée et mise à jour pour les processeurs qui ne prennent pas en charge les instructions AVX. Pour être honnête, je trouve un peu décourageant de devoir travailler avec une version obsolète de n'importe quelle technologie, je pense que beaucoup ressentent la même chose.

L'alternative à une version différente pour chaque type d'architecture consiste à utiliser la répartition dynamique. IE, PyTorch a un binaire pour toutes les architectures et sélectionne les opérations les plus efficaces pendant l'exécution @caisq

Merci

Je rencontre également le même problème. Je l'ai essayé sur deux machines, et cela fonctionne sur l'une d'entre elles.

Tout d'abord, je l'ai installé sur mon MacBook Pro. Et je n'ai eu aucun problème.

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

J'ai donc mis à jour mon MacPro. Mais cette fois, j'obtiens Illegal instruction: 4 lorsque j'essaie d'importer 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

(Mise à jour le 30/03/2018)
Le même problème avec TensorFlow 1.7. Je suppose donc que j'utilise TensorFlow 1.5.

C'est toujours un problème dans 1.6 et potentiellement dans 1.7. Pourquoi est-ce fermé ? La solution de @yaroslavvb semble raisonnable. J'ai rétrogradé à 1.5 pour l'instant.

Pas sûr, mais à partir de ce lien, depuis la version 1.6.0, l'optimiseur d'instructions Intel CPU avait été introduit dans tensorflow. Je pense que c'est probablement la cause.
https://software.intel.com/en-us/articles/intel-optimized-tensorflow-wheel-now-available

@captainst c'est une version spécifique à Intel, différente de la version officielle que vous obtenez en faisant pip install . Les problèmes de SIGILL après la mise à niveau 1.6 sont probablement causés par l'ajout d'AVX

J'ai le même problème.
Ubuntu 18.04 x64
Python 3.6.5rc1
TensorFlow 1.7.0

J'ai eu le même problème. La rétrogradation à 1,5 a fonctionné pour moi.

Pareil ici.

Moi aussi. Arch Linux et processeur Intel.

Idem ici sur Ubuntu 17. 10.1 VM, hyperviseur KVM sur Slackware, processeur Intel KabyLake

Je pense que j'ai compris. J'ai un processeur G4600 qui ne prend pas en charge AVX et cela a été ajouté en 1.6.

Oui, je verrouille aussi le support AVX.

Pour résoudre ce problème sur v1.6 et supérieur, vous devez compiler tensorflow à partir de la source.

Je veux utiliser le dernier tensorflow-gpu (1.7) et je ne veux pas m'en tenir à 1.5. La solution pour créer tensorflow à partir de la source sans prise en charge AVX est-elle donc activée ? J'ai un vieux Xeon E5420 mais j'utilise tensorflow-gpu

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

Je veux utiliser le dernier tensorflow-gpu (1.7) et je ne veux pas m'en tenir à
1.5. Il en va de même pour la solution pour créer tensorflow à partir de la source sans prise en charge d'AVX
activée? J'ai un vieux Xeon E5420 mais j'utilise tensorflow-gpu

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

Vous pouvez construire à partir des sources du maître git clone. Il devrait s'ajuster automatiquement

à votre processeur.

Salutations,

Jin

La mise à niveau vers la version 1.5 a résolu le problème. J'utilise Ubuntu 16.04 avec python 2.7

Même problème
Ubuntu=16.10
python=3.6
pip = 9.0.3
avec tensorflow-gpu= 1.7
NVIDIA GTX 1070
CUDA 9.0

résolu par :
pip3 installer tensorflow-gpu==1.5

le même problème

même problème
Ubuntu 16.04
avec tensorflow-gpu 1.7 et 1.6

Même problème sur cette image Docker exécutée dans un bloc-notes Paperspace.

Le problème concerne les versions 1.6 et 1.7

Ayant le même problème, rétrogradé à 1.5. Tensorflow importe maintenant, mais j'exécute un script qui a besoin de tensorflow_hub. Le script génère RuntimeError : TensorFlow Hub dépend de la version « tf-nightly » après 20180308 ou « tensorflow~=1.7 ». Trouvé tf.VERSION = 1.5.0

merci de revenir à la version 1.5 a fonctionné pour moi aussi

J'ai eu le même problème avec tf`1.8 sur CentOS 7, CPU uniquement. Déclassement à 1,5 travaillé.

Pour ceux qui ne veulent pas rétrograder si vous construisez à partir de la source, le problème est résolu.

Ayant le même problème, la rétrogradation à 1.5 a fonctionné pour moi.

Je viens d'avoir ce problème aussi, sur tensorflow-gpu 1.8.0, sur la machine à gabarit paperspace fast.ai

J'ai le même problème avec tensorflow-1.8.0. Le problème est que je ne peux pas rétrograder à la version 1.5 car je veux m'entraîner avec retrain.py et pour cette version tensorflow supérieure à 1.7 est une exigence. Alors, des suggestions ? Sera-ce utile si je construis tensorflow à partir de la source ? !

Même problème ici :
VM paperspace avec modèle fast.ai
Processeur graphique : nvidia quadro P4000
tensorflow 1.8.0 installé dans virtualenv comme dans https://www.tensorflow.org/install/install_linux#installing_with_virtualenv a donné l'erreur ci-dessus (y compris lors de l'installation de la roue recommandée mentionnée en bas de la page)
Ubuntu 16.04, python 3.6.3
pip uninstall tensorflow && pip install tensorflow-gpu==1.5.0 résolu le problème. Je n'ai pas encore essayé de compiler à partir des sources.

En remarque, grep avx /proc/cpuinfo ne renvoie rien, donc le processeur de ma VM ne prend pas en charge les instructions avx.

Bonjour à tous, la construction à partir des sources a résolu le problème pour moi.

اریخ :۴۷ laurentS [email protected] :

Même problème ici :
VM paperspace avec modèle fast.ai
Processeur graphique : nvidia quadro P4000
tensorflow 1.8.0 installé dans virtualenv comme dans
https://www.tensorflow.org/install/install_linux#installing_with_virtualenv
a donné l'erreur ci-dessus
Ubuntu 16.04, python 3.6.3
pip uninstall tensorflow && pip install tensorflow-gpu==1.5.0 a corrigé le
problème. Je n'ai pas encore essayé de compiler à partir des sources.

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

Je mets en phase le même problème, mais après le passage à tensorflow-1.5, cela a fonctionné pour moi.
Mon problème : - erreur -> core vidé
Processeur : AMD® A4-3330mx apu avec carte graphique radeon(tm) hd × 2
Graphiques : AMD® Sumo
GNOME : 3.28.1
Type de système d'exploitation : 64 bits, Ubuntu 18.04 LTS

Crédit :-https ://github.com/konnethg

bien sûr, cela fonctionne avec les versions antérieures de tensorflow mais j'ai besoin plus spécifiquement de la version 1.7.0 compatible avec le nouveau tensorflowjs. Comment puis?

@mctrjalloh acheter un nouveau processeur, je suppose

Je l'ai résolu. Pas en achetant un nouveau processeur😏

Il faut construire à partir de sources ce n'est pas si compliqué

Même problème dans tensorflow-gpu 1.8.0 également

Système d'exploitation : Ubuntu 18.04
Python : 3.6.5

Pareil pour moi:

Système d'exploitation : Ubuntu 16.04
Python : 3,5
Version du pilote NVIDIA : 384.130

Edit : la construction à partir des sources fonctionne

Merci beaucoup!!!

CUDA9.0+cuDNN7.1+Tensorflow-gpu1.5 fonctionne

Même problème. Testé sur Ubuntu 16 et Ubuntu 17, sur 3 machines différentes avec chacune > 8 Go de RAM et > 4 GHz de CPU. Problème avec les machines GPU.

Même problème sur mon serveur Ubuntu 16.04. Résolu en compilant TensorFlow (r1.8) à partir de la source et en installant pip à partir de celle-ci localement :+1 :

Le problème vient également avec les images Docker. Je ne veux pas compiler à partir des sources. Y a-t-il un moyen de contourner cela? Je ne veux pas non plus rétrograder.

Dans mon cas, la compilation de TensorFlow (sur Ubuntu 18.04) avec Bazel a résolu le problème. La compilation a quand même pris du temps.

Dans mon cas également, la recompilation de TensorFlow 1.9 a résolu le problème. Cependant, j'ai rencontré un autre problème lié à numpy 1.15. La mise à niveau vers numpy 1.14.5 et la compilation ont fonctionné, et ont pu installer le package pip.

Pourquoi ce problème est-il clos ? Cela se produit toujours dans TensorFlow 1.10.

J'ai posté ici quelques liens vers quelques versions communautaires de tensorflow, ce qui pourrait aider à éviter d'avoir à construire à partir des sources.

En effet, j'ai suivi les instructions trouvées sur https://www.tensorflow.org/install/install_linux et n'obtiens rien de plus que "l'instruction illégale (core dumpé)" lors des tests comme demandé sur cette page d'installation.

Ce problème ne doit pas être fermé ou avoir une solution réelle qui a du sens (c'est-à-dire ne pas installer la version 1.5)

Cela a fonctionné sur Ubuntu 18.04. Encore une fois, mentionner la version sur la page d'installation peut être une bonne idée comme solution sur ce qui fonctionne et ce qui ne fonctionne pas.

Eh bien, ce problème semble toujours d'actualité .. mais j'ai une solution très simple
qui vous fera suivre les tendances en même temps :-).

INSTALLEZ CONDA !!!
pour installer conda, il suffit de le googler :-)

créez un environnement conda si vous le souhaitez :

conda créer

et lancez simplement :

conda installer tensorflow

si la dernière commande ne fonctionne pas, recherchez dans un autre canal en
fonctionnement:

tensorflow de recherche d'anaconda

cela génère une liste de chaînes à partir de laquelle vous pouvez la télécharger.
choisissez un canal et lancez :

spectacle d'anaconda

cela vous demandera la commande que vous devez entrer pour télécharger
tensorflow.
Exécutez cette commande.

C'est ça !

PASSEZ À CONDA !!!

Le jeu. 23 août 2018 à 22:38 Alexis Wilke [email protected]
a écrit:

En effet, j'ai suivi les instructions trouvées sur
https://www.tensorflow.org/install/install_linux et n'obtenez rien de plus
que l'"instruction illégale (core dumped)" lors des tests demandés sur
cette page d'installation.

Ce problème ne devrait pas être fermé ou avoir une solution réelle qui
a du sens (c'est-à-dire ne pas installer la version 1.5)

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

Le problème racine peut être lié à protobuf et à l'incompatibilité entre pthread_once et std::call_once. J'ai moi-même rencontré une erreur de segmentation lors de l'importation de tensorflow juste après un autre package google appelé phrasepiece, et le créateur de phrasepiece l'a corrigé en créant un correctif pour protobuf qui remplace l'implémentation std::call_once par une autre.

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

Pour rendre ce problème plus constructif, je pense qu'il serait utile que TensorFlow vérifie d'abord les instructions dont il a besoin sur le processeur et imprime une erreur si elles sont manquantes. De la même manière, il est dit actuellement que certaines instructions sont disponibles mais non compilées. Il serait alors plus facile de différencier les bogues et de simplement ne pas utiliser le bon binaire pour un processeur donné.

M. Royyannick ..En fait, j'ai cherché plusieurs fois sur Google et cela a affecté mes études à la fois sur Keras et Tensoflow, mais aujourd'hui, vous avez fait ma journée..Vous êtes formidable.
Merci

J'ai essayé à la fois l'environnement virtuel et (f... ing) conda (vous, mec en amont, allez fys!) Sur le tensorflow 1.10.1 (dernier) dans Ubuntu 16.04 avec la même erreur. Basculé vers la version précédente 1.9 - tout fonctionne bien.

Il m'est arrivé de reproduire ce problème sur une machine exécutant un ancien processeur. Voici l'article qui explique les options possibles pour résoudre le problème .

Ceux qui souhaitent installer le dernier TensorFlow pour les anciens processeurs sans support AVX mais n'ont pas le temps de construire à partir des sources peuvent également télécharger le fichier WHL à partir de ce référentiel Github .

C'est BS. J'ai ramené mon installation à 1.9 (pas 'avant 1.6' comme vous le dites dans cet article) et le binaire a fonctionné (avant-hier).

Si vous exécutez ceci en ligne de commande :

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"; }

et voir 16.04 pour 1) et -mavx ou -mavx2 pour 2) dans la sortie, cela peut être un autre problème qui n'est pas lié à la prise en charge AVX.

Si ces drapeaux ne sont pas là, c'est quelque chose que je devrais ajouter dans ma note, grâce à vous.

Même erreur ici,

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

la version 1.9 ne fonctionne pas. la version 1.5 importe ok.

la version 1.10 semble correcte sur mon ordinateur portable équipé d'Ubuntu 18.04 et d'Intel i5-6200U.

Ceci est indiqué sur https://www.tensorflow.org/install/install_sources
Remarque : à partir de la version 1.6, nos binaires préconstruits utiliseront les instructions AVX.

Je pense que cela aurait pu être mentionné à l'emplacement beaucoup plus important!

Cela a résolu mon problème :
Après avoir installé le pilote NVIDIA, CUDA Toolkit et CUDNN.
Première désinstallation tensorflow-gpu :

$ pip uninstall tensorflow-gpu

Ensuite, installez tensorflow-gpu en utilisant Anaconda :

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

Essayez de courir
pip désinstaller tensorflow
Puis
pip install tensorflow==1.5

ÉDITER
juste pour donner du crédit, la solution est d'ici:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Merci ça marche

Peut-être lié à l'instruction AVX. pip tensorflow-1.6 et les versions supérieures sont construites avec l'instruction AVX, certains processeurs n'ont pas d'instruction AVX. pip tensorflow-1.5 n'est pas construit avec l'instruction AVX.
Suggestion : 1) : utilisez la version inférieure de tensorflow
2) : compiler une version supérieure de tensorflow à partir de la source

Oui. En effet. Ce serait mieux, cependant, si le logiciel me le disait plutôt que de simplement planter. Je n'ai pas de problème avec l'exigence, juste la façon dont elle est gérée... Sur Linux, il serait très facile d'enregistrer /proc/cpuinfo pour la ligne flagsavx devrait apparaître. Sinon, générez une erreur et exit(1) .

Voici mes drapeaux sur mon ancien ordinateur sans AVX

drapeaux : 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 tm pbe syscall nx rdtscp lm constant_tsc arch_perfti est repsmxmxmx pbe nonstop_perftop 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

Informations système

-
Description du Lenovo-G500 8 Go de RAM : CPU
produit : Intel(R) Core(TM) i3 CPU M 330 @ 2.13GHz
informations sur le bus : cpu@0
version : version du processeur
système d'exploitation ; Ubuntu-16.05
pip : 18 dernière version
je n'ai pas de GPU

Je reçois également le noyau d'instructions illégales sous-évaluées. tensorforflow 1.5 fonctionne pour moi,
mais
J'ai besoin d'installer tensorflowv1.10 0r au plus tard pour mon projet.

J'ai essayé d'installer dans tensorflow de différentes manières, ce sont

  1. sans anacoda, python 2.7, en utilisant pip ... pip install --upgrade tensorflow
    2 sans anacoda, python 3.5, en utilisant pip ""
    3.sans anacoda, python 3.6, en utilisant pip ""
    4.avec anacoda, python 2.7, en utilisant conda conda install -c conda-forge tensorflow
    5.sans anacoda, python 2.7, en utilisant pip ""
    6.sans anacoda, python 2.7, en utilisant pip ""

ni l'un ni l'autre n'a fonctionné pour moi,
quelle est la solution.

@bandarikanth

La manière dont vous installez tensorflow ne devrait pas avoir d'importance. Le problème est que les binaires prédéfinis tensorflow 1.6+ nécessitent les extensions de jeu d' instructions

Merci

Le dimanche 30 décembre 2018, 00h24, Dan Stine < [email protected] a écrit :

@bandarikanth https://github.com/bandarikanth

La manière dont vous installez tensorflow ne devrait pas avoir d'importance. Le problème
est que les binaires préconstruits tensorflow 1.6+ nécessitent l'AVX
https://en.m.wikipedia.org/wiki/Advanced_Vector_Extensions instruction
définir des extensions, et votre processeur ne prend pas en charge AVX. Tu peux soit
construire à partir de la source, passer à un ordinateur avec un processeur suffisamment récent ou coller
avec 1.5.

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

fonctionne pour moi si rétrograder à 1.5 (pip install tensorflow==1.5)

J'ai ce problème avec 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'


Je reçois ce plantage sur un i7-3520M qui prend en charge AVX .

EDIT : Peu importe, le plantage se produit sur une instruction shlx qui fait partie d'AVX2. Au moins, cela montre que la prise en charge de vanilla AVX n'est pas suffisante.

J'ai toujours le problème avec tensorflow 1.14.0 et 2.0.0b1.

Même erreur sur Linux Mint 19 avec 2.0.0b1.
Juste installé avec pip3 comme indiqué sur la page d'installation du site officiel

tf1.5 n'est pas disponible dans les dépôts Debian 8.8.

Il est temps d'essayer avx.

C'était ridiculement difficile à trouver sur les nœuds de cluster gérés, car le système d'exploitation tue les processus python associés avant même de pouvoir écrire et vider cette ligne "Instructions illégales" dans un fichier journal de sortie, et le code de sortie du processus python semble être 0 .

J'utilisais également la version 2.0.0-beta1, en train de découvrir si son remplacement par la version 2.0.0 résout ce problème.

J'ai aussi eu ce problème. J'utilise python2 . La rétrogradation vers la version CPU 1.5 a aidé.

J'ai ce problème avec Tensorflow 2 s'exécutant dans un environnement virtuel sous Ubuntu 18.04. Cela m'épate que les développeurs de Tensorflow mettraient TF 2 comme prêt et disponible avec cette merde qui se passe. PAS impressionnés, vous les développeurs de TF.

sortie dmesg (de bash):
[333908.854310] pièges : python[12862] piège opcode invalide ip:7f8c46e6d820 sp:7ffc87609f78 erreur:0 dans _pywrap_tensorflow_internal.so[7f8c3e250000+a9f8000]
linuxmint 19
Processeur Intel(R) Pentium(R) P6200 @ 2,13 GHz
8 Go de RAM (kingston)

Il s'agit d'un GROS problème lié au processeur.

Après avoir lu ce fil et avoir la même expérience, mon problème est que mon ordinateur Linux est plus ancien et possède un processeur qui ne prend pas en charge le jeu d'instructions AVX. J'ai tensorflow 1.5 sur un autre environnement virtuel, mais pour utiliser tensorflow 2, je vais devoir exécuter mes scripts sur Google Colab

Je n'ai pas les connaissances nécessaires pour dire si l'exigence d'AVX a du sens ou non. Ce que je sais, c'est que le problème se pose non seulement avec les anciens processeurs, mais aussi avec des processeurs assez récents, comme le mien Intel N5000. Je comprends que faire du deep learning sur un N5000 est un peu exagéré, mais si le tensorflow est également pris en charge par le RaspberryPi, je ne vois pas le problème.

Quoi qu'il en soit, j'ai installé la dernière version de TensorFlow (2.0) sur mon Intel N5000 en la compilant à partir des sources. Cela a pris 14 heures car je devais exécuter la compilation sur un seul cœur, car cela nécessite beaucoup de RAM et je n'ai que 4 Go d'invités à la fête.

Je me suis inspiré de ce guide ici mais l'expérience était loin d'être fluide, il manquait constamment des dépendances dont j'avais besoin pour installer et relancer la compilation. Et d'autres trucs que j'ai résolus quand la compilation s'est écrasée.

Amusez-vous bien et merci pour la peine. Fournir via pip un binaire déjà compilé pour non-AVX était clairement trop à ajouter dans votre flux de travail d'intégration continue

Merci pour ta réponse, Luca. J'ai un très vieux bureau Ubuntu 18.04
qui fonctionne très bien sauf dans le fonctionnement de TF2 et en fait,
le dernier PyTorch (1.3.0) je pense.
Torch 1.1.0 fonctionne bien pour moi, et concernant TF2, j'utilise Google Colab qui
fonctionne bien. Je suis un analyste de données à la retraite et je maintiens mon profil d'amateur

Merci pour votre message

Le sam. 7 déc. 2019 à 18:52 Luca Olivieri [email protected]
a écrit:

Je n'ai pas les connaissances nécessaires pour dire si l'exigence d'AVX a du sens ou
ne pas. Ce que je sais, c'est que le problème ne se pose pas seulement avec les anciens
CPU, mais aussi avec des assez récents, comme le mien Intel N5000. je comprends ça
faire du deep learning sur un N5000 est un peu exagéré, mais si le tensorflow
est supporté aussi par le RaspberryPi, je ne vois pas le problème.

Quoi qu'il en soit, j'ai installé la dernière version de TensorFlow (2.0) sur mon Intel N5000
en le compilant à partir de la source. Cela a pris 14 heures parce que je devais exécuter le
compilation sur un seul core, car elle a besoin de beaucoup de RAM et je n'ai que
4 Go invités à la fête.

Je me suis inspiré de ce guide ici
https://tech.amikelive.com/node-882/how-to-build-and-install-the-latest-tensorflow-without-cuda-gpu-and-with-optimized-cpu-performance-on-ubuntu/
mais l'expérience était loin d'être fluide, il y avait constamment des dépendances
manquant que j'ai besoin d'installer et de relancer la compilation. Et certaines
d'autres choses aussi que j'ai résolues lorsque la compilation s'est écrasée.

Amusez-vous bien et merci pour la peine. Fournir via pip déjà binaire
compilé pour non-AVX était clairement trop à ajouter dans votre continu
travail d'intégration

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/tensorflow/tensorflow/issues/17411?email_source=notifications&email_token=ACYHH362LGI5EZY3G74CMVLQXQZKDA5CNFSM4ETNEGXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LN5MVXWWHJDNGO96
ou se désinscrire
https://github.com/notifications/unsubscribe-auth/ACYHH3YLNAER6NGNLKYNMPDQXQZKDANCNFSM4ETNEGXA
.

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

J'ai eu le même problème lors de l'exécution de pipelines CI sur un serveur Gitlab. Le CPU (émulé) des coureurs ne fournissait pas d'instructions AVX.

L'installation de Tensorflow avec Conda au lieu d'utiliser les roues de PyPI a résolu le problème. :+1:

J'ai le même problème avec Tensorflow 2.1.0. Que faire?

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

J'ai réussi à résoudre mon problème en construisant à partir de la source en utilisant bazel. Il a créé un fichier whl. Ensuite, j'ai installé pip le chemin du fichier whl

Oui, si votre processeur ne prend pas en charge AVX (la cause probable Illegal instruction (core dumped) erreur

De plus, cela garantit que le pip est construit avec le niveau d'optimisation le plus élevé disponible pour votre plate-forme, vous pourriez donc voir une accélération par rapport à l'utilisation d'un pip construit sur une plate-forme différente. Concentrez-vous sur la puissance.

Pour installer tensorflow avec conda, exécutez cette commande :
conda install -c conda-forge tensorflow
ça marche pour moi.

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