首页 > 解决方案 > 如何在 MacOs 上使用 Spyder 在 Python 上为 SSE4.1 SSE4.2 AVX AVX2 FMA 运行 TensorFlow

问题描述

我正在尝试运行代码:

from keras.datasets import imdb as im
from keras.preprocessing import sequence as seq
from keras.models import Sequential
from keras.layers import Embedding
from keras.layers import LSTM
from keras.layers import Dense

train_set, test_set = im.load_data(num_words = 10000)
X_train, y_train = train_set
X_test, y_test = test_set

X_train_padded = seq.pad_sequences(X_train, maxlen = 100)
X_test_padded = seq.pad_sequences(X_test, maxlen = 100)

model = Sequential()
model.add(Embedding(input_dim=10000, output_dim=128))
model.add(LSTM(units=128))
model.add(Dense(units=1, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
                  optimizer='sgd',
                  metrics=['accuracy'])
scores = model.fit(X_train_padded,y_train)
                   

当我运行代码时,它给了我一条消息:

I tensorflow/core/platform/cpu_feature_guard.cc:145] 此 TensorFlow 二进制文件使用 Intel(R) MKL-DNN 进行了优化,可在性能关键操作中使用以下 CPU 指令:SSE4.1 SSE4.2 AVX AVX2 FMA

要在非 MKL-DNN 操作中启用它们,请使用适当的编译器标志重建 TensorFlow。

I tensorflow/core/common_runtime/process_util.cc:115] 使用默认互操作设置创建新线程池:4. 使用 inter_op_parallelism_threads 进行调整以获得最佳性能。

我不明白问题是什么以及我接下来应该做什么。我安装了“tenserflow”包(1.14.0),但这并没有解决问题。

我看过这个参考,但我不知道我在找什么:

https://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions

有人可以帮帮我吗。谢谢。

我的配置:osx-64,MacOS Mojave v.10.14.6,带有 Spyder 和 Anaconda 的 Python 3.7,conda 版本:4.7.12

标签: tensorflowkerascpucompiler-optimizationpython-3.7

解决方案


您可以忽略该消息,一切都会正常工作。

据我可以从https://github.com/tensorflow/tensorflow/pull/24782/commits/7faefa4bb665e115cc744d7895a407338624993f收集到,当 TensorFlow 编译时使用 MKL-DNN 支持(根据您的消息),MKL-DNN将负责使用所有可用的 CPU 性能功能。因此,TensorFlow 没有被编译为使用它们并不重要。


推荐阅读