def normalise_inputs(X):
    """ Normalise input features to have zero-mean and unit standard-deviation.

    Parameters
    ----------
    X : ndarray
        Array of input features of shape ``(n_data, n_dim)``.

    Returns
    -------
    ndarray
        Normalised input features.
    ndarray
        Mean of original input features along each dimension.
    ndarray
        Standard deviation of original input features along each dimension.
    """
    X_mn = X.mean(0)
    X_sd = X.std(0)
    return (X - X_mn[None]) / X_sd[None], X_mn, X_sd