我正在尝试实现https://github.com/ec-jrc/GHS-S2Net这个项目(在谷歌实验室(。一周前,它正在安装以下要求:
!pip install tensorflow-gpu==2.0.0
!pip install Keras==2.3.1
不幸的是,从本周开始,它向我显示了import keras
的module 'tensorflow_core.compat.v2' has no attribute '__internal__'
。好的,我想尝试最新版本的张量和keras(都是2.5.0(,但现在我得到了以下错误:
AttributeError: module 'tensorflow.python.keras.backend' has no attribute 'slice'
我该如何处理?
AttributeError:模块'tensorflow.python.keras.backend'没有属性"切片">
这看起来像是一个安装问题。请尝试卸载并重新安装Keras
pip uninstall keras
pip install keras --upgrade
模块'tensorflow_core.compat.v2'没有属性'internal'
由于Tensorflow
和Keras
之间不兼容,您会遇到此问题。
如上所述,如果您升级到最新的keras版本和import keras
,或者从tensorflow导入keras作为from tensorflow import keras
,将解决此问题。有关更多信息,请参阅此处。
Keras.backend没有切片操作。相反,您可以转到机器上本地存储crf.py
文件的位置(您可以在错误对话框中找到这一点,即(myenv\Lib\site packages\keras_contrib\layers\crf.py(,并执行以下操作:
添加行-->import tensorflow as tf
转到提到的行号K.slice,
它在函数中:def step(self, input_energy_t, states, return_logZ=True
。
您可以搜索";切片";。然后用tf.slice
替换K.slice
。
重新启动jupyter笔记本会话。这应该行得通。
将crf.py中的第463行更改为import tensorflow;tf.slice。然后保存crf.py.