Papers › Exposing flaws of generative model evaluation metrics and their unfair treatment of...

Exposing flaws of generative model evaluation metrics and their unfair treatment of diffusion models

7 Jun 2023NeurIPS 2023 11arXiv:2306.04675archive 2025-07-28

George Stein, Jesse C. Cresswell, Rasa Hosseinzadeh, Yi Sui, Brendan Leigh Ross, Valentin Villecroze, Zhaoyan Liu, Anthony L. Caterini, J. Eric T. Taylor, Gabriel Loaiza-Ganem

We systematically study a wide variety of generative models spanning semantically-diverse image datasets to understand and improve the feature extractors and metrics used to evaluate them. Using best practices in psychophysics, we measure human perception of image realism for generated samples by conducting the largest experiment evaluating generative models to date, and find that no existing metric strongly correlates with human evaluations. Comparing to 17 modern metrics for evaluating the overall performance, fidelity, diversity, rarity, and memorization of generative models, we find that the state-of-the-art perceptual realism of diffusion models as judged by humans is not reflected in commonly reported metrics such as FID. This discrepancy is not explained by diversity in generated samples, though one cause is over-reliance on Inception-V3. We address these flaws through a study of alternative self-supervised feature extractors, find that the semantic information encoded by individual networks strongly depends on their training procedure, and show that DINOv2-ViT-L/14 allows for much richer evaluation of generative models. Next, we investigate data memorization, and find that generative models do memorize training examples on simple, smaller datasets like CIFAR10, but not necessarily on more complex datasets like ImageNet. However, our experiments show that current metrics do not properly detect memorization: none in the literature is able to separate memorization from other phenomena such as underfitting or mode shrinkage. To facilitate further development of generative models and their evaluation we release all generated image datasets, human evaluation data, and a modular library to compute 17 common metrics for 9 different encoders at https://github.com/layer6ai-labs/dgm-eval.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2306.04675")

Code

Syntology Ran 30 of 63 code samples harvested from 8 repositories linked to this paper; 33 have no recorded run. Of those that ran: 6 ran · honoured contract; 1 ran · violated contract; 14 ran · our draft was wrong; 5 ran · fixture could not drive it; 4 ran with no contract checked.

By repository: official repository: 3 samples from 1 repository, 2 ran; found in paper text by Syntology: 59 samples from 7 repositories, 27 ran; 1 identical to code first harvested elsewhere. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

layer6ai-labs/dgm-eval officialmentioned in papermentioned on GitHubpytorch report
gmum/PALATE mentioned on GitHubjax report
layer6ai-labs/dgm_manifold_survey mentioned on GitHubpytorch report
louaaron/scaling-riemannian-diffusion mentioned on GitHubpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

63 samples harvested; 30 ran; 6 honoured the contract we drafted; 33 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

6ran · honoured contract
1ran · violated contract
14ran · our draft was wrong
5ran · fixture could not drive it
4ran
33unverified

Licence: 1 of the 63 samples is pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 8 repositories linked to this paper, official or community; each sample names its own and says which. Some samples are identical code Syntology first harvested from another repository; for those, this paper's copy is not located and its licence is not recorded. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

get_dataloader_from_path layer6ai-labs/dgm-eval/dgm_eval/__main__.py official repository ran · our draft was wrong MIT (permissive) · de1462c410a454f6 · report
get_device_and_num_workers layer6ai-labs/dgm-eval/dgm_eval/__main__.py official repository ran · our draft was wrong fingerprinted MIT (permissive) · 0e74fdd296ca6e73 · report
compute_representations layer6ai-labs/dgm-eval/dgm_eval/__main__.py official repository unverified MIT (permissive) · 2bbe398e90e76c2d · report
geometric_logprob rtqichen/residual-flows/qualitative_samples.py found in paper text by Syntology ran · our draft was wrong fingerprinted MIT (permissive) · 3e0a8dc623475d8e · report
parse_tuple Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/dataset_tool.py found in paper text by Syntology ran · honoured contract MIT (permissive) · 9cd07419f7c926f8 · report
window_partition SHI-Labs/StyleNAT/models/generator.py found in paper text by Syntology ran · fixture could not drive it fingerprinted MIT (permissive) · 144d10b49baeb8a6 · report
NormLayer Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/pg_modules/blocks.py found in paper text by Syntology ran · our draft was wrong MIT (permissive) · ef1e7dffb5d433d4 · report
UpBlockBig Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/pg_modules/blocks.py found in paper text by Syntology ran MIT (permissive) · f87cd99314206f72 · report
UpBlockSmall Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/pg_modules/blocks.py found in paper text by Syntology ran MIT (permissive) · 0186912dcb8b92b9 · report
basic_logdet_estimator rtqichen/residual-flows/resflows/layers/iresblock.py found in paper text by Syntology ran · our draft was wrong MIT (permissive) · 9b16691c6712e596 · report
batch_jacobian rtqichen/residual-flows/resflows/layers/iresblock.py found in paper text by Syntology ran · our draft was wrong MIT (permissive) · 85a4b5aac95f359d · report
batch_trace rtqichen/residual-flows/resflows/layers/iresblock.py found in paper text by Syntology ran · fixture could not drive it fingerprinted MIT (permissive) · 70b3429a213d3584 · report
count_parameters rtqichen/residual-flows/train_toy.py found in paper text by Syntology ran · honoured contract MIT (permissive) · f6b944f50d3f15ae · report
file_ext Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/dataset_tool.py found in paper text by Syntology ran · our draft was wrong fingerprinted MIT (permissive) · a2b45afa097b55b6 · report
get_hyper google-research/maskgit/maskgit/configs/base_config.py found in paper text by Syntology ran Apache-2.0 (permissive) · ffc38a27fd9393ba · report
get_hyper google-research/maskgit/maskgit/configs/maskgit_class_cond_config.py found in paper text by Syntology ran Apache-2.0 (permissive) · 7dfd4d71b4b83843 · report
layout_grid Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/gen_video.py found in paper text by Syntology ran · fixture could not drive it fingerprinted MIT (permissive) · 456c172851946697 · report
make_kernel SHI-Labs/StyleNAT/models/basic_layers.py found in paper text by Syntology ran · violated contract MIT (permissive) · 6f65e378a4313f87 · report
make_transform Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/gen_images.py found in paper text by Syntology ran · fixture could not drive it fingerprinted MIT (permissive) · f47dff4b7b27bba7 · report
maybe_min Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/dataset_tool.py found in paper text by Syntology ran · honoured contract MIT (permissive) · dd1dc700e87f36cc · report
parse_comma_separated_list Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/calc_metrics.py found in paper text by Syntology ran · our draft was wrong fingerprinted MIT (permissive) · d01b68a634f71551 · report
parse_range Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/gen_images.py found in paper text by Syntology ran · honoured contract MIT (permissive) · 236de8614a178382 · report
parse_range autonomousvision/projected-gan/gen_video.py found in paper text by Syntology ran · honoured contract MIT (permissive) · 025e4c7cda618f25 · report
parse_vec2 Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/gen_images.py found in paper text by Syntology ran · honoured contract MIT (permissive) · 180016b9227381b1 · report
rand_brightness Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/pg_modules/diffaug.py found in paper text by Syntology ran · our draft was wrong fingerprinted MIT (permissive) · 011230b2b9b8fb6f · report
rand_saturation Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/pg_modules/diffaug.py found in paper text by Syntology ran · our draft was wrong fingerprinted MIT (permissive) · 5b0d8787e670fc63 · report
standard_normal_logprob rtqichen/residual-flows/qualitative_samples.py found in paper text by Syntology ran · our draft was wrong fingerprinted MIT (permissive) · 2dc23e3f121c6a38 · report
standard_normal_sample rtqichen/residual-flows/qualitative_samples.py found in paper text by Syntology ran · our draft was wrong MIT (permissive) · 2168d015a2e457cb · report
upfirdn2d_native SHI-Labs/StyleNAT/op/upfirdn2d.py found in paper text by Syntology ran · fixture could not drive it MIT (permissive) · fe99cfd294676edb · report
window_reverse SHI-Labs/StyleNAT/models/generator.py found in paper text by Syntology ran · our draft was wrong MIT (permissive) · 61bf152e6a42a184 · report
DiffAugment Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/pg_modules/diffaug.py found in paper text by Syntology unverified MIT (permissive) · da4e9834e767ce2d · report
add_watermark SHI-Labs/StyleNAT/src/inference.py found in paper text by Syntology unverified MIT (permissive) · da365dda2e5af8e0 · report
apply_label_smoothing google-research/maskgit/maskgit/libml/losses.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 1b2e0a7656cc76a7 · report
ask_yes_no Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/dnnlib/util.py found in paper text by Syntology unverified MIT (permissive) · 9d31d2c4cd16bb2d · report
beta_softplus Rayhane-mamah/Efficient-VDVAE/efficient_vdvae_jax/model/latent_layers.py found in paper text by Syntology unverified MIT (permissive) · 9bd8ee32e810e900 · report
calculate_activation_statistics SHI-Labs/StyleNAT/utils/fid_score.py found in paper text by Syntology unverified MIT (permissive) · 12b482fc759f87dd · report
calculate_frechet_distance SHI-Labs/StyleNAT/utils/fid_score.py found in paper text by Syntology unverified MIT (permissive) · 0def50a351111624 · report
compute_is Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/metrics/inception_score.py found in paper text by Syntology unverified MIT (permissive) · fc49fa553c005268 · report
data_sampler SHI-Labs/StyleNAT/dataset/dataset.py found in paper text by Syntology unverified MIT (permissive) · 258c1af08f41aa17 · report
format_time Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/dnnlib/util.py found in paper text by Syntology unverified MIT (permissive) · 053fc534bc6bb989 · report
format_time_brief Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/dnnlib/util.py found in paper text by Syntology unverified MIT (permissive) · 77f4aa0649e7f404 · report
get_activations SHI-Labs/StyleNAT/utils/fid_score.py found in paper text by Syntology unverified MIT (permissive) · c1f9693596855557 · report
get_haar_wavelet SHI-Labs/StyleNAT/models/discriminator.py found in paper text by Syntology unverified MIT (permissive) · 9865a02804b0266f · report
get_hyper google-research/maskgit/maskgit/configs/vqgan_config.py found in paper text by Syntology unverified Apache-2.0 (permissive) · cd108d44d16c6e3c · report
get_lr_schedule Rayhane-mamah/Efficient-VDVAE/efficient_vdvae_jax/model/schedules.py found in paper text by Syntology unverified MIT (permissive) · 8c4274c2f8994da8 · report
get_norm_layer google-research/maskgit/maskgit/nets/layers.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 1983d19e3e1ab60d · report
inception_score sbarratt/inception-score-pytorch/inception_score.py found in paper text by Syntology unverified MIT (permissive) · 6d3c813b7561493d · report
l1_loss google-research/maskgit/maskgit/libml/losses.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 06f87811f5c2b96a · report
mask_by_random_topk google-research/maskgit/maskgit/libml/parallel_decode.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 389c62669d4417ea · report
normalize_second_moment Zhendong-Wang/Diffusion-GAN/diffusion-projected-gan/pg_modules/networks_fastgan.py found in paper text by Syntology unverified MIT (permissive) · 02870cd90e053ab0 · report
parse_tuple autonomousvision/projected-gan/gen_video.py found in paper text by Syntology unverified MIT (permissive) · 6a0f2095bdd516ab · report
read_image_from_url google-research/maskgit/maskgit/utils.py found in paper text by Syntology unverified Apache-2.0 (permissive) · e39a123f00eb58cd · report
restore_from_path google-research/maskgit/maskgit/utils.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 95c51644bf3cb9ff · report
schedule google-research/maskgit/maskgit/libml/mask_schedule.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 877afab065f859ba · report
squared_euclidean_distance google-research/maskgit/maskgit/libml/losses.py found in paper text by Syntology unverified Apache-2.0 (permissive) · d80134d1097de9c4 · report
stable_init Rayhane-mamah/Efficient-VDVAE/efficient_vdvae_jax/model/conv2d.py found in paper text by Syntology unverified MIT (permissive) · d177a0713d0bea82 · report
tensorflow_style_avg_pooling google-research/maskgit/maskgit/nets/layers.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 38e696a22dc81a6f · report
truncated_normal google-research/maskgit/maskgit/nets/maskgit_transformer.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 0408240381821d2c · report
uniform_init Rayhane-mamah/Efficient-VDVAE/efficient_vdvae_jax/model/conv2d.py found in paper text by Syntology unverified MIT (permissive) · 0f49a2b0642d1098 · report
unnormalize SHI-Labs/StyleNAT/dataset/dataset.py found in paper text by Syntology unverified MIT (permissive) · 43108d105300b7f5 · report
unswin_window SHI-Labs/StyleNAT/src/analysis.py found in paper text by Syntology unverified MIT (permissive) · 001e240d5a8fc4dc · report
upsample google-research/maskgit/maskgit/nets/layers.py found in paper text by Syntology unverified Apache-2.0 (permissive) · 5829218c5489c6b6 · report
chunk identical code first harvested elsewhere ran · our draft was wrong licence of this copy not recorded · 8241c0562bc710fd · report

Tasks

DiversityImage GenerationMemorization

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Image Generation FFHQ 256 x 256 StyleNAT (Exposing) Coverage 0.71 #3 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleNAT (Exposing) Density 0.77 #3 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleNAT (Exposing) FD 229.42 #3 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleNAT (Exposing) FID 2.11 #3 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleNAT (Exposing) Precision 0.79 #3 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleNAT (Exposing) Recall 0.41 #3 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN-XL (Exposing) Coverage 0.63 #5 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN-XL (Exposing) Density 0.68 #5 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN-XL (Exposing) FD 240.07 #5 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN-XL (Exposing) FID 2.26 #5 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN-XL (Exposing) Precision 0.77 #5 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN-XL (Exposing) Recall 0.43 #5 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleSwin (Exposing) Coverage 0.64 #11 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleSwin (Exposing) Density 0.71 #11 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleSwin (Exposing) FD 303.21 #11 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleSwin (Exposing) FID 2.89 #11 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleSwin (Exposing) Precision 0.79 #11 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleSwin (Exposing) Recall 0.28 #11 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 InsGen (Exposing) Coverage 0.51 #18 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 InsGen (Exposing) FD 436.26 #18 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 InsGen (Exposing) FID 3.46 #18 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 InsGen (Exposing) Precision 0.64 #18 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 InsGen (Exposing) Recall 0.13 #18 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Projected-GAN (Exposing) Coverage 0.30 #21 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Projected-GAN (Exposing) Density 0.31 #21 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Projected-GAN (Exposing) FD 589.20 #21 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Projected-GAN (Exposing) FID 4.29 #21 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Projected-GAN (Exposing) Precision 0.57 #21 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Projected-GAN (Exposing) Recall 0.07 #21 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN2-ada (Exposing) Coverage 0.39 #26 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN2-ada (Exposing) Density 0.36 #26 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN2-ada (Exposing) FD 514.78 #26 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN2-ada (Exposing) FID 5.30 #26 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN2-ada (Exposing) Precision 0.59 #26 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 StyleGAN2-ada (Exposing) Recall 0.06 #26 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 LDM (Exposing) Coverage 0.74 #32 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 LDM (Exposing) Density 0.83 #32 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 LDM (Exposing) FD 226.72 #32 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 LDM (Exposing) FID 8.11 #32 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 LDM (Exposing) Precision 0.81 #32 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 LDM (Exposing) Recall 0.44 #32 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Unleash-Trans (Exposing) Coverage 0.53 #34 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Unleash-Trans (Exposing) Density 0.61 #34 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Unleash-Trans (Exposing) FD 393.45 #34 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Unleash-Trans (Exposing) FID 9.02 #34 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Unleash-Trans (Exposing) Precision 0.76 #34 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Unleash-Trans (Exposing) Recall 0.24 #34 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Efficient-vdVAE (Exposing) Coverage 0.54 #39 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Efficient-vdVAE (Exposing) Density 1.04 #39 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Efficient-vdVAE (Exposing) FD 514.16 #39 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Efficient-vdVAE (Exposing) FID 34.88 #39 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Efficient-vdVAE (Exposing) Precision 0.86 #39 of 51 Archive leaderboard report
Image Generation FFHQ 256 x 256 Efficient-vdVAE (Exposing) Recall 0.14 #39 of 51 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Diffusion

1 archive method tag without a method page not shown.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections