使用Keras 2.2.0将顺序模型转换为功能模型

Tob*_*ann 8 python keras

直到Keras版本2.1.6,通过访问底层model.model,能够将顺序模型"转换"为功能模型.从版本2.2.0开始,这已不再可能.

它还能以其他方式完成吗?

(如果你想知道我为什么要做这样的事情,我正在维护一个依赖于这种转换的库.:wink :)

tod*_*day 7

我现在无法测试此解决方案,因为我没有安装Keras 2.2.0,但我认为它应该可行.我们假设您的顺序模型存储在seqmodel:

from keras import layers, models

input_layer = layers.Input(batch_shape=seqmodel.layers[0].input_shape)
prev_layer = input_layer
for layer in seqmodel.layers:
    prev_layer = layer(prev_layer)

funcmodel = models.Model([input_layer], [prev_layer])
Run Code Online (Sandbox Code Playgroud)

这应该给出等效的功能模型.如果我弄错了,请告诉我.