Keras AttributeError 'NoneType' object has no attribute '_inbound_nodes'
问题说明:
首先呢,报这个错误的代码是这行代码:
model = Model(inputs=input, outputs=output)
报错:
AttributeError 'NoneType' object has no attribute '_inbound_nodes'
解决问题:
本人代码整体采用Keras Function API风格,其中使用代码中使用了concatenate
以及reshape
这两个方法,具体使用:
from keras import backend as K
from keras.layers import Dense, Input
inpt = Input(shape=(224, 224, 3))
x = Conv2d(63, (3,3), padding='same', activation='relu')
...
x = K.concatenate([branch1, branch2, branch3], axis=3)
x = K.reshpe(x, (1000,))
# 上面两行代码并不是连续出现,这里写出来,主要描述使用了“连接”“reshape”两种操作;
或许,在你的代码中也存在这两行代码,又或者使用了类似的一些方法,问题就出在这里:
x = K.concatenate([branch1, branch2, branch3], axis=3)
x = K.reshpe(x, (1000,))
将之修改为:
from keras.layers import Concatenate, Resahpe
x = Concatenate(axis=3)([branch1, branch2, branch3])
x = Resahpe((1000,))(x)
可以想到,直接使用concatenate
或者reshape
不是作为一层,而Concatenate
或者Reshape
是一个layer;
那么,类似的错误都可以按照这个思路来检查代码吧。