def visualize_local_policy(self, m, title='pol_lqr'): from gps.visualization import visualize_linear_model from gps.visualization.linear_model import visualize_K traj_info = self.cur[m].traj_info traj_distr = self.new_traj_distr[m] visualize_linear_model(file_name=self._data_files_dir + 'plot_%s-m%d-%02d' % (title, m, self.iteration_count), coeff=traj_distr.K, intercept=traj_distr.k, cov=traj_distr.pol_covar, x=traj_info.xmu[:, :self.dX], y=None, coeff_label='$\\mathbf{K}_t$', intercept_label='$\\mathbf{k}_t$', cov_label='$\\Sigma_t$', y_label='$\\mathbf{u}_t$') for dim in range(self.dU): visualize_K(file_name=self._data_files_dir + 'plot_%s_K%d-m%d-%02d' % (title, dim, m, self.iteration_count), K=traj_distr.K[:, dim], labels=self.X_labels)
def visualize_policy_linearization(self, m, title='pol_lin'): from gps.visualization import visualize_linear_model pol_info = self.cur[m].pol_info traj_info = self.cur[m].traj_info visualize_linear_model(file_name=self._data_files_dir + 'plot_%s-m%d-%02d' % (title, m, self.iteration_count), coeff=pol_info.pol_K, intercept=pol_info.pol_k, cov=pol_info.pol_S, x=traj_info.xmu[:, :self.dX], y=None, coeff_label='$\\bar{\\mathbf{K}}_t$', intercept_label='$\\bar{\\mathbf{k}}_t$', cov_label='$\\bar{\\Sigma}_t$', y_label='$\\bar{\\mathbf{u}}_t$')
def visualize_dynamics(self, m): from gps.visualization import visualize_linear_model traj_info = self.cur[m].traj_info dynamics = traj_info.dynamics visualize_linear_model(file_name=self._data_files_dir + 'plot_dynamics_m%d-%02d' % (m, self.iteration_count), coeff=dynamics.Fm[:-1], intercept=dynamics.fv[:-1], cov=dynamics.dyn_covar[:-1], x=traj_info.xmu[:-1], y=traj_info.xmu[1:, :self.dX], coeff_label='$f_{\\mathbf{x}\\mathbf{u} t}$', intercept_label='$f_{\\mathbf{c} t}$', cov_label='$\\mathbf{F}_t$', y_label='$\\mathbf{x}_{t+1}$')