code: def make_optimize_tensor(self, model, session=None, var_list=None):
          
          session = model.enquire_session(session)
          with session.as_default(), tf.name_scope(self.name):
              # Create optimizer variables before initialization.
              return self._build_natgrad_step_ops(model, *var_list)
docs: Make Tensorflow optimization tensor.
          This method builds natural gradients optimization tensor and initializes all
          necessary variables created by the optimizer.
  
              :param model: GPflow model.
              :param session: Tensorflow session.
              :param var_list: List of tuples of variational parameters.
              :return: Tensorflow natural gradient operation.