Keras -- AttributeError: 'Tensor' object has no attribute '_keras_history'

旧城冷巷雨未停 提交于 2019-12-04 21:58:45

**

在Keras下改网络时遇到AttributeError: ‘Tensor’ object has no attribute ‘_keras_history’

**
直接对输入进行索引操作
错误代码如下:

x = img_input[:,:,:,0:3]
x_art = img_input[:,:,:,3:6]
x_nc = img_input[:,:,:,6:9]

报错如上。
修改:

x = Lambda(lambda img_input:img_input[:,:,:,0:3])(img_input)
x_art = Lambda(lambda img_input: img_input[:,:,:,3:6])(img_input)
x_nc = Lambda(lambda img_input: img_input[:,:,:,6:9])(img_input)

Done!
这是Keras与Tensorflow混用导致报错,Keras中定义的Tensor与TensorFlow给的Tensor类型不同

以下为参考的策略
第一种策略:将tensorflow tensor转keras tensor
1.索引操作转换

#转换前
x = self.x[:, :, :, :]
#转换后
x=Lambda(lambda x: x[:, :, :, :])(self.x)

2.tf操作以及K操作转换

x=Lambda(lambda x: K.round(x))(x)

3.带有非tensor参数的函数转换

offset = Lambda(self.conv,arguments={'co': 2 * N, 'mode': 'offset'})(x)

原文:https://blog.csdn.net/u011489887/article/details/85170426

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!