88import tensorflow as tf
99
1010from tensorflow .keras import backend as K
11- from tensorflow .keras .models import model_from_json , model_from_yaml
11+ from tensorflow .keras .models import model_from_json
1212from tensorflow .keras .callbacks import ModelCheckpoint , CSVLogger , ReduceLROnPlateau , EarlyStopping , TensorBoard
1313
1414from sklearn .utils .class_weight import compute_class_weight
@@ -214,7 +214,7 @@ def run(params):
214214
215215 # Try class weight and abstention classifier
216216 y_integers = np .argmax (Y_train , axis = 1 )
217- class_weights = compute_class_weight ('balanced' , np .unique (y_integers ), y_integers )
217+ class_weights = compute_class_weight (class_weight = 'balanced' , classes = np .unique (y_integers ), y = y_integers )
218218 d_class_weights = dict (enumerate (class_weights ))
219219
220220 print ('X_train shape:' , X_train .shape )
@@ -444,12 +444,6 @@ def save_and_test_saved_model(params, model, root_fname, nb_classes, alpha, mask
444444 with open (params ['save_path' ] + root_fname + '.model.json' , "w" ) as json_file :
445445 json_file .write (model_json )
446446
447- # serialize model to YAML
448- model_yaml = model .to_yaml ()
449- with open (params ['save_path' ] + root_fname + '.model.yaml' , "w" ) as yaml_file :
450-
451- yaml_file .write (model_yaml )
452-
453447 # serialize weights to HDF5
454448 model .save_weights (params ['save_path' ] + root_fname + '.model.h5' )
455449 print ("Saved model to disk" )
@@ -460,18 +454,8 @@ def save_and_test_saved_model(params, model, root_fname, nb_classes, alpha, mask
460454 json_file .close ()
461455 loaded_model_json = model_from_json (loaded_model_json )
462456
463- # load yaml and create model
464- yaml_file = open (params ['save_path' ] + root_fname + '.model.yaml' , 'r' )
465- loaded_model_yaml = yaml_file .read ()
466- yaml_file .close ()
467- loaded_model_yaml = model_from_yaml (loaded_model_yaml )
468- # yaml.load(input, Loader=yaml.FullLoader)
469-
470457 # load weights into new model
471458 loaded_model_json .load_weights (params ['save_path' ] + root_fname + '.model.h5' )
472- # input = params['save_path'] + root_fname + '.model.h5'
473- # loaded_model_json.load(input, Loader=yaml.FullLoader)
474- # print("Loaded json model from disk")
475459
476460 # evaluate json loaded model on test data
477461 loaded_model_json .compile (loss = candle .abstention_loss (alpha , mask ), optimizer = 'SGD' , metrics = [candle .abstention_acc_metric (nb_classes )])
@@ -480,27 +464,17 @@ def save_and_test_saved_model(params, model, root_fname, nb_classes, alpha, mask
480464 print ('json Validation abstention accuracy:' , score_json [1 ])
481465 print ("json %s: %.2f%%" % (loaded_model_json .metrics_names [1 ], score_json [1 ] * 100 ))
482466
483- # load weights into new model
484- loaded_model_yaml .load_weights (params ['save_path' ] + root_fname + '.model.h5' )
485- print ("Loaded yaml model from disk" )
486- # evaluate yaml loaded model on test data
487- loaded_model_yaml .compile (loss = candle .abstention_loss (alpha , mask ), optimizer = 'SGD' , metrics = [candle .abstention_acc_metric (nb_classes )])
488- score_yaml = loaded_model_yaml .evaluate (X_test , Y_test , verbose = 0 )
489- print ('yaml Validation abstention loss:' , score_yaml [0 ])
490- print ('yaml Validation abstention accuracy:' , score_yaml [1 ])
491- print ("yaml %s: %.2f%%" % (loaded_model_yaml .metrics_names [1 ], score_yaml [1 ] * 100 ))
492-
493467 # predict using loaded yaml model on test and training data
494- predict_yaml_train = loaded_model_yaml .predict (X_train )
495- predict_yaml_test = loaded_model_yaml .predict (X_test )
496- print ('Yaml_train_shape :' , predict_yaml_train .shape )
497- print ('Yaml_test_shape :' , predict_yaml_test .shape )
498- predict_yaml_train_classes = np .argmax (predict_yaml_train , axis = 1 )
499- predict_yaml_test_classes = np .argmax (predict_yaml_test , axis = 1 )
500- np .savetxt (params ['save_path' ] + root_fname + '_predict_yaml_train .csv' , predict_yaml_train , delimiter = "," , fmt = "%.3f" )
501- np .savetxt (params ['save_path' ] + root_fname + '_predict_yaml_test .csv' , predict_yaml_test , delimiter = "," , fmt = "%.3f" )
502- np .savetxt (params ['save_path' ] + root_fname + '_predict_yaml_train_classes .csv' , predict_yaml_train_classes , delimiter = "," , fmt = "%d" )
503- np .savetxt (params ['save_path' ] + root_fname + '_predict_yaml_test_classes .csv' , predict_yaml_test_classes , delimiter = "," , fmt = "%d" )
468+ predict_train = loaded_model_json .predict (X_train )
469+ predict_test = loaded_model_json .predict (X_test )
470+ print ('train_shape :' , predict_train .shape )
471+ print ('test_shape :' , predict_test .shape )
472+ predict_train_classes = np .argmax (predict_train , axis = 1 )
473+ predict_test_classes = np .argmax (predict_test , axis = 1 )
474+ np .savetxt (params ['save_path' ] + root_fname + '_predict_train .csv' , predict_train , delimiter = "," , fmt = "%.3f" )
475+ np .savetxt (params ['save_path' ] + root_fname + '_predict_test .csv' , predict_test , delimiter = "," , fmt = "%.3f" )
476+ np .savetxt (params ['save_path' ] + root_fname + '_predict_train_classes .csv' , predict_train_classes , delimiter = "," , fmt = "%d" )
477+ np .savetxt (params ['save_path' ] + root_fname + '_predict_test_classes .csv' , predict_test_classes , delimiter = "," , fmt = "%d" )
504478
505479
506480def main ():
0 commit comments