Керас предсказание ошибки генератора после успешного обучения - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь реализовать эту реализацию keras для yolov3 на своем собственном наборе данных с нуля.После изменения кода в соответствии с моими требованиями и пробного обучения, я пытаюсь проверить прогнозы с помощью функции предиката_генератора в керасе.Однако он выдает ошибку.

    model.compile(optimizer=Adam(lr=1e-4), loss={'yolo_loss': lambda y_true, y_pred: y_pred},metrics=['accuracy']) # recompile to apply the change
    print('Unfreeze all of the layers.')

    batch_size = 2 
    print('Train on {} samples, val on {} samples, with batch size {}.'.format(num_train, num_val, batch_size))
    model.fit_generator(data_generator_wrapper(lines[:num_train], batch_size, input_shape, anchors, num_classes),
        steps_per_epoch=max(1, num_train//batch_size),
        validation_data=data_generator_wrapper(lines[num_train:], batch_size, input_shape, anchors, num_classes),
        validation_steps=max(1, num_val//batch_size),
        epochs=1,
        initial_epoch=0,
        callbacks=[logging, checkpoint, reduce_lr, early_stopping])
    predict = model.predict_generator(data_generator_wrapper(lines[:num_train], batch_size, input_shape, anchors, num_classes),verbose=1,steps=10)
    model.save_weights(log_dir + 'trained_weights_final.h5')

Вот ошибка

Файл "yolo_train.py", строка 83, в _main model.predict_generator (data_generator_wrapper (lines [: num_train)], batch_size, input_shape, якоря, num_classes), verbose = 1, steps = 10) Файл "/usr/local/lib/python3.6/dist-packages/keras/legacy/interfaces.py", строка 91, в оболочкеreturn func (* args, ** kwargs) Файл "/usr/local/lib/python3.6/dist-packages/keras/engine/training.py", строка 1522, в файле предиката verbose = verbose), "/ usr /local / lib / python3.6 / dist-packages / keras / engine / training_generator.py ", строка 474, в Предсказателе_генератора return np.concatenate (all_outs [0]) ValueError: невозможно объединить нульмерные массивы

Если было какое-то несоответствие формы, я не могу понять, как проходило обучение. Кроме того, я не модифицировал никакого выходного тензора.Только изменил размер входного изображения и сделал количество классов 1.

...