Почему Tensorflow предупреждает о AVX2, когда я использую MKL? - PullRequest
0 голосов
/ 30 декабря 2018

Я использую дистрибутив Tacorflow Anaconda с поддержкой MKL.

from tensorflow.python.framework import test_util
test_util.IsMklEnabled()

Этот код печатает True.Однако, когда я компилирую свою модель Keras, я все равно получаю

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

Это не поведениеЯ ожидал.

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Части MKL-DNN при выполнении тензорного потока (которое является основным ускорением, обеспечиваемым инженерами MKL), JIT'ed во время выполнения.Таким образом, набор команд, предназначенный для создания двоичных файлов, не имеет отношения к коду MKL-DNN.Он будет влиять только на другую математику, в основном на Eigen-библиотеку и любые другие функции, которые не были заменены функциями MKL-DNN.

0 голосов
/ 05 января 2019

Это предупреждение можно игнорировать.Причина, по которой это появляется, состоит в том, что флаги набора команд, установленные при сборке TF.Тем не менее, MKL-DNN (математическая библиотека, ответственная за выполнение вычислений ядра в tenorflow-mkl) во время выполнения будет использовать последние наборы векторных инструкций, поддерживаемые вашей машиной.Если вы посмотрите руководство по установке оптимизированного тензор потока , , вы можете получить более подробную информацию.Таким образом, хотя эти предупреждающие сообщения появляются, MXL использует AVX2 во время выполнения

...