我正在尝试采用模型(旧模型)中的最后一层,并制作一个只有一层(新模型)的新模型,其参数与旧模型的最后一层完全相同。我想以一种不知道旧模型的最后一层的方式来做到这一点。我正在尝试使用此代码执行此操作,但出现错误。
newModel = Sequential()
newModel.add(type(oldModel.layers[-1])(oldModel.layers[-1].output_shape,
activation=oldModel.layers[-1].activation,
input_shape=oldModel.layers[-1].input_shape))
这会产生以下错误:
TypeError: __init__() missing 1 required positional argument: 'output_dim'
如果我检查 oldModel 中的最后一层,它会显示:
full_model.model.layers[-1]
>>>> <keras.layers.core.Dense at 0x7fe22010e128>
我尝试将 output_dim 添加到我以这种方式复制的参数列表中,但这似乎没有帮助。当我这样做时,它给了我这个错误:
Exception: Input 0 is incompatible with layer dense_8: expected ndim=2, found ndim=3
知道我在这里做错了什么吗?