为什么在我使用 MKL 时 Tensorflow 会警告 AVX2?

ozg*_*gur 5 intel-mkl avx2 anaconda keras tensorflow

我正在使用带有 MKL 支持的 Tensorflow 的 Anaconda 发行版。

from tensorflow.python.framework import test_util
test_util.IsMklEnabled()
Run Code Online (Sandbox Code Playgroud)

此代码打印True. 但是,当我编译我的 Keras 模型时,我仍然得到

您的 CPU 支持此 TensorFlow 二进制文件未编译使用的指令:AVX AVX2

这不是我期望的行为。

小智 4

张量流执行的 MKL-DNN 部分(这是 MKL 工程师提供的主要加速)在运行时进行 JIT 处理。因此,针对二进制创建的指令集与 MKL-DNN 代码无关。它只会影响其他数学,主要是 Eigen 库以及任何尚未被 MKL-DNN 函数替换的函数。