Spaces:
Sleeping
Sleeping
| import os | |
| import numpy as np | |
| from skimage.exposure import rescale_intensity | |
| from skimage.segmentation import mark_boundaries | |
| from skimage import io | |
| from src.model.model import get_unet | |
| from src.data.data_processing import load_and_preprocess_test_data | |
| def predict(model, mean, std): | |
| print('-'*30) | |
| print('Loading and preprocessing test data...') | |
| print('-'*30) | |
| imgs_test, imgs_id_test = load_and_preprocess_test_data() | |
| imgs_test = imgs_test.astype('float32') | |
| imgs_test -= mean | |
| imgs_test /= std | |
| print('-'*30) | |
| print('Loading saved weights...') | |
| print('-'*30) | |
| model.load_weights('weights.h5') | |
| print('-'*30) | |
| print('Predicting masks on test data...') | |
| print('-'*30) | |
| imgs_mask_test = model.predict(imgs_test, verbose=1) | |
| np.save('imgs_mask_test.npy', imgs_mask_test) | |
| print('-' * 30) | |
| print('Saving predicted masks to files...') | |
| print('-' * 30) | |
| pred_dir = 'preds' | |
| if not os.path.exists(pred_dir): | |
| os.mkdir(pred_dir) | |
| for k in range(len(imgs_mask_test)): | |
| a = rescale_intensity(imgs_test[k][:,:,0], out_range=(-1,1)) | |
| b = (imgs_mask_test[k][:,:,0]).astype('uint8') | |
| io.imsave(os.path.join(pred_dir, str(k) + '_pred.png'), mark_boundaries(a,b)) | |
| return imgs_mask_test |