关于tensorflow 中module ‘tensorflow‘ has no attribute ‘xxx‘问题的根本解决方法。

在用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))

**

来源:进击的炼丹师

物联沃分享整理
物联沃-IOTWORD物联网 » 关于tensorflow 中module ‘tensorflow‘ has no attribute ‘xxx‘问题的根本解决方法。

发表评论