用pycharm运行老师给的猫狗识别的程序,在训练时遇到了KeyError: 'loss'这个问题。
train_image=pre.train_image
train_label_onehot=pre.train_label_onehot
train_history = VGG16.model.fit(x=train_image,
y=train_label_onehot, validation_split=par.validation_split,
epochs=par.epochs, batch_size=par.batch_size, callbacks=callbacks, verbose=par.verbose)
Traceback (most recent call last):
File "C:/Users/dell/PycharmProjects/pythonProject/tf20_vgg16_train.py", line 58, in <module>
epochs=par.epochs, batch_size=par.batch_size, callbacks=callbacks, verbose=par.verbose)
File "C:\Users\dell\AppData\Local\conda\conda\envs\p36t20\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 728, in fit
use_multiprocessing=use_multiprocessing)
File "C:\Users\dell\AppData\Local\conda\conda\envs\p36t20\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 372, in fit
prefix='val_')
File "C:\Users\dell\AppData\Local\conda\conda\envs\p36t20\lib\contextlib.py", line 99, in __exit__
self.gen.throw(type, value, traceback)
File "C:\Users\dell\AppData\Local\conda\conda\envs\p36t20\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 685, in on_epoch
self.callbacks.on_epoch_end(epoch, epoch_logs)
File "C:\Users\dell\AppData\Local\conda\conda\envs\p36t20\lib\site-packages\tensorflow_core\python\keras\callbacks.py", line 298, in on_epoch_end
callback.on_epoch_end(epoch, logs)
File "C:\Users\dell\AppData\Local\conda\conda\envs\p36t20\lib\site-packages\tensorflow_core\python\keras\callbacks.py", line 965, in on_epoch_end
self._save_model(epoch=epoch, logs=logs)
File "C:\Users\dell\AppData\Local\conda\conda\envs\p36t20\lib\site-packages\tensorflow_core\python\keras\callbacks.py", line 984, in _save_model
filepath = self._get_file_path(epoch, logs)
File "C:\Users\dell\AppData\Local\conda\conda\envs\p36t20\lib\site-packages\tensorflow_core\python\keras\callbacks.py", line 1020, in _get_file_path
return self.filepath.format(epoch=epoch + 1, **logs)
KeyError: 'loss'
Process finished with exit code 1
我去网上百度过,说是把batch_size调小点。我把batch_size改为1还是出现同样的错误
解决这个错误
应该是没区分大小写,应该是’Loss'