if __name__ == "__main__": with tf.Session() as sess: init = tf.global_variables_initializer() sess.run(init) neural_net_ang.load_weights(ang_model_path+"/weights/BNN_weights") # load NN parameters neural_net_vel.load_weights(vel_model_path+"/weights/BNN_weights") angs = [] # prediction in angle space vels = [] # prediction in velocity space angs.append(validation_data[0][:2]) vels.append(validation_data[0][2:4]) state = np.array(validation_data[0]) nor_state = z_score_normalize(np.asarray([state]), x_nor_arr[0], x_nor_arr[1]) print(nor_state) #EDIT for i in range(len(validation_data)-1): (ang_delta, vel_delta) = sess.run((y_ang_delta_pre, y_vel_delta_pre), feed_dict={x: nor_state}) ang_delta = z_score_denormalize(ang_delta, y_nor_arr_ang[0], y_nor_arr_ang[1])[0] # denormalize vel_delta = z_score_denormalize(vel_delta, y_nor_arr_vel[0], y_nor_arr_vel[1])[0] next_ang = state[:2] + ang_delta next_vel = state[2:4] + vel_delta angs.append(next_ang) vels.append(next_vel) state = np.append(np.append(next_ang, next_vel), validation_data[i + 1][4:5]) state = map_angle(state) nor_state = z_score_normalize(np.asarray([state]), x_nor_arr[0], x_nor_arr[1]) angs = np.asarray(angs) vels = np.asarray(vels) plt.figure(1) plt.scatter(validation_data[0, 0], validation_data[0, 1], marker="*", label='start') plt.plot(validation_data[:, 0], validation_data[:, 1], color='blue', label='Ground Truth', marker='.')
neural_net_pos.load_weights( pos_model_path + "/weights/BNN_weights") # load NN parameters neural_net_load.load_weights(load_model_path + "/weights/BNN_weights") poses = [] # prediction in angle space loads = [] # prediction in velocity space poses.append(validation_data[0][:2]) loads.append(validation_data[0][2:4]) state = np.array(validation_data[0]) nor_state = z_score_normalize(np.asarray([state]), x_nor_arr[0], x_nor_arr[1]) #Normalize data for the neural net, makes it easier to learn print(nor_state) for i in range(len(validation_data) - 1): (pos_delta, load_delta) = sess.run( (y_pos_delta_pre, y_load_delta_pre), feed_dict={x: nor_state}) pos_delta = z_score_denormalize(pos_delta, y_nor_arr_ang[0], y_nor_arr_ang[1])[0] # denormalize load_delta = z_score_denormalize(load_delta, y_nor_arr_vel[0], y_nor_arr_vel[1])[0] #And now we turn it back next_pos = state[:2] + pos_delta next_load = state[2:4] + load_delta poses.append(next_pos) loads.append(next_load) state = np.append(np.append(next_pos, next_load), validation_data[i + 1][4:6]) nor_state = z_score_normalize(np.asarray([state]), x_nor_arr[0], x_nor_arr[1]) poses = np.asarray(poses) loads = np.asarray(loads)