运行tensorflow是出现的问题This TensorFlow binary is optimized with Intel(R) MKL-DNN to use the following CPU

2019-09-06 11:01:39.589297: I tensorflow/core/platform/cpu_feature_guard.cc:145] This TensorFlow binary is optimized with Intel(R) MKL-DNN to use the following CPU instructions in performance critical operations:  AVX AVX2
To enable them in non-MKL-DNN operations, rebuild TensorFlow with the appropriate compiler flags.
2019-09-06 11:01:39.591143: I tensorflow/core/common_runtime/process_util.cc:115] Creating new thread pool with default inter op setting: 8. Tune using inter_op_parallelism_threads for best performance.

翻译一下:

根据我目前查到的资料,

这个TensorFlow二进制文件使用Intel(R) mkl - dnn进行了优化,以便在性能关键操作中使用以下CPU指令:AVX AVX2

要在非mkl - dnn操作中启用它们,请使用适当的编译器标志重新构建TensorFlow

说白了就是tensorflow安装的不对,不是版本问题,而是需要从源代码安装tensorflow

一种解决方法,就是忽略

import os 
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

加上这两句可以覆盖掉

第二种

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

部分方法,

 

<think>好的,我现在需要解决用户关于TensorFlow中oneDNN自定义操作的影响以及如何关闭它们的问题。首先,用户提到了使用环境变量TF_ENABLE_ONEDNN_OPTS来禁用oneDNN优化,但可能存在数值差异的问题。根据引用[1],用户已经知道在Windows上修改环境变量可以禁用oneDNN。我需要确认这个步骤的具体操作方法,并补充其他平台如Linux和macOS的设置。 接下来,用户可能关心禁用oneDNN后的影响。我需要解释oneDNN的作用,比如加速计算、优化性能,但可能带来数值差异或兼容性问题。引用[3]提到TensorFlow是一个端到端的机器学习平台,使用封装好的数学方法和数据操作,所以oneDNN作为底层优化库,关闭可能会影响性能,但确保结果的一致性。 然后,我需要详细说明如何在不同操作系统中设置环境变量。对于Windows,用户可以通过系统属性或者命令行设置;Linux和macOS则可以在终端中使用export命令或者在代码中设置。引用[4]提到在子环境中测试安装,可能涉及到环境变量的正确应用,需要确保设置后的环境变量生效。 另外,用户可能想知道如何验证oneDNN是否被禁用。可能需要检查TensorFlow的日志信息,或者在代码中打印相关配置。引用[2]提到版本对应问题,所以需要确认TensorFlow版本是否支持该环境变量,比如2.6.0版本是否有效。 最后,生成相关问题需要考虑用户可能的后续疑问,比如性能差异、其他优化库、替代方案、调试方法以及版本兼容性等。这些问题需要结合引用内容,特别是引用[3]中提到的模型构建和训练过程,以及引用[2]中的版本对应问题。</think>### TensorFlow中oneDNN自定义操作的影响与关闭方法 #### 一、oneDNN自定义操作的作用与影响 1. **性能优化** oneDNN(前身为Intel MKL-DNN)是专为深度学习设计的加速库,可优化TensorFlowIntel CPU上的计算性能,例如卷积、矩阵乘法等操作[^1]。 2. **潜在问题** - **数值差异**:某些数学运算可能因优化策略不同导致微小数值差异,影响模型复现性[^1]。 - **兼容性问题**:在非Intel架构或特定版本环境中可能出现兼容性错误[^2]。 #### 二、关闭oneDNN的方法 1. **通过环境变量禁用** - **Windows** ```cmd set TF_ENABLE_ONEDNN_OPTS=0 ``` - **Linux/macOS** ```bash export TF_ENABLE_ONEDNN_OPTS=0 ``` 或在代码中设置: ```python import os os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0" ``` 2. **验证是否生效** 运行TensorFlow并观察日志输出,若包含`oneDNN custom operations are disabled`则说明已关闭。 #### 三、关闭后的影响 - **性能下降**:CPU密集型操作(如卷积)速度可能降低。 - **数值一致性**:更接近非优化版本的计算结果,便于调试和复现[^3]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值