Я работаю над прогнозированием эпилепсии с помощью CNN и использую раннюю остановку в своем коде. Я получил эту ошибку line 230 in on_epoch_end if current > self.value: TypeError: '>' not supported between instances of 'NoneType' and 'float'
Я не знаю, как исправить эту ошибку.
current=non value
и self.value=0.4021
Любая помощь будет принята с благодарностью.
class EarlyStoppingByLossVal(keras.callbacks.Callback):
def __init__(self, monitor='val_loss', value=0.00001, verbose=0, lower=True):
super(keras.callbacks.Callback, self).__init__()
self.monitor = monitor
self.value = value
self.verbose = verbose
self.lower=lower
def on_epoch_end(self, epoch, logs={}):
current = logs.get(self.monitor)
if self.lower:
if current < self.value:
if self.verbose > 0:
print("Epoch %05d: early stopping THR" % epoch)
self.model.stop_training = True
else:
if current > self.value:
if self.verbose > 0:
print("Epoch %05d: early stopping THR" % epoch)
self.model.stop_training = True
history=model.fit_generator(generate_arrays_for_training(indexPat, filesPath, end=75), #end=75),#It take the first 75%
validation_data=generate_arrays_for_training(indexPat, filesPath, start=75),#start=75),
steps_per_epoch=int((len(filesPath)-int(len(filesPath)/100*25))),#*25),
validation_steps=int((len(filesPath)-int(len(filesPath)/100*75))),#*75),
verbose=2,class_weight="balanced",
epochs=15, max_queue_size=2, shuffle=True, callbacks=[callback,checkpoint])