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

Advanced Vector Extensions ( AVX, также известный как Sandy Bridge New Extensions ) - это расширения архитектуры набора команд 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 и т. Д. Инструкции, которые вызывают эту проблему, не включены по умолчанию в доступных сборках по умолчанию. Причины, по которым они не включены, состоят в том, чтобы сделать это более совместимым с максимально возможным количеством процессоров. Также, чтобы сравнить эти расширения, они гораздо медленнее в процессоре, чем в графическом процессоре. Процессор используется в маломасштабном машинном обучении, в то время как использование ГПУ ожидается, когда он используется для обучения в среднем или крупномасштабном машинном обучении.

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

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

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

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

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

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

 экспортировать TF_CPP_MIN_LOG_LEVEL = 2 

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

Интересные статьи