AttributeError:模块“ tensorflow.python.layers.layers”没有属性“ Layer”

时间:2018-07-05 07:59:46

标签: tensorflow

我正在学习一篇名为“注意事项”的文章,并且我正在尝试学习代码(来自github的官方文章),并且出现了奇怪的错误,错误是: “ AttributeError:模块'tensorflow.python.layers.layers'没有属性'Layer'””

产生错误的代码:

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import tensorflow as tf
class Attention(tf.layers.Layer)://this is the line the generating the error

现在这很奇怪,因为在联机检查时,所有解决方案都是tensorflow的版本问题,而且我有足够的版本(通过在线答案)是1.7.0,而且我的python版本是3.6.4。

在错误描述中写上“ tensorflow.python.layers.layers”而不只是“ tensorflow.layers”是正常的吗?

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

发件人:https://www.tensorflow.org/api_docs/python/tf/layers/Layer

  

tf.layers.Layer被认为是旧版,我们建议使用   tf.keras.layers.Layer代替

此后,由于tensorflow的版本必须为1.4以上,您可能会遇到另一个与Keras有关的错误,因此请像这样更新tf:

pip install --upgrade tensorflow

答案 1 :(得分:0)

所以我遇到了同样的错误,但是发现我的 tensorflow 版本(  是 2.0 )将图层从 tf 包(tf.layers)移到了tf.keras

一个简单的解决方法是将tf.layers替换为tf.keras.layers