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。

更多内容,陆续更新。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容