def get(self, *names, **kwargs):
        """ get(*names, key=None)
        Returns one or more :py:class:`Tensor` instances given by *names* using a deep lookup within
        the model. If *key* is not *None*, only the root tensor with that *key* is traversed. *None*
        is returned when no tensor was found. In case a tensor is passed, it's name is used for the
        lookup.
        """
        tensors = tuple(self._get(name, **kwargs) for name in names)
        return tensors[0] if len(names) == 1 else tensors