AttributeError:模块“ tensorflow.python.keras”没有属性“ abs”

问题描述

我正在研究具有多个类别的图像分类问题,并且遵循暹罗人脸识别示例here。我已将处理后的数据保存为.npy格式,并且在暹罗模型中使用了Lambda。它显示<lambda>中的错误

distance_euclid = Lambda( lambda tensors : K.abs( tensors[0] - tensors[1] ))( [output_x1,output_x2] )

AttributeError:模块'tensorflow.python.keras'没有属性 'abs'


以下是我使用的软件包版本:

keras        2.3.1
python       3.6.10
tensorflow   2.1.0

解决方法

abs应该从tf.keras.backendtf.keras.backend.abs)导入,好像您正在导入tf.python.keras。在您的import中,将此tf.python.keras行修改为tf.keras.backend

此外,别忘了升级tensorflow

pip install -U tensorflow