И я хочу рассчитать потери и точность каждого изображения в тестовых данных. Чтобы я мог рассчитать средние потери и точность и их стандартное отклонение.
Я использую модель U-Net для сегментации изображения. Я разделил данные на данные о поездах и данные испытаний, они оба имеют изображения и метки.
этап поезда
data_gen_args = dict(rotation_range=0.2, width_shift_range=0.05, height_shift_range=0.05, shear_range=0.05,
zoom_range=0.05, horizontal_flip=True, fill_mode='nearest')
trainGene = trainGenerator(1,'./data/melanoma/train','image','label',data_gen_args,save_to_dir = None)
model = unet()
tensorboard = TensorBoard(log_dir='./logs', histogram_freq=0,write_graph=True, write_images=False)
model_checkpoint = ModelCheckpoint('./models/unet_model.hdf5', monitor='loss',verbose=1, save_best_only=True)
history = model.fit_generator(trainGene,steps_per_epoch=2,epochs=1,callbacks=[model_checkpoint,tensorboard])
print(history.history)
print("number of epoch",history.epoch)
действительный этап
data_gen_args = dict(rotation_range=0.2, width_shift_range=0.05, height_shift_range=0.05, shear_range=0.05,
zoom_range=0.05, horizontal_flip=True, fill_mode='nearest')
evaluateGene = validGenerator(1,'./data/melanoma/test','image','label',data_gen_args,save_to_dir = None)
score = model.evaluate_generator(evaluateGene,20, verbose=1)
print(model.metrics_names)
print(score[0], score[1],score[2])
Стадия прогнозирования
testGene = testGenerator("data/melanoma/test/image")
results = model.predict_generator(testGene,20,verbose=1)
saveResult("data/melanoma/test/predict",results)
Я ожидаю, что выходные данные могут быть массивом потерь и точности каждого тестового изображения.
Спасибо!