else: save_path = args.save_dir + '/cnn_s2p_' + appliance_name + '_pointnet_model' if not os.path.exists(save_path): os.makedirs(save_path) # Calling custom training function train_loss, val_loss, step_train_loss, step_val_loss = nf.customfit( sess=sess, network=model, cost=cost, train_op=train_op, tra_provider=tra_provider, x=x, y_=y_, acc=None, n_epoch=args.n_epoch, print_freq=1, val_provider=val_provider, save_model=args.save_model, save_path=save_path, epoch_identifier=None, earlystopping=True, min_epoch=1, patience=10) # Following are training info log('train loss: ' + str(train_loss)) log('val loss: ' + str(val_loss)) # infos = pd.DataFrame(data={'train_loss': step_train_loss, # #'val_loss': step_val_loss
weights_loader(model, param_file) # Calling custom test function # test_prediction = nf.custompredict_add(sess=sess, # network=model, # output_provider = test_provider, # x = x, # fragment_size=args.nosOfWindows, # output_length=windowlength, # y_op= None, # out_kwag=test_kwag,seqlength = test_set_x.size) test_prediction = nf.custompredictS2SX(sess=sess, network=model, output_provider=test_provider, x=x, fragment_size=args.nosOfWindows, output_length=windowlength, y_op=None, out_kwag=test_kwag) # ------------------------------------- Performance evaluation---------------------------------------------------------- # Parameters max_power = params_appliance[args.appliance_name]['max_on_power'] threshold = params_appliance[args.appliance_name]['on_power_threshold'] aggregate_mean = 522 aggregate_std = 814 appliance_mean = params_appliance[args.appliance_name]['mean'] appliance_std = params_appliance[args.appliance_name]['std']
name='output_layer') y = network.outputs param_file = 'cnn' + app2 + '_s2s_model_check.npz' print(param_file) #params = tl.files.load_npz(path='./', name=param_file) params = tl.files.load_npz(path='', name=param_file) tl.files.assign_params(sess, params, network) print('params done') test_prediction = nf.custompredict_add(sess=sess, network=network, output_provider=test_provider, x=x, fragment_size=window_size, output_length=windowlength, y_op=None, out_kwag=test_kwag, seqlength=test_set_x.size, std=std, mean=mean) max_power = params_appliance[application]['max_on_power'] threshold = params_appliance[application]['on_power_threshold'] ground_truth = ground_truth[offset:-offset] * std + mean mains = (test_set_x[offset:-offset]) * std + mean prediction = test_prediction[offset:-offset] prediction[prediction <= 0.0] = 0.0 print(prediction.shape)
use_locking=False).minimize( cost, var_list=train_params) # initialize all variables sess.run(tf.global_variables_initializer()) # params = tl.files.load_npz(path='', name='cnn_lstm_model.npz') # tl.files.assign_params(sess, params, network) print 'set sucessful' save_path = './cnn_' + appliance_name + '_s2p' nf.customfit(sess=sess, network=network, cost=cost, train_op=train_op, tra_provider=tra_provider, x=x, y_=y_, acc=None, n_epoch=epoch, print_freq=1, val_provider=val_provider, save_model=saver, tra_kwag=tra_kwag, val_kwag=val_kwag, save_path=save_path, epoch_identifier=None, earlystopping=True, min_epoch=1, patience=10) sess.close()