Minimalistic FID and KID implementation. Reference checked against cleanfid. Code is a mix between crowsonkb's implementation and cleanfid.
On Aliased Resizing and Surprising Subtleties in GAN Evaluation
poetry add nicefid
Or, for the old timers:
pip install nicefid
nicefid.Features.from_directory(path: Union[str, Path])
nicefid.Features.from_iterator(iterator: Iterator[torch.Tensor]) # NCHW
nicefid.Features.from_path(path: Union[str, Path])
features.save(path: Union[str, Path])
nicefid.compute_fid(features_a, features_b)
nicefid.compute_kid(features_a, features_b)
Comparing directory with generated images.
import nicefid
features_generated = nicefid.Features.from_iterator(...)
features_real = nicefid.Features.from_directory(...)
fid = nicefid.compute_fid(features_generated, features_real)
kid = nicefid.compute_kid(features_generated, features_real)