在用tensorflow复现github上面的代码时,经常会出现tensorflow版本不对的情况,如下图所示。
在这里插入图片描述原代码为:

FLAGS = tf.flags.FLAGS

很多博主的解决方法都是添加以下两行代码:
`import tensorflow.compat.v1 as tf

tf.disable_v2_behavior()
`
但很多情况下都不管用。
我们都知道这是因为tensorflow版本的问题,所以最好的解决方法是去tensorflow的官网去查看对应的函数改版前后的变化。

tensorflow的网站:
https://www.tensorflow.org/api_docs/python

进入到网站中
在这里插入图片描述

输入要查询的函数
在这里插入图片描述

点击第二行,进去
在这里插入图片描述

可以看到
在这里插入图片描述
原来的代码由于tensorflow版本的原因,改为了:
在这里插入图片描述
因此出现问题的代码可以改为:

FLAGS = tf.compat.v1.flags.FLAGS

即可运行成功。

基本所有的module ‘tensorflow’ has no attribute 'xxx’都是由于tensorflow版本原因导致的,以上解决方法是可以推广到类似问题的

tensorflow的官网可能需要科学上网才能进得去,如果实在进不去,这种问题据我的经验,一般在出现问题的函数所在的代码行的tf后直接添加.compat.v1也可以运行成功,如上面的例子一样。

**下面这个是一个类似的例子:

saver = tf.train.Saver(dict(self.weights, **self.biases))

这种情况下,应该改为

saver = tf.compat.v1.train.Saver(dict(self.weights, **self.biases))

**

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐