Tensorflow: Неверная инструкция (дамп ядра) после запуска тензорного потока импорта

Созданный на 4 мар. 2018  ·  100Комментарии  ·  Источник: tensorflow/tensorflow

Системная информация

  • Написал ли я собственный код (в отличие от стандартного сценария, представленного в TensorFlow) : Нет
  • Платформа ОС и распространение (например, Linux Ubuntu 16.04) : Linux Ubuntu 16.04
  • TensorFlow установлен из (исходный или двоичный) : двоичный
  • Версия TensorFlow (используйте команду ниже) :
    1.6.0-cp27-cp27mu-manylinux1_x86_64 (могу только догадываться, поскольку python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" выдает ошибку)
  • Версия Python: Python 2.7.12
  • Точная команда для воспроизведения : import tensorflow

Я создал новую виртуальную среду: virtualenv -p python2 test_venv/
И установил тензорный поток: pip install --upgrade --no-cache-dir tensorflow
import tensorflow дает мне Illegal instruction (core dumped)

Пожалуйста, помогите мне понять, что происходит, и как я могу это исправить. Спасибо.

Информация о процессоре:

          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

РЕДАКТИРОВАТЬ
Stacktrace, полученный с помощью 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 ?? ()

РЕДАКТИРОВАТЬ 2
Версия Bazel: N / A
Версия CUDA / cuDNN: N / A
Модель графического процессора и память: N / A

После перехода на старую версию tensorflow ошибка исчезнет. Мне сообщили, что мой процессор (см. Информацию выше) может не работать с некоторыми улучшениями в новом API. Если это так, я полагаю, что у моей проблемы нет решения. Поэтому закрою эту ветку. Не стесняйтесь поправлять меня. Спасибо за поддержку

awaiting response

Самый полезный комментарий

Попробуй бежать
pip удалить tenorflow
А потом
pip install tensorflow == 1.5

РЕДАКТИРОВАТЬ
просто чтобы отдать должное, решение здесь:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Все 100 Комментарий

Спасибо за ваше сообщение. Мы заметили, что вы не заполнили следующее поле в шаблоне проблемы. Не могли бы вы обновить их, если они актуальны в вашем случае, или оставить их как N / A? Спасибо.
Базель версия
Версия CUDA / cuDNN
Модель графического процессора и память

У меня такая же (или аналогичная) проблема с "незаконными инструкциями" при запуске

import tensorflow as tf

Я использую только версию CPU 1.6 на 64-битной Ubuntu Linux.

После перехода на версию CPU 1.5 эта проблема исчезла.

Как я могу перейти на версию CPU 1.5?

Попробуй бежать
pip удалить tenorflow
А потом
pip install tensorflow == 1.5

РЕДАКТИРОВАТЬ
просто чтобы отдать должное, решение здесь:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Спасибо konnerthg, даже у меня была такая же проблема. Ваша команда помогла мне разобраться в этом вопросе. Спасибо еще раз.

То же самое.
С последней версией wheel у меня возникла проблема с незаконными инструкциями в Ubuntu 16.04, однако я понизил версию до tensorflow-gpu == 1.5, и она работает!

даунгрейд до 1.5 у меня тоже сработал

@konnerthg Переход на временное решение, эта проблема еще не решена.
Какой коммит / PR решил эту проблему?

Я также получаю эту ошибку в python 3.6

Привет !
Спасибо за решение! Действительно. У меня уже неделю эта проблема и я начинал сходить с ума! Спасибо !

СПАСИБО за решение. Он работал на моем Ubuntu 16.04, 64 бит, python3.5.

Спасибо за решение! При переходе на версию 1.5 проблема была устранена. Протестировано на сервере Ubuntu 16.04 с python 2.7

Та же проблема, понижение с Tensorflow 1.6 до 1.5 решило ее. Запуск Xubuntu 16.04 64-бит, Python 3.5.

Спасибо за все это, решите мою проблему на Python 3.6

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

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

_ (тензор потока) naniny @ Aspire-E5-573 : ~ $ python

_ (tensorflow) naniny @ Aspire-E5-573 : ~ $ импортировать тензорный поток как tf

теперь работает без проблем ...

Это действительно странно. Кто-нибудь знает, что вызывает проблему? Я удивлен, что в TensorFlow 1.6 была такая большая ошибка.

Я также сталкиваюсь с этой проблемой с tenorflow-gpu 1.6.0 в Linux, используя python 3.6.4. Я установил tenorflow, используя сам pip. Просто запустив это, вы получите SIGILL:

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

Я получаю трассировку стека, подобную той, что упоминается в описании этого билета.

Похоже, это происходит из-за использования инструкций AVX в последних пакетах Tensorflow, загруженных в pip. Запуск python3 через GDB и разборка функции сбоя указывает на эту инструкцию:

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

Эта инструкция AVX не поддерживается на старых или менее функциональных процессорах, не поддерживающих AVX. Пакеты пакетов tensorflow (-gpu) 1.5.0 не используют инструкции AVX, и поэтому нет проблем с его использованием с этими процессорами.

Решением будет сборка тензорного потока (-gpu), который не скомпилирован с инструкциями AVX для публикации (или для локального создания копии). В предоставленных инструкциях по установке не упоминаются какие-либо конкретные требования к процессору или способы определения совместимости с предоставленными двоичными файлами.

Между тем, возврат к tenorflow (-gpu) 1.5.0 с использованием чего-то вроде упомянутого выше путем .

У меня такая же проблема, и, как многие прокомментировали, я понизил версию с 1.6.0 до 1.5.0 .

Для справки, я пробовал запустить тензорный поток (версия только для ЦП) на двух разных компьютерах:

Компьютер 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

Компьютер 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

Я согласен с @nacl, что мы должны иметь более четкие требования к набору инструкций и, если возможно, отдельную обновленную сборку для процессоров, которые не поддерживают инструкции AVX. Честно говоря, меня немного обескураживает необходимость работать с устаревшей версией какой-либо технологии, я думаю, многие считают то же самое.

Альтернативой отдельной сборке для каждого типа архитектуры является использование динамической диспетчеризации. IE, PyTorch имеет один двоичный файл для всех архитектур и выбирает наиболее эффективные операции во время выполнения

Спасибо

Я тоже сталкиваюсь с той же проблемой. Я пробовал это на двух машинах, и он работает на одной из них.

Сначала я установил его на свой MacBook Pro. И у меня не было никаких проблем.

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

Поэтому я обновил свой MacPro. Но на этот раз я получаю Illegal instruction: 4 когда пытаюсь импортировать тензорный поток.

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

(Обновление от 30.03.2018)
Та же проблема с TensorFlow 1.7. Думаю, я использую TensorFlow 1.5.

Это все еще проблема в 1.6 и, возможно, в 1.7. Почему это закрыто? Решение @yaroslavvb кажется разумным. Я понизил сейчас до 1.5.

Не уверен, но из этой ссылки, начиная с версии 1.6.0, оптимизатор инструкций процессора Intel был представлен в тензорном потоке. Думаю, что, наверное, причина в этом.
https://software.intel.com/en-us/articles/intel-optimized-tensorflow-wheel-now-available

@captainst - это pip install . Проблемы с SIGILL после обновления 1.6, вероятно, вызваны добавлением AVX

У меня такая же проблема.
Ubuntu 18.04 x64
Python 3.6.5rc1
TensorFlow 1.7.0

Я была такая же проблема. Понижение до 1.5 у меня сработало.

То же самое.

Я тоже. Arch Linux и процессор Intel.

То же самое здесь в Ubuntu 17. 10.1 VM, гипервизор KVM в Slackware, процессор Intel KabyLake

Думаю, я разобрался. У меня есть процессор G4600, в котором отсутствует поддержка AVX, и это было добавлено в 1.6.

Да, я тоже блокирую поддержку AVX.

Чтобы исправить это в версии 1.6 и выше, вам необходимо скомпилировать тензорный поток из исходников.

Я хочу использовать последнюю версию tenorflow-gpu (1.7) и не хочу придерживаться версии 1.5. Так можно ли построить тензорный поток из исходного кода без поддержки AVX? У меня старый Xeon E5420, но я использую tenorflow-gpu

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

Я хочу использовать последнюю версию tenorflow-gpu (1.7) и не хочу придерживаться
1.5. Таково решение для создания тензорного потока из исходного кода без поддержки AVX
включено? У меня старый Xeon E5420, но я использую tenorflow-gpu

-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-379337106 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AGeJnptN5yMdVaVdWTsIwcjOAJuJbUDQks5tl7PKgaJpZM4SbSGu
.

Вы можете собрать исходный код из мастера клонирования git. Он должен автоматически настраиваться

на ваш процессор.

С уважением,

Джин

При переходе на версию 1.5 проблема была устранена. Я использую Ubuntu 16.04 с python 2.7

Та же проблема
Ubuntu = 16.10
python = 3.6
пункт = 9.0.3
с tenorflow-gpu = 1,7
NVIDIA GTX 1070
CUDA 9.0

решено:
pip3 установить tensorflow-gpu == 1.5

та же проблема

та же проблема
Ubuntu 16.04
с tenorflow-gpu 1.7 и 1.6

Та же проблема с этим образом Docker, запущенным в записной книжке Paperspace.

Проблема с версиями 1.6 и 1.7.

Имея ту же проблему, понижен до 1.5. Сейчас Tensorflow импортирует, но я запускаю скрипт, которому нужен tensorflow_hub. Скрипт выдает RuntimeError: TensorFlow Hub зависит от сборки tf-nightly после 20180308 или от tenorflow ~ = 1.7. Найдено tf.VERSION = 1.5.0

спасибо, что возврат к версии 1.5 работал и у меня

У меня была такая же проблема с tf`1.8 на CentOS 7, только CPU. Понижение до 1.5 сработало.

Для тех, кто не хочет переходить на более раннюю версию при сборке из исходного кода, проблема решена.

Имея ту же проблему, у меня сработало понижение до 1.5.

У меня тоже была эта проблема, на tenorflow-gpu 1.8.0, на машине шаблона paperpace fast.ai

У меня такая же проблема с tenorflow-1.8.0. Проблема в том, что я не могу перейти на версию 1.5, так как я хочу тренироваться с retrain.py, а для этой версии tenorflow требуется версия выше 1.7. Итак, есть предложения? Будет ли полезно, если я построю тензорный поток из исходников ?!

Такая же проблема здесь:
виртуальная машина paperpace с шаблоном fast.ai
Графический процессор: nvidia quadro P4000
tenorflow 1.8.0, установленный в virtualenv, как в https://www.tensorflow.org/install/install_linux#installing_with_virtualenv, дал ошибку выше (в том числе при установке рекомендованного колеса, указанного в нижней части страницы)
убунту 16.04, питон 3.6.3
pip uninstall tensorflow && pip install tensorflow-gpu==1.5.0 исправил проблему. Я еще не пробовал компилировать из исходников.

В качестве побочного примечания: grep avx /proc/cpuinfo ничего не возвращает, поэтому процессор моей виртуальной машины не поддерживает инструкции avx.

Всем привет, сборка из исходников решила проблему для меня.

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

Такая же проблема здесь:
виртуальная машина paperpace с шаблоном fast.ai
Графический процессор: nvidia quadro P4000
tenorflow 1.8.0 установлен в virtualenv, как в
https://www.tensorflow.org/install/install_linux#installing_with_virtualenv
дал ошибку выше
убунту 16.04, питон 3.6.3
pip uninstall tensorflow && pip install tensorflow-gpu == 1.5.0 исправил
проблема. Я еще не пробовал компилировать из исходников.

-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-388583280 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/APaJX3BUFgxCemEueanuAXMfqboX5MNqks5tx1FugaJpZM4SbSGu
.

Я выполняю ту же проблему, но после перехода на tenorflow-1.5 у меня это сработало.
Моя проблема: - ошибка -> дамп ядра
Процессор: AMD® A4-3330mx apu с видеокартой radeon (tm) hd × 2
Графика: AMD® Sumo
GNOME: 3.28.1
Тип ОС: 64-битная, Ubuntu 18.04 LTS

Кредит: -https : //github.com/konnerthg

конечно, он работает с более ранними версиями tensorflow, но мне нужна более конкретно версия 1.7.0, совместимая с новым tenorflowjs. Как может?

@mctrjalloh купить новый процессор, я думаю

Я решил это. Не покупая новый процессор😏

Вы должны строить из исходников, это не так уж сложно

Та же проблема и в tensorflow-gpu 1.8.0

ОС: Ubuntu 18.04
Python: 3.6.5

Мне то же:

ОС: Ubuntu 16.04
Python: 3.5
Версия драйвера NVIDIA: 384.130

Изменить: строительство из источников работает

Большое спасибо!!!

CUDA9.0 + cuDNN7.1 + Tensorflow-gpu1.5 работает

Та же проблема. Протестировано на Ubuntu 16 и Ubuntu 17, на 3 разных машинах с> 8 ГБ ОЗУ и ЦП> 4 ГГц. Также возникают проблемы с машинами с графическим процессором.

Та же проблема на моем сервере Ubuntu 16.04. Решено путем компиляции TensorFlow (r1.8) из исходного кода и установки из него локально: +1:

Проблема также связана с образами докеров. Я не хочу компилировать из исходников. Есть ли способ обойти это? Я тоже не хочу понижать рейтинг.

В моем случае компиляция TensorFlow (на Ubuntu 18.04) с Bazel решила проблему. Однако компиляция потребовала времени.

В моем случае проблема была решена перекомпиляцией TensorFlow 1.9. Однако я столкнулся с другой проблемой, связанной с numpy 1.15. Переход на numpy 1.14.5 и компиляция сработали, и я смог установить пакет pip.

Почему этот вопрос закрыт? Это все еще происходит в TensorFlow 1.10.

Я отправил некоторые ссылки на некоторые сообщества сборок tensorflow здесь , которые могли бы помочь избежать необходимости строить из источника.

В самом деле, я следовал инструкциям, приведенным на https://www.tensorflow.org/install/install_linux, и не получил ничего, кроме «Незаконная инструкция (дамп ядра)» при тестировании в соответствии с запросом на этой странице установки.

Эту проблему не следует закрывать или иметь реальное решение, которое имеет смысл (т.е. не устанавливать версию 1.5).

Он работал на Ubuntu 18.04. Итак, снова упоминание версии на странице установки может быть хорошей идеей как решение о том, что работает, а что нет.

ну, эта проблема, кажется, все еще продолжается ... но у меня есть очень простое решение
что заставит вас одновременно следить за трендами :-).

УСТАНОВИТЕ КОНДА !!!
чтобы установить conda, просто погуглите :-)

создайте среду conda, если хотите:

Conda Create

и просто запустите:

conda установить tenorflow

если последняя команда не работает, выполните поиск по другому каналу,
Бег:

анаконда поиск tenorflow

это выводит список каналов, откуда вы можете его скачать.
выберите один канал и запустите:

шоу анаконды

это предложит вам команду, которую нужно ввести для загрузки
тензорный поток.
Запустите эту команду.

Вот и все !

ПЕРЕЙДИТЕ В КОНДА !!!

23 августа 2018 г., 22:38 Alexis Wilke [email protected]
написал:

Действительно, я следовал инструкциям, найденным на
https://www.tensorflow.org/install/install_linux и больше ничего не получите
чем "Недопустимая инструкция (дамп ядра)" при тестировании в соответствии с запросом на
эту страницу установки.

Эту проблему не следует закрывать, либо у нее должно быть реальное решение, которое
имеет смысл (т.е. не устанавливать версию 1.5)

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-415592389 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AWESkUXD-4XomnnPgF6D5QToWVH74JzAks5uTy7PgaJpZM4SbSGu
.

Корневая проблема может быть связана с protobuf и несовместимостью pthread_once и std :: call_once. Я сам столкнулся с ошибкой сегментирования при импорте tensorflow сразу после другого пакета Google, который называется «предложение», и создатель предложения «кусок» исправил его, сделав патч для protobuf, который заменяет реализацию std :: call_once другой.

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

Чтобы сделать этот вопрос более конструктивным, я думаю, было бы полезно, если бы TensorFlow сначала проверил требуемые ему инструкции на ЦП и распечатал ошибку, если они отсутствуют. Точно так же, как в настоящее время говорится, что некоторые инструкции доступны, но не скомпилированы. Тогда было бы легче различать ошибки и просто не использовать правильный двоичный файл для данного процессора.

Мистер Ройянник ... Фактически, я много раз искал в Google, и это повлияло на мое изучение как Keras, так и Tensoflow, но сегодня вы сделали мой день ... Вы молодцы.
Спасибо

Пробовал как виртуальную среду, так и (черт возьми) conda (вы, чувак, идите вверх по течению!) На тензорном потоке 1.10.1 (последний) в Ubuntu 16.04 с той же ошибкой. Перешел на предыдущую версию 1.9 - все нормально работает.

Мне довелось воспроизвести эту проблему на машине со старым процессором. Вот статья, в которой объясняются возможные варианты решения проблемы .

Те, кто хочет установить последнюю версию TensorFlow для старых процессоров без поддержки AVX, но у которых нет времени на сборку из исходников, также могут загрузить файл WHL из этого репозитория Github .

Это чушь. Я откатил свою установку до версии 1.9 (не «до 1.6», как вы говорите в этой статье), и двоичный файл заработал (позавчера).

Если вы запустите это в командной строке:

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

и посмотрите 16.04 для 1) и -mavx или -mavx2 для 2) в выводе, это может быть другая проблема, не связанная с поддержкой AVX.

Если этих флагов нет, я должен добавить это в свою заметку благодаря вам.

Такая же ошибка здесь,

CentOS 7, Python 3.6.5, процессор Intel core2 duo e8500. pip install.

версия 1.9 не работает. версия 1.5 импортирует нормально.

версия 1.10 выглядит нормально на моем ноутбуке с Ubuntu 18.04 и Intel i5-6200U.

Об этом говорится на https://www.tensorflow.org/install/install_sources.
Примечание. Начиная с версии 1.6, наши предварительно созданные двоичные файлы будут использовать инструкции AVX.

Думаю, об этом можно было упомянуть в гораздо более заметном месте!

Это решило мою проблему:
После установки драйвера NVIDIA, CUDA Toolkit и CUDNN.
Сначала удалите tensorflow-gpu :

$ pip uninstall tensorflow-gpu

Затем установите tensorflow-gpu с помощью Anaconda :

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

Попробуй бежать
pip удалить tenorflow
А потом
pip install tensorflow == 1.5

РЕДАКТИРОВАТЬ
просто чтобы отдать должное, решение здесь:
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow

Спасибо, это работает

Может быть связано с инструкцией AVX. pip prebuilt tensorflow-1.6 и более поздние версии построены с инструкцией AVX, некоторые процессоры не имеют инструкции AVX. pip prebuilt tensorflow-1.5 не построен с инструкциями AVX.
Предложение: 1): используйте более низкую версию tenorflow
2): скомпилировать более позднюю версию тензорного потока из исходного кода

да. Действительно. Хотя было бы лучше, если бы программа сообщала мне, а не просто вылетала из строя. У меня нет проблем с требованием, просто с тем, как оно выполняется ... В Linux было бы очень легко проверить /proc/cpuinfo на строку flags где avx должен появиться. Если нет, сгенерируйте ошибку и exit(1) .

Вот мои флаги на моем старом компьютере без AVX

флаги: 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_perfcdddx noplus_perfmon pebsc_perfcddxddxddxddxddxddxddxddxddxddxddx 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

Системная информация

-
Описание Lenovo-G500 8GB RAM: CPU
продукт: Intel (R) Core (TM) i3 CPU M 330 @ 2,13 ГГц
информация о шине: cpu @ 0
версия: Версия процессора
ОПЕРАЦИОННЫЕ СИСТЕМЫ; Ubuntu-16.05
pip: 18 последняя версия
У меня нет графического процессора

Я также получаю дамп ядра с незаконной инструкцией. tenorforflow 1.5 у меня работает,
но
Мне нужно установить последнюю версию tenorflowv1.10 0r для моего проекта.

Я пытался установить в тензорном потоке разными способами, это

  1. без anacoda, python 2.7, используя pip ... pip install --upgrade tenorflow
    2 без anacoda, python 3.5, с использованием pip ""
    3. без anacoda, python 3.6, используя pip ""
    4. с anacoda, python 2.7, используя conda conda install -c conda-forge tensorflow
    5. без anacoda, python 2.7, используя pip ""
    6. без anacoda, python 2.7, используя pip ""

ни один не работал у меня,
в чем проблема.

@bandarikanth

То, как вы устанавливаете tenorflow, не имеет значения. Проблема в том, что предварительно созданные двоичные файлы tensorflow 1.6+ требуют расширения набора инструкций AVX , а ваш процессор не поддерживает AVX. Вы можете собрать из исходников, перейти на компьютер с достаточно новым процессором или придерживаться версии 1.5.

Спасибо

Вс, 30 декабря 2018 г., 12:24 Дэн Стайн < [email protected] написал:

@bandarikanth https://github.com/bandarikanth

То, как вы устанавливаете tenorflow, не имеет значения. Эта проблема
состоит в том, что для предварительно созданных двоичных файлов tensorflow 1.6+ требуется AVX
https://en.m.wikipedia.org/wiki/Advanced_Vector_Extensions инструкция
установите расширения, и ваш процессор не поддерживает AVX. Вы также можете
собрать из исходного кода, перенести на компьютер с достаточно новым процессором или вставить
с 1.5.

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-450512554 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AZf77RdABm0uQsxiPx0uxd45q_rz9pUVks5u97pPgaJpZM4SbSGu
.

работает для меня при понижении до 1.5 (pip install tensorflow == 1.5)

У меня проблема с 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'


Я получаю этот сбой на i7-3520M, который поддерживает AVX .

РЕДАКТИРОВАТЬ: Неважно, сбой происходит при выполнении инструкции shlx которая является частью AVX2. По крайней мере, это показывает, что ванильной поддержки AVX недостаточно.

По-прежнему есть проблема с тензорным потоком 1.14.0 и 2.0.0b1.

Такая же ошибка в Linux Mint 19 с 2.0.0b1.
Просто установил с помощью pip3, как указано на странице установки официального сайта

tf1.5 недоступен в репозиториях Debian 8.8.

Пора попробовать avx.

Это было до смешного трудно найти на управляемых узлах кластера, поскольку ОС убивает связанные процессы python еще до того, как они смогут записать и сбросить эту строку «Незаконные инструкции» в выходной файл журнала, а код выхода процесса python кажется равным 0 .

Я также использовал 2.0.0-beta1, в настоящее время выясняя, исправляет ли это замена на 2.0.0.

У меня тоже такая проблема. Я использую python2 . Помог переход на версию CPU 1.5.

У меня проблема с запуском Tensorflow 2 в виртуальной среде в Ubuntu 18.04. Я просто поражаюсь, что разработчики Tensorflow поставили TF 2 как готовый и доступный с этой хренью. НЕ впечатлены, вы, разработчики TF.

Вывод dmesg (из bash):
[333908.854310] ловушки: python [12862] ловушка недопустимый код операции ip: 7f8c46e6d820 sp: 7ffc87609f78 ошибка: 0 в _pywrap_tensorflow_internal.so [7f8c3e250000 + a9f8000]
linuxmint 19
Intel (R) Pentium (R) CPU P6200 @ 2,13 ГГц
Оперативная память 8 ГБ (Kingston)

Это БОЛЬШАЯ проблема, СВЯЗАННАЯ С ЦП.

После прочтения этого потока и получения такого же опыта моя проблема в том, что мой компьютер Linux старше и имеет процессор, который не поддерживает набор инструкций AVX. У меня есть тензорный поток 1.5 в другой виртуальной среде, но чтобы использовать тензорный поток 2, мне придется запускать свои скрипты в Google Colab.

Я не знаю, есть ли смысл в требовании AVX или нет. Я знаю, что проблема возникает не только со старыми процессорами, но и с довольно новыми, такими как мой Intel N5000. Я понимаю, что глубокое обучение на N5000 - это немного сложно, но если тензорный поток поддерживается также RaspberryPi, я не вижу проблемы.

В любом случае, я установил последнюю версию TensorFlow (2.0) на свой Intel N5000, скомпилировав ее из исходников. Это заняло 14 часов, потому что мне пришлось запускать компиляцию на одном ядре, так как для этого требуется много оперативной памяти, а на вечеринку мне было предложено всего 4 Гб.

Я черпал вдохновение из этого руководства здесь , но опыт был далек от ровного, там постоянно зависимостей не хватает , что мне нужно установить и повторно запустить компиляцию. И еще кое-что, что я решил, когда компиляция вылетела.

Удачи и спасибо за хлопоты. Предоставление через pip двоичного файла, уже скомпилированного для не-AVX, было явно слишком сложно, чтобы добавить в рабочий процесс непрерывной интеграции

Спасибо за ответ, Лука. У меня действительно старый рабочий стол Ubuntu 18.04
который работает очень хорошо, за исключением работы с TF2 и, собственно говоря,
я думаю, последняя версия PyTorch (1.3.0).
Torch 1.1.0 у меня работает нормально, а что касается TF2, я использую Google Colab, который
работает отлично. Я аналитик данных на пенсии и поддерживаю свой профиль любителя

Спасибо за ваш пост

В субботу, 7 декабря 2019 г., в 18:52 Лука Оливьери [email protected]
написал:

Я не знаю, чтобы сказать, имеет ли смысл требование AVX или
нет. Я знаю, что проблема возникает не только с более старыми
Процессоры, но также и с довольно новыми, такими как мой Intel N5000. я понимаю
выполнять глубокое обучение на N5000 - это немного сложно, но если тензорный поток
поддерживается также RaspberryPi, я не вижу проблемы.

В любом случае, я установил последнюю версию TensorFlow (2.0) на свой Intel N5000.
путем компиляции из исходников. На это ушло 14 часов, потому что мне пришлось запустить
компиляция на одном ядре, так как для этого требуется много оперативной памяти, а у меня только
4Gb приглашены на вечеринку.

Я черпал вдохновение из этого руководства здесь
https://tech.amikelive.com/node-882/how-to-build-and-install-the-latest-tensorflow-without-cuda-gpu-and-with-optimized-cpu-performance-on-ubuntu/
но опыт был далеко не гладким, постоянно были зависимости
отсутствует то, что мне нужно установить и повторно запустить компиляцию. И немного
и другие вещи, которые я решил, когда компиляция вылетела из строя.

Удачи и спасибо за хлопоты. Предоставление через пип уже бинарный
скомпилировано для не-AVX, было явно слишком много, чтобы добавить его в ваш непрерывный
рабочий процесс интеграции

-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/tensorflow/tensorflow/issues/17411?email_source=notifications&email_token=ACYHH362LGI5EZY3G74CMVLQXQZKDA5CNFSM4ETNEGXKYY3PNVWWK3TUL52-5DFVREXG43
или отказаться от подписки
https://github.com/notifications/unsubscribe-auth/ACYHH3YLNAER6NGNLKYNMPDQXQZKDANCNFSM4ETNEGXA
.

-
Клайв ДаСильва CPA, CMA
Домашний: 416-421-2480 | Мобильный: 416-560-8820
Электронная почта: clive. [email protected]
LinkedIN: http://ca.linkedin.com/pub/clive-dasilva/3/197/b89

У меня была такая же проблема при запуске конвейеров CI на сервере Gitlab. (Эмулированный) ЦП бегунов не предоставлял инструкции AVX.

Установка Tensorflow с Conda вместо использования колес PyPI устранила проблему. : +1:

У меня такая же проблема с Tensorflow 2.1.0. Что делать?

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

Мне удалось решить мою проблему, построив из исходников с помощью bazel. Он создал файл whl. Затем я установил pip install whl file path

Да, если ваш процессор не поддерживает AVX (вероятная причина ошибки Illegal instruction (core dumped) ), вам необходимо выполнить компиляцию из исходного кода. Это приводит к тому, что код создается без инструкций AVX, и затем вы можете его использовать.

Кроме того, это гарантирует, что пип построен с наивысшим уровнем оптимизации, доступным для вашей платформы, поэтому вы действительно можете увидеть некоторое ускорение по сравнению с использованием пипса, созданного на другой платформе. Сосредоточьтесь на мощи.

Чтобы установить тензорный поток с помощью conda, выполните эту команду:
conda install -c conda-forge tensorflow
меня устраивает.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги