关于tensorflow 中module ‘tensorflow‘ has no attribute ‘xxx‘问题的根本解决方法。
在用tensorflow复现github上面的代码时,经常会出现tensorflow版本不对的情况,如下图所示。原代码为:FLAGS = tf.flags.FLAGS很多博主的解决方法都是添加以下两行代码:`import tensorflow.compat.v1 as tftf.disable_v2_behavior()`但很多情况下都不管用。我们都知道这是因为tensorflow版本的问题,所以
在用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))
**
更多推荐
所有评论(0)