Python keras model.fit输出-“;val_精度从-inf提高到0.29846“inf是什么意思?
我正在用keras训练一个CNN模型 在每个历元结束后,如果验证精度有所提高,我会将权重保存为检查点Python keras model.fit输出-“;val_精度从-inf提高到0.29846“inf是什么意思?,python,tensorflow,machine-learning,keras,deep-learning,Python,Tensorflow,Machine Learning,Keras,Deep Learning,我正在用keras训练一个CNN模型 在每个历元结束后,如果验证精度有所提高,我会将权重保存为检查点 from keras.callbacks import ModelCheckpoint checkpoint = ModelCheckpoint(checkpoint_path, monitor='val_accuracy', mode='max', save_best_only=True, verbose=1) callbacks = [checkpoint] #load check
from keras.callbacks import ModelCheckpoint
checkpoint = ModelCheckpoint(checkpoint_path, monitor='val_accuracy', mode='max',
save_best_only=True, verbose=1)
callbacks = [checkpoint]
#load checkpoints if existing
import os
num_of_epochs = 65
epochs_done = 0
if(os.path.exists(checkpoint_path)):
model.load_weights(checkpoint_path)
num_of_epochs = num_of_epochs - epochs_done
print('checkpoints loaded')
当我停止训练后重新开始训练时,我的第一个历元输出就是这样的
Epoch 1/65
425/425 [==============================] - 224s 526ms/step - loss: 2.1739 - accuracy: 0.2939 - val_loss: 2.1655 - val_accuracy: 0.2985
Epoch 00001: val_accuracy improved from -inf to 0.29846, saving model to checkpoints-finetuning.hdf5
每次我重新开始训练时,我都会注意到这一点。为什么会这样?每次重新启动时,检查点文件是否会被更差的精确权重覆盖?这是因为每次运行脚本时都会重新创建回调实例;它不会与模型一起保存。因此,第一个历元总是从默认值开始,默认值是
np.Inf
或-np.Inf
,根据