【发布时间】:2019-03-18 21:28:55
【问题描述】:
我的模型是一个简单的全连接网络,如下所示:
inp=Input(shape=(10,))
d=Dense(64, activation='relu')(inp)
d=Dense(128,activation='relu')(d)
d=Dense(256,activation='relu')(d) #want to give input here, layer3
d=Dense(512,activation='relu')(d)
d=Dense(1024,activation='relu')(d)
d=Dense(128,activation='linear')(d)
所以,在保存模型后,我想为第 3 层提供输入。我现在正在做的是:
model=load_model('blah.h5') #above described network
print(temp_input.shape) #(16,256), which is equal to what I want to give
index=3
intermediate_layer_model = Model(inputs=temp_input,
outputs=model.output)
End_output = intermediate_layer_model.predict(temp_input)
但它不起作用,即我收到不兼容输入等错误,输入应该是元组等。错误消息是:
raise TypeError('`inputs` should be a list or tuple.')
TypeError: `inputs` should be a list or tuple.
有什么方法可以在网络中间传递我自己的输入并获取输出,而不是在开始时提供输入并从结尾获取输出?任何帮助将不胜感激。
【问题讨论】:
-
请包含输入不兼容的错误信息。
-
我现在已经编辑了这个问题,请告诉我解决这个问题的方法。
-
@Asim 问题标题和描述是不同的东西:你在标题中提到你想给一个中间层输入并得到模型的输出,而在问题描述中,您试图获取模型的中间层的输出。确定需要哪一个,然后请相应地编辑您的问题。
-
我做错了,我已经编辑了问题。我希望将输入提供给中间层并从最后获得输出。
标签: python machine-learning neural-network keras keras-layer