code: def update(self, mini_batch, num_sequences):
          
  
          feed_dict = {self.model.dropout_rate: self.update_rate,
                       self.model.batch_size: num_sequences,
                       self.model.sequence_length: self.sequence_length}
          if self.use_continuous_act:
              feed_dict[self.model.true_action] = mini_batch['actions']. \
                  reshape([-1, self.brain.vector_action_space_size[0]])
          else:
              feed_dict[self.model.true_action] = mini_batch['actions'].reshape(
                  [-1, len(self.brain.vector_action_space_size)])
              feed_dict[self.model.action_masks] = np.ones(
                  (num_sequences, sum(self.brain.vector_action_space_size)))
          if self.use_vec_obs:
              apparent_obs_size = self.brain.vector_observation_space_size * \
                                  self.brain.num_stacked_vector_observations
              feed_dict[self.model.vector_in] = mini_batch['vector_obs'] \
                  .reshape([-1,apparent_obs_size])
          for i, _ in enumerate(self.model.visual_in):
              visual_obs = mini_batch['visual_obs%d' % i]
              feed_dict[self.model.visual_in[i]] = visual_obs
          if self.use_recurrent:
              feed_dict[self.model.memory_in] = np.zeros([num_sequences, self.m_size])
          run_out = self._execute_model(feed_dict, self.update_dict)
          return run_out
docs: Performs update on model.
          :param mini_batch: Batch of experiences.
          :param num_sequences: Number of sequences to process.
          :return: Results of update.