def _outer_values_update(self, full_values):
if self.has_uncertain_inputs():<EOL><INDENT>dL_dKmm = full_values['<STR_LIT>']<EOL>self.kern.update_gradients_full(dL_dKmm, self.Z, None)<EOL>kgrad = self.kern.gradient.copy()<EOL>self.kern.update_gradients_expectations(<EOL>variational_posterior=self.X,<EOL>Z=self.Z, dL_dpsi0=full_values['<STR_LIT>'],<EOL>dL_dpsi1=full_values['<STR_LIT>'],<EOL>dL_dpsi2=full_values['<STR_LIT>'])<EOL>self.kern.gradient += kgrad<EOL>self.Z.gradient = self.kern.gradients_X(dL_dKmm, self.Z)<EOL>self.Z.gradient += self.kern.gradients_Z_expectations(<EOL>variational_posterior=self.X,<EOL>Z=self.Z, dL_dpsi0=full_values['<STR_LIT>'],<EOL>dL_dpsi1=full_values['<STR_LIT>'],<EOL>dL_dpsi2=full_values['<STR_LIT>'])<EOL><DEDENT>else:<EOL><INDENT>self.kern.update_gradients_diag(full_values['<STR_LIT>'], self.X)<EOL>kgrad = self.kern.gradient.copy()<EOL>self.kern.update_gradients_full(full_values['<STR_LIT>'], self.X, self.Z)<EOL>kgrad += self.kern.gradient<EOL>self.kern.update_gradients_full(full_values['<STR_LIT>'], self.Z, None)<EOL>self.kern.gradient += kgrad<EOL>self.Z.gradient = self.kern.gradients_X(full_values['<STR_LIT>'], self.Z)<EOL>self.Z.gradient += self.kern.gradients_X(full_values['<STR_LIT>'].T, self.Z, self.X)<EOL><DEDENT>self.likelihood.update_gradients(full_values['<STR_LIT>'])<EOL>
Here you put the values, which were collected before in the right places.
E.g. set the gradients of parameters, etc.