微调自定义keras模型

微调自定义keras模型,keras,Keras,我有一个keras模型,在5节课上训练,模型的最后几层看起来是这样的 dr_steps = Dropout(0.25)(Dense(128, activation = 'relu')(gap_dr)) out_layer = Dense(5, activation = 'softmax')(dr_steps) model = Model(inputs = [in_lay], outputs = [out_layer]) 我想做的是在一个8类多标签问题上微调这个模型,但我不确定如何实现这一点。这

我有一个keras模型,在5节课上训练,模型的最后几层看起来是这样的

dr_steps = Dropout(0.25)(Dense(128, activation = 'relu')(gap_dr))
out_layer = Dense(5, activation = 'softmax')(dr_steps)
model = Model(inputs = [in_lay], outputs = [out_layer])
我想做的是在一个8类多标签问题上微调这个模型,但我不确定如何实现这一点。这就是我尝试过的:

dr_steps = Dropout(0.25)(Dense(128, activation = 'relu')(gap_dr))
out_layer = Dense(t_y.shape[-1], activation = 'softmax')(dr_steps)
model = Model(inputs = [in_lay], outputs = [out_layer])
weights_path = 'weights.best.hdf5'
retina_model.load_weights(weights_path)
model.layers.pop()
output = Dense(8, activation = 'sigmoid')(model.layers[-1].output)
model = Model(inputs = [in_lay], outputs = [output])
loss = 'binary_crossentropy'
model.compile(optimizer = RAdam(), loss = FocalLoss,
                         metrics = ["binary_accuracy",precision, recall,auc])
但这会引起这样的错误

raise ValueError(str(e))
ValueError: Dimension 1 in both shapes must be equal, but are 8 and 5. Shapes are [128,8] and [128,5]. for 'Assign_390' (op: 'Assign') with input shapes: [128,8], [128,5].
任何关于如何微调此模型的建议都将非常有用,提前感谢。

这里

model=model(输入=[in\u lay],输出=[out\u layer])
权重\路径='weights.best.hdf5'
外层应具有与权重中描述的相同维度(5类)。best.hdf5

因此,
t_y.形状[-1]
应该是
5
尺寸,而不是8

这里

model=model(输入=[in\u lay],输出=[out\u layer])
权重\路径='weights.best.hdf5'
外层应具有与权重中描述的相同维度(5类)。best.hdf5

因此,
t_y.形状[-1]
应该是
5
尺寸,而不是8