python学习笔记|tensorflow开发中遇到问题(持续更新)

开始学习tensorflow,本文用于记录在学习中遇到的一些问题及其解决方法,内容持续更新,欢迎探讨指正。

1.python3.7安装tensorflow出错

用pip导入tensorflow包时报错,找不到适合此版本的包。在网上查找原因,是因为现在tensorflow还没有官方添加对Python3.7的支持,所以用pip直接安装是搜索不到合适的tensorflow包的,提供的解决方法多是将python降为3.6或3.5。

为什么python3.7安装tensorflow会出错?

在源代码/日志中显示pywrap_tensorflow_internal.py的第114,115,150行具有async作为参数,它似乎是一个关键字。在python3.7中async是一个关键字,发生了冲突,因此需要做更改。可以更改为async1后,导入tensorflow工作。

这时候就需要直接从.whl安装tensorflow包,然后将async改为async1。具体方法为

pip install https://download.tensorflow.google.cn/mac/cpu/tensorflow-1.10.0-py3-none-any.whl --upgrade

首先找到下面这个文件:
/usr/local/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py
,然后搜索async(注意区分大小写,不要将方法名做了更改),全部替换为async1即可。

2.警告Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2

这个意思其实是,您下载的TensorFlow太low了,根本没有通过兼容AVX来Compile。如果您下载源代码在该电脑上重新compile,就可以支持AVX。其实你的电脑是支持AVX的,只是编译好的TensorFlow不支持。这只限于CPU。如果你有一个GPU,你不应该关心AVX的支持,因为大多数昂贵的操作将被分派到一个GPU设备上(除非明确地设置)。在这种情况下,您可以简单地忽略此警告。

如果你不想看到此警告,可以简单粗暴的关闭警告:

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

在 Tensorflow 里面一般设 置成是"0"(显示所有信息)或者"1"(不显示 info),"2"代表不显示 warning, "3"代表不显示 error。一般不建议设置成 3。

更多内容,陆续更新。

猜你喜欢

转载自blog.csdn.net/weixin_34112900/article/details/87223354