python3.6.5 64位安装包_探索Tensorflow2.2后的import warning问题——64位Mac版

e84af58e567f496a197749f866bfbc47.png

本文阅读预计用时:5分钟

主要解决import tensorflow后出现Your CPU supports instructions that this TensorFlow binary was not compiled to use问题


这个专栏主要对64位mac上的Tensorflow2.2的使用进行探索。在本专栏的第一篇文章中,笔者列举了几个对于Tensorflow使用者而言比较清晰的学习网站,有兴趣的学习者可以去自行探索。不同角度学习Tensorflow的途径还有很多,笔者在此就不一一详述。

  • 引语

解决了上期中提到的问题:

Original error was: No module named 'numpy.core._multiarray_umath'

随后,笔者运用Tensorflow中的求导Module对Tensorflow的运作进行测试。

在运用Tensorflow对于

进行计算后:
import tensorflow as tf
x = tf.Variable(initial_value=2.)
with tf.GradientTape() as tape:
    y = tf.square(x)
y_grad = tape.gradient(y, x)
print(y, y_grad)

结果却出乎我的意料,我得到了三行warning,当我以为Tensorflow又出了幺蛾子的时候,我发现幸好它在最后一行得出了求导的正确答案(4.0)。(之后的几篇文章讲解最后一行中每个类别的意义,并会对Tensorflow2的基础和进阶进行详细阐述)

I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7fe0b689cf30 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
tf.Tensor(4.0, shape=(), dtype=float32) tf.Tensor(4.0, shape=(), dtype=float32)

e2e423aee70089041bdaec1f009432c9.png
图1.Import Tensorflow 运行代码后弹出的Log Warning
  • 解读

1.Warning的意义

在安装Tensorflow时被Numpy Module折腾了两天,Tensorflow的warning给笔者留下了心理阴影。

笔者在仔细查看了报错Log的意思后:你的CPU支持AVX2 FMA扩展,但是安装的TensorFlow版本无法编译使用。这个Warning主要是提醒如何在CPU下可以去优化源构。由于笔者使用的是CPU版Tensorflow,所以它会出现上述图1.警告(而GPU版的Tensorflow则不会)。

2.如何消除Warning

消除Warning的最好办法就是面对它。

TensorFlow的日志级别分为以下三种:

  • TF_CPP_MIN_LOG_LEVEL = 1 //默认设置,为显示所有信息
  • TF_CPP_MIN_LOG_LEVEL = 2 //只显示error和warning信息
  • TF_CPP_MIN_LOG_LEVEL = 3 //只显示error信息

因此,当TensorFlow出现警告信息,但我们又不想让警告信息显示时,可以在python环境下通过在python文件中添加如下代码,设置TensorFlow日志输出级别,进而屏蔽Warning。

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

因此,在Tensorflow中可以通过配置环境变量 'TF_CPP_MIN_LOG_LEVEL' 的值,控制Tensorflow是否屏蔽通知信息、警告、报错等输出信息。

  • 结语

虽然这个Warning Log在Tensorflow的运行中无关紧要,但是根据笔者的心理阴影剃刀法则里的简约至上,笔者对这个Warning进行了解决。

PS: 如果觉得本篇本章对您有所帮助,欢迎关注、评论、赞!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值