def enquire_session(self, session=None):
        """
        Verifies and returns relevant TensorFlow session. If non-None session
        were passed, session is checked for graph compliance and returned back.
        Otherwise, default TensorFlow session is returned. When TensorFlow default
        session is not set up, GPflow session's manager creates or uses existing
        one for returning.

        :param session: TensorFlow session or None. Default value is None.
        :return: TensorFlow session.
        :raises GPflowError: Session's graph is not compilable with node's graph.
        """
        if session is None:
            session = tf.get_default_session()
            if session is None:
                session = session_manager.get_default_session()
        self.is_built_coherence(session.graph)
        return session
Verifies and returns relevant TensorFlow session. If non-None session
        were passed, session is checked for graph compliance and returned back.
        Otherwise, default TensorFlow session is returned. When TensorFlow default
        session is not set up, GPflow session's manager creates or uses existing
        one for returning.

        :param session: TensorFlow session or None. Default value is None.
        :return: TensorFlow session.
        :raises GPflowError: Session's graph is not compilable with node's graph.