Warning: The TensorFlow library wasn't compiled to use SSE,SSE2,SSE3,SSE4.1 instructions

Tensorflow Warning: The TensorFlow library wasn’t compiled to use SSE,SSE2,SSE3,SSE4.1 instructions,but these are available on your machine and could speed up CPU computations.

在使用tensorflow时,会一段巨长的warning,如下图所示:
在这里插入图片描述

总结来说,就是电脑上的tensorflow不能编译SSE, SSE2, SSE3, SSE4.1这些指令集, 但是机器上是有这些指令集的,并且使用这些指令会加快CPU的运行速度.

然而当前的TensorFlow在编译时并没有用到这些指令集,需要手动编译才能加入这些指令集. 所以tensorflow的运行速度会比较慢,不过程序仍然是可以运行的.

原因

出现这种warning的原因是当前使用的tensorflow是采用pip命令安装的,不是从源码编译安装的. 安装的Tensorflow中缺少了对应的模块,需要编译安装。
顺便提一句,当我们使用GPU时并不需要用到CPU,所以这些warning可以忽略.

解决

查阅网上的资料,发现要想消除这个warning有2种方法:

  1. 在代码前加上以下指令,修改警告信息的显示级别,使得运行不出现warning提示:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import tensorflow as tf

为什么加了这句指令就不会出现Warning提示了呢? 因为修改了信息的显示级别:

# 1級
import os  
os.environ['TF_CPP_MIN_LOG_LEVEL']='1'    # 所有信息都显示
# 2級  
import os  
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'     # 只显示 warning 和 Error  
# 3級  
import os  
os.environ['TF_CPP_MIN_LOG_LEVEL']='3'     # 只显示 Error
  1. 重新编译安装tensorflow,在编译的时候使用这些指令集.
    具体的步骤在其他博客中有写到,这里只规整一下:

Step1 卸载已经安装的tensorflow
Step2 克隆tensorflow仓库,使用下面的命令会在当前文件夹中创建一个名为“tensorflow”的文件夹,下载的文件都存在里面.

git clone --recurse-submodules https://github.com/tensorflow/tensorflow

Step3 安装bazel,在编译安装tensorflow的时候要用到bazel工具. 按照官网指导输入命令.
Step4 开始编译TensorFlow
a. configure

cd tensorflow
./configure

b. bazel build
#CPU

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

c.生成whl文件

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

d. 安装编译好的包

pip install /tmp/tensorflow_pkg/tensorflow-{version}-none-any.whl

e. 验证TensorFlow是否安装成功

>>>import tensorflow as tf  
>>>hello = tf.constant("Hello!TensorFlow!")  
>>>sess = tf.Session()  
>>>print(sess.run(hello))

测试成功即可,我还没有试验是否可行,先记下来,找合适时间实践.

具体的过程在参考资料[1]中有着详细的讲解.
参考资料:
[1] TensorFlow CPU环境 SSE/AVX/FMA 指令集编译
sess.run()出现如下Warning

[2] TensorFlow問題“The TensorFlow library wasn’t compiled to use SSE instructions, but these are available on your machine and could speed up CPU conputations

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值