我正在Keras中训练一个模型,我使用以下代码保存了所有内容。
filepath = "project_model.hdh5"
checkpoint = ModelCheckpoint("project_model.hdf5", monitor='loss', verbose=1,
save_best_only=False, mode='auto', period=1)
然后,我使用以下代码来运行训练。
for _ in range(20):
for j in range(len(mfcc_data_padded_transposed[j])):
batch_input=[mfcc_data_padded_transposed[j]]
batch_input = np.array(batch_input)
batch_input = batch_input/np.max(batch_input)
batch_output = [y_labels_mfcc[j]]
batch_output = np.array(batch_output)
input_lengths2 = input_lengths_mfcc[j]
label_lengths2 = label_lengths_mfcc[j]
input_lengths2 = np.array(input_lengths2)
label_lengths2 = np.array(label_lengths2)
inputs = {'the_input': batch_input,
'the_labels': batch_output,
'input_length': input_lengths2,
'label_length': label_lengths2}
outputs = {'ctc': np.zeros([1])}
model.fit(inputs, outputs, epochs=1, verbose =1, callbacks=[checkpoint])
我做了上面的操作来试验检查点,因为我不确定我是否正确使用它。
现在,此培训的学习率为 .001。现在,在运行训练循环一段时间后,如果我决定将学习速率更改为.002,我是否必须运行与模型相关的所有代码(模型结构,然后是优化等)?假设我这样做了,我如何从停止训练时的先前状态加载?另一个问题是,如果我重新启动PC,并使用我之前在这里共享的检查点代码运行jupyter单元格,这会替换以前保存的文件吗?加载保存的文件和权重并从那里恢复训练的理想方法是什么?我问这个问题的原因是,当我遵循Keras文档时,它似乎只是从头开始。
精慕HU
杨魅力
随时随地看视频慕课网APP
相关分类