Исправлено: ваш процессор поддерживает инструкции, что этот двоичный файл TensorFlow не был скомпилирован для использования AVX2.



Попробуйте наш инструмент устранения неполадок

Расширенные векторные расширения ( AVX , также известный как Новые пристройки Sandy Bridge ) являются расширениями архитектуры набора команд x86 для микропроцессоров Intel и AMD, предложенными Intel в марте 2008 г. и впервые поддержанными Intel с процессором Sandy Bridge, поставляемым в первом квартале 2011 года, а затем AMD с процессором Bulldozer, поставленным в третьем квартале 2011 года. AVX предоставляет новые функции, новые инструкции и новую схему кодирования.



Предупреждение отображается в cmd



Это предупреждающее сообщение выводится из общей библиотеки TensorFlow. Как указано в сообщении, общая библиотека не содержит инструкций, которые может использовать ваш ЦП.



Что вызывает это предупреждение?

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

Что делает AVX?

В частности, AVX представил FMA (Fused multiply-add); это операция умножения-сложения с плавающей запятой, и вся эта операция выполняется за один шаг. Это помогает без проблем ускорить многие операции. Это делает вычисления алгебры более быстрыми и легкими в использовании, а также скалярное произведение, умножение матриц, свертку и т. Д. И все это наиболее часто используемые и базовые операции для любого обучения машинному обучению. Процессоры, поддерживающие AVX и FMA, будут намного быстрее, чем старые. Но в предупреждении указано, что ваш процессор поддерживает AVX, так что это хороший аргумент.

Технология Intel AVX



Почему он не используется по умолчанию?

Это потому, что дистрибутив TensorFlow по умолчанию построен без расширений ЦП. В расширениях ЦП указывается AVX, AVX2, FMA и т. Д. Инструкции, вызывающие эту проблему, не включены по умолчанию в доступных сборках по умолчанию. Причины, по которым они не включены, - сделать это более совместимым с как можно большим количеством процессоров. Также, чтобы сравнить эти расширения, они намного медленнее в CPU, чем в GPU. ЦП используется в маломасштабном машинном обучении, тогда как использование графического процессора ожидается, когда оно используется для среднего или крупномасштабного обучения машинному обучению.

Исправляем предупреждение!

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

Если на вашем компьютере установлен графический процессор, вы можете игнорировать эти предупреждения службы поддержки AVX. Потому что самые дорогие будут отправляться на GPU. И если вы хотите больше не видеть эту ошибку, вы можете просто проигнорировать ее, добавив следующее:

импортировать Модуль ОС в вашем основном программном коде, а также установите для него объект сопоставления

 # Для отключения предупреждения   импортировать их   os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Но если вы на Unix , затем используйте команду экспорта в оболочке bash

 экспорт TF_CPP_MIN_LOG_LEVEL = 2 

Но если у вас нет графического процессора и вы хотите максимально использовать свой процессор, вам следует собрать TensorFlow из источника, оптимизированного для вашего процессора, с включенными AVX, AVX2 и FMA. Вот .

2 минуты чтения