【发布时间】:2020-04-05 21:34:30
【问题描述】:
我正在尝试获得验证准确度并选择保存具有最佳准确度的模型。但是在第一个 epoch 之后,它显示检查点错误。
filepath="tumor_detection-{epoch:02d}-{val_acc:.2f}.hdf5"
# save the model with the best validation (development) accuracy till now
checkpoint = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=True, mode='max')
%%time
model.fit(xtrain,ytrain,batch_size=32,epochs=30,validation_data=(xval,yval),callbacks=[checkpoint])```
It is then showing an error as follows:
Epoch 1/30
51/51 [==============================] - ETA: 0s - loss: 0.4651 - accuracy: 0.7725
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/callbacks.py in _get_file_path(self, epoch, logs)
1243 # placeholders can cause formatting to fail.
-> 1244 return self.filepath.format(epoch=epoch + 1, **logs)
1245 except KeyError as e:
KeyError: 'val_acc'
During handling of the above exception, another exception occurred:
KeyError Traceback (most recent call last)
9 frames
<decorator-gen-60> in time(self, line, cell, local_ns)
<timed eval> in <module>()
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/callbacks.py in _get_file_path(self, epoch, logs)
1245 except KeyError as e:
1246 raise KeyError('Failed to format this callback filepath: "{}". '
-> 1247 'Reason: {}'.format(self.filepath, e))
1248 else:
1249 # If this is multi-worker training, and this worker should not
KeyError: 'Failed to format this callback filepath: "tumor_detection-{epoch:02d}-{val_acc:.2f}.hdf5". Reason: \'val_acc\'
【问题讨论】:
-
我认为这是 tensorflow 的一个错误,我假设您的 tf 版本是 2.2.0 或更高版本?
-
我有 tensorflow 2.3.0 版。我该如何解决这个问题?
标签: python validation google-colaboratory checkpoint