Сегментация изображений UNET: как ввести папку с проверочными изображениями и сохранить выходные данные Keras model.predict () в другую папку - PullRequest
0 голосов
/ 18 февраля 2019

Я следую этому коду для сегментации изображений UNET: https://www.kaggle.com/dingli/keras-u-net-for-nuclei-segmentation. Я закончил обучение модели.Как передать набор проверочных изображений /../validation_images/*.png и сохранить выходные данные (двоичные изображения) в другой папке: ../output.


model_loaded = keras_model(img_width=img_width, img_height=img_height)
model_loaded.load_weights(topDir+"/working/model-weights.hdf5")


# Predict on val
preds_val = model.predict(X_val, verbose=1)
# Threshold predictions
#preds_val_t = (preds_val > 0.5).astype(np.uint8)
preds_val_t = (preds_val > 0.5)

#plt.figure(figsize=(20,10.5))
plt.figure(figsize=(20,16))
x, y = 16,3
for i in range(y):  
    for j in range(x):
        # train image
        plt.subplot(y*3, x, i*3*x+j+1)
        pos = i*x+j
        plt.imshow(X_val[pos])
        plt.title('Image #{}\nIOU {}'.format(pos,round(cal_iou(np.squeeze(Y_val[pos]), np.squeeze(preds_val_t[pos])),2)))
        plt.axis('off')
        plt.subplot(y*3, x, (i*3+1)*x+j+1)
        plt.imshow(np.squeeze(Y_val[pos]))
        plt.title('Mask')
        plt.axis('off')
        plt.subplot(y*3, x, (i*3+2)*x+j+1)
        plt.imshow(np.squeeze(preds_val_t[pos]))
        plt.title('Predict')
        plt.axis('off')
plt.show()

Вот код, которыйу них есть.Вместо печати я просто хочу сохранить вывод в новую папку.

Спасибо!

...