import torch


def describe_data(D):
    """Prints size, min, max, mean and std of a matrix (numpy.ndarray or torch.Tensor)
    """
    s = '{:8s} [{:.4f} , {:.4f}], m+-s = {:.4f} +- {:.4f}'
    si = 'x'.join(map(str, D.shape))
    if isinstance(D, torch.Tensor):
        vals = D.min().item(), D.max().item(), D.mean().item(), D.std().item()
    else:
        vals = D.min(), D.max(), D.mean(), D.std()
    return s.format(si, *vals)