Auxilary method for composing gpflow's tree name scopes. The Parentable pathname
        can be considered as a set of name scopes. This method grabs `pathname` and
        returns only name of the node in that path.
        Leading node name is always replaced with two parts: the name and the index
        for uniquiness in TensorFlow.

def tf_name_scope(self):
        """
        Auxilary method for composing gpflow's tree name scopes. The Parentable pathname
        can be considered as a set of name scopes. This method grabs `pathname` and
        returns only name of the node in that path.
        Leading node name is always replaced with two parts: the name and the index
        for uniquiness in TensorFlow.
        """
        if self.parent is self:
            leader_name = self.name
            leader_index = self.index
            if leader_index is None:
                return leader_name
            return "{name}-{index}".format(name=leader_name, index=leader_index)
        return self.pathname.rsplit('/')[-1]