From cba42c6e4d17c26fac7a61e4bb119d5916dde5bc Mon Sep 17 00:00:00 2001 From: Johannes Fischer Date: Tue, 3 Aug 2021 17:18:30 +0200 Subject: [PATCH] Set default divergence to histogram based --- src/metrics.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/metrics.py b/src/metrics.py index d5dae65..07e0879 100644 --- a/src/metrics.py +++ b/src/metrics.py @@ -53,14 +53,14 @@ def metrics(filestr: str, test_dataset, policy): visualize_distribution(true_actions[:,0], pred_actions[:,0], filestr+'_action_viz') # calculate divergence between acceleration distributions - acceleration_divergence = divergence(pred_actions, true_actions, type='js', n_components=-1) + acceleration_divergence = divergence(pred_actions, true_actions, type='js') info['acceleration_divergence'] = acceleration_divergence # calculate divergence between velocity distributions sim_velocities = states[:,:,2] sim_velocities = sim_velocities[~torch.isnan(sim_velocities)].flatten() true_velocities = torch.cat(true_velocities, dim=0) - velocity_divergence = divergence(sim_velocities, true_velocities, type='js', n_components=-1) + velocity_divergence = divergence(sim_velocities, true_velocities, type='js') info['velocity_divergence'] = velocity_divergence return info @@ -96,7 +96,7 @@ def average_velocity(states): arg_v = nanmean(vehicle_avg_v) return arg_v -def divergence(p, q, type='js', n_components=0): +def divergence(p, q, type='js', n_components=-1): """ Calculate a divergence between p and q Args: @@ -122,7 +122,6 @@ def divergence(p, q, type='js', n_components=0): m_hist = np.histogram(m, bins=m_bins, density=True, weights=m_weights) d = .5 * kl_histogram(p, p_hist, m_hist) + .5 * kl_histogram(q, q_hist, m_hist) return d - elif type == 'kl': if n_components < 0: # Use histogram binning to discretize sampled distributions