我正在学习一篇名为“注意事项”的文章,并且我正在尝试学习代码(来自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”是正常的吗?
非常感谢您的帮助。
答案 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