您的 CPU 支持 AVX 和 AVX2:当 TensorFlow 抱怨时该怎么办
您在使用 TensorFlow 时可能遇到过此警告消息:
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
了解警告
现代 CPU 提供称为扩展的性能增强指令,例如 AVX(高级矢量扩展)。 AVX 包括 FMA(融合乘法累加)运算,可显着加快机器学习中常见的线性代数运算。该警告表示您的 CPU 确实支持 AVX,但 TensorFlow 未配置为使用它。
为什么默认情况下不使用 AVX?
TensorFlow 的默认分布是构建时不支持这些扩展,以确保与各种 CPU 的兼容性。此外,在机器学习训练方面,GPU 的性能通常优于 CPU,因此默认构建侧重于 GPU 兼容性。
解决问题
使用 GPU:
如果您有 GPU,TensorFlow 将自动优先处理计算密集型操作,从而降低 CPU 的 AVX 支持的相关性。要抑制警告,请设置:
import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
没有 GPU:
要充分利用 CPU 的潜力,请考虑使用 AVX、AVX2、如果您的 CPU 支持,则启用 FMA。虽然构建过程很复杂(涉及 bazel 构建系统),但它应该消除警告并增强 TensorFlow 在 CPU 上的性能。
以上是TensorFlow AVX/AVX2 警告:如何利用 CPU 指令获得更好的性能?的详细内容。更多信息请关注PHP中文网其他相关文章!