keras-YOLOv3-mobilenet icon indicating copy to clipboard operation
keras-YOLOv3-mobilenet copied to clipboard

KeyError: 'val_loss'

Open iot-hunter opened this issue 6 years ago • 3 comments

when i use this to train my dataset I get this error ,Can you help me ? Create YOLOv3 model with 9 anchors and 16 classes. [<tf.Tensor 'conv2d_7/BiasAdd:0' shape=(?, ?, ?, 63) dtype=float32>, <tf.Tensor 'conv2d_15/BiasAdd:0' shape=(?, ?, ?, 63) dtype=float32>, <tf.Tensor 'conv2d_23/BiasAdd:0' shape=(?, ?, ?, 63) dtype=float32>] Train on 1887 samples, val on 0 samples, with batch size 4. Epoch 1/30 471/471 [==============================] - 163s 346ms/step - loss: 519.5828 Epoch 2/30 471/471 [==============================] - 161s 342ms/step - loss: 108.0543 Epoch 3/30 471/471 [==============================] - 157s 333ms/step - loss: 91.7087 Traceback (most recent call last): File "train_Mobilenet.py", line 199, in <module> _main() File "train_Mobilenet.py", line 74, in _main callbacks=[logging, checkpoint]) File "/home/tf/anaconda3/envs/keras-yolov3-Mobilenet/lib/python3.5/site-packages/keras/legacy/interfaces.py", line 91, in wrapper return func(*args, **kwargs) File "/home/tf/anaconda3/envs/keras-yolov3-Mobilenet/lib/python3.5/site-packages/keras/engine/training.py", line 2262, in fit_generator callbacks.on_epoch_end(epoch, epoch_logs) File "/home/tf/anaconda3/envs/keras-yolov3-Mobilenet/lib/python3.5/site-packages/keras/callbacks.py", line 77, in on_epoch_end callback.on_epoch_end(epoch, logs) File "/home/tf/anaconda3/envs/keras-yolov3-Mobilenet/lib/python3.5/site-packages/keras/callbacks.py", line 430, in on_epoch_end filepath = self.filepath.format(epoch=epoch + 1, **logs) KeyError: 'val_loss'

iot-hunter avatar Dec 26 '18 06:12 iot-hunter

It seems that you do not have the validation dataset. Is it right?

Adamdad avatar Dec 26 '18 07:12 Adamdad

yes ! ! ! thank you very much ,another question is can yolo_Mobilenet.py run on CPU?I only get 2FPS ,but ssd-mobilenet have 15FPS.

change this to num_train = len(t_lines) v_lines = t_lines[int(num_train*0.84):] t_lines = t_lines[:int(num_train*0.84)] because my dataset only have 1886 samples,smaller than 8000

iot-hunter avatar Dec 27 '18 01:12 iot-hunter

@Adamdad Can you please explain what is validation dataset in simple words.?

aks8 avatar Apr 22 '21 13:04 aks8