code: def update_policy(self):
          
          self.demonstration_buffer.update_buffer.shuffle()
          batch_losses = []
          num_batches = min(len(self.demonstration_buffer.update_buffer['actions']) //
                            self.n_sequences, self.batches_per_epoch)
          for i in range(num_batches):
              update_buffer = self.demonstration_buffer.update_buffer
              start = i * self.n_sequences
              end = (i + 1) * self.n_sequences
              mini_batch = update_buffer.make_mini_batch(start, end)
              run_out = self.policy.update(mini_batch, self.n_sequences)
              loss = run_out['policy_loss']
              batch_losses.append(loss)
          if len(batch_losses) > 0:
              self.stats['Losses/Cloning Loss'].append(np.mean(batch_losses))
          else:
              self.stats['Losses/Cloning Loss'].append(0)
docs: Updates the policy.