|
9 | 9 | import os
|
10 | 10 | import tensorflow as tf
|
11 | 11 |
|
| 12 | +from tensorflow import keras |
12 | 13 | from pathlib import Path
|
13 | 14 | from model import dataio, model
|
14 | 15 |
|
15 | 16 |
|
16 | 17 | # specify directory as data io info
|
17 |
| -BASEDIR = Path('/Users/biplovbhandari/Works/SIG/hydrafloods/output') |
18 |
| -MODEL_DIR = BASEDIR / 'trial_469ae9d7b6c82488deb9be9c0a0a25e7' |
19 |
| -H5_MODEL = MODEL_DIR / 'tf-model-h5' |
| 18 | +DATADIR = Path('/home/ubuntu/hydrafloods') |
| 19 | +BASEDIR = Path('/mnt/hydrafloods/output/jrc_adjusted_LR_2020_07_13_V1/model/sentinel1-surface-water') |
| 20 | +MODEL_DIR = BASEDIR / 'trial_6ba0bc0ef8458bf43280b5814775bd2b' |
| 21 | +CHECKPOINT = MODEL_DIR / 'checkpoints' / 'epoch_0'/ 'checkpoint' |
20 | 22 |
|
21 | 23 | # specify some data structure
|
22 | 24 | FEATURES = ast.literal_eval(os.getenv('FEATURES'))
|
|
25 | 27 | in_shape = (None, None) + (len(FEATURES),)
|
26 | 28 | out_classes = int(os.getenv('OUT_CLASSES_NUM'))
|
27 | 29 |
|
28 |
| -VALIDATION_DIR = BASEDIR / 'validation_patches' |
| 30 | +VALIDATION_DIR = DATADIR / 'validation_patches_jrc' |
29 | 31 | validation_files = glob.glob(str(VALIDATION_DIR) + '/*')
|
| 32 | +# eval is batched by 1 |
30 | 33 | validation = dataio.get_dataset(validation_files, FEATURES, LABELS, PATCH_SHAPE, 1)
|
31 | 34 |
|
32 | 35 | this_model = model.get_model(in_shape, out_classes)
|
33 | 36 |
|
34 | 37 | # open and save model
|
35 |
| -this_model.load_weights(f'{str(H5_MODEL)}') |
| 38 | +this_model.load_weights(f'{str(CHECKPOINT)}') |
| 39 | + |
| 40 | +# compile the model |
| 41 | +this_model.compile( |
| 42 | + optimizer='adam', |
| 43 | + loss=model.bce_loss, |
| 44 | + metrics=[ |
| 45 | + keras.metrics.categorical_accuracy, |
| 46 | + keras.metrics.Precision(), |
| 47 | + keras.metrics.Recall(), |
| 48 | + model.dice_coef, |
| 49 | + model.f1_m |
| 50 | + ] |
| 51 | +) |
36 | 52 |
|
37 | 53 | # check how the model trained
|
38 | 54 | score = this_model.evaluate(validation)
|
|
0 commit comments