def set_params(self, params):
"""Utility function: set currently optimizable parameters."""
weights, goals, goal_vels = np.split(params, (self.n_weights,
self.n_weights + (self.n_dmps - 1) * self.n_task_dims))
G = np.split(goals, [i * self.n_task_dims
for i in range(1, self.n_dmps - 1)])
self.weights = [w.reshape(self.n_weights_per_dmp[i], self.n_task_dims)
for i, w in enumerate(np.split(
weights, self.split_weights * self.n_task_dims)[
:self.n_dmps])]
for i in range(self.n_dmps - 1):
self.subgoals[i + 1] = G[i]
if self.learn_goal_velocities:
self.subgoal_velocities = np.split(
goal_vels, [i * self.n_task_dims
for i in xrange(1, self.n_dmps)])
评论列表
文章目录