 ``nn.Module``:

            - an integer will indicate the inceptionv3 feature layer to choose. Can be one of the following:
              64, 192, 768, 2048
            - an ``nn.Module`` for using a custom feature extractor. Expects that its forward method returns
              an ``(N,d)`` matrix where ``N`` is the batch size and ``d`` is the feature size.

        reset_real_features: Whether to also reset the real features. Since in many cases the real dataset does not
            change, the features can be cached them to avoid recomputing them which is costly. Set this to ``False`` if
            your dataset does not change.
        cosine_distance_eps: Epsilon value for the cosine distance. If the cosine distance is larger than this value
            it is set to 1 and thus ignored in the MIFID calculation.
        kwargs: Additional keyword arguments, see :ref:`Metric kwargs` for more info.

    Raises:
        RuntimeError:
            If ``torch`` is version less than 1.10
        ValueError:
            If ``feature`` is set to an ``int`` and ``torch-fidelity`` is not installed
        ValueError:
            If ``feature`` is set to an ``int`` not in [64, 192, 768, 2048]
        TypeError:
            If ``feature`` is not an ``str``, ``int`` or ``torch.nn.Module``
        ValueError:
            If ``reset_real_features`` is not an ``bool``

    Example::
        >>> import torch
        >>> _ = torch.manual_seed(42)
        >>> from torchmetrics.image.mifid import MemorizationInformedFrechetInceptionDistance
        >>> mifid = MemorizationInformedFrechetInceptionDistance(feature=64)
        >>> # generate two slightly overlapping image intensity distributions
        >>> imgs_dist1 = torch.randint(0, 200, (100, 3, 299, 299), dtype=torch.uint8)
        >>> imgs_dist2 = torch.randint(100, 255, (100, 3, 299, 299), dtype=torch.uint8)
        >>> mifid.update(imgs_dist1, real=True)
        >>> mifid.update(imgs_dist2, real=False)
        >>> mifid.compute()
        tensor(3003.3691)

    FÚ