Python keras预测成功训练后的发电机投掷误差
我正试图从头开始在自己的数据集上实现。在将代码更改为我的需求和一次试用培训之后,我试图通过keras中的predict_生成器函数验证预测。然而,它抛出了一个错误Python keras预测成功训练后的发电机投掷误差,python,tensorflow,keras,deep-learning,yolo,Python,Tensorflow,Keras,Deep Learning,Yolo,我正试图从头开始在自己的数据集上实现。在将代码更改为我的需求和一次试用培训之后,我试图通过keras中的predict_生成器函数验证预测。然而,它抛出了一个错误 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 a
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中
模型预测生成器(数据生成器包装器(行[:num\u列]、批次大小、输入形状、锚定、num\u类),详细=1,步骤=10)
文件“/usr/local/lib/python3.6/dist-packages/keras/legacy/interfaces.py”,第91行,在包装器中
返回函数(*args,**kwargs)
文件“/usr/local/lib/python3.6/dist-packages/keras/engine/training.py”,第1522行,在predict\u生成器中
详细的
文件“/usr/local/lib/python3.6/dist-packages/keras/engine/training\u-generator.py”,第474行,在predict\u-generator中
返回np.concatenate(所有输出[0])
ValueError:无法连接零维数组
如果有一些形状不匹配,我无法理解训练是如何进行的。而且,我没有修改任何输出张量。仅更改了输入图像的大小,并使类数为1