这是到Pytorch的官方实施距离的正式实施的港口。请参阅https://github.com/bioinf-jku/ttur使用TensorFlow的原始实现。
FID是两个图像数据集之间相似性的度量。证明它与人类对视觉质量的判断良好相关,最常用于评估生成对抗网络样品的质量。 FID是通过计算两个高斯拟合以特征构成网络表示的高斯之间的距离来计算得出的。
在gan中可以找到进一步的见解和对FID分数的独立评估吗?一项大规模研究。
权重和模型与官方Tensorflow实现完全相同,并经过测试以给出非常相似的结果(例如,使用Progan生成的图像,例如.08绝对误差和LSUN的0.0009相对误差)。但是,由于图像插值实现和库后端的差异,FID结果仍然与原始实现略有不同。因此,如果您在论文中报告了FID分数,并且希望它们与其他论文中报告的FID分数完全媲美,则应考虑使用官方的TensorFlow实施。
从PIP安装:
pip install pytorch-fid
要求:
要计算两个数据集之间的FID分数,其中每个数据集的图像包含在单个文件夹中:
python -m pytorch_fid path/to/dataset1 path/to/dataset2
要在GPU上运行评估,请使用标志--device cuda:N ,其中N是GPU使用的索引。
在与官方实现的不同之处,您可以选择使用Inepper网络的不同特征层而不是默认的pool3层。由于较低层的特征仍然具有空间范围,因此在估计平均值和协方差之前,首先将全局平均值汇总到向量。
如果您要比较的数据集小于其他所需的2048张图像,这可能会很有用。请注意,这改变了FID分数的幅度,您无法将它们与在另一个维度上计算的分数进行比较。最终的分数也可能不再与视觉质量相关。
您可以选择要与标志--dims N一起使用的功能的维度,其中n是特征的维度。选择是:
.npz存档经常使用的用例是将多个模型与原始数据集进行比较。为了在原始数据集中多次保存培训,还可以从数据集中生成兼容的.npz档案。这是使用前面提到的参数的任何组合以及添加--save-stats标志的任何组合来完成的。例如:
python -m pytorch_fid --save-stats path/to/dataset path/to/outputfile
然后,可以将输出文件代替原始数据集的路径以进行进一步的比较。
如果您在研究中使用此存储库,请考虑使用以下Bibtex条目引用它:
@misc{Seitzer2020FID,
author={Maximilian Seitzer},
title={{pytorch-fid: FID Score for PyTorch}},
month={August},
year={2020},
note={Version 0.3.0},
howpublished={url{https://github.com/mseitzer/pytorch-fid}},
}
此实施是根据Apache许可证2.0许可的。
FID是由Martin Heusel,Hubert Ramsauer,Thomas Unterthiner,Bernhard Nessler和Sepp Hochreiter介绍的,“经过两个时间尺度更新训练的gans the https://arxiv.org.org/abs/1706.08550000
最初的实施是由生物信息学研究所JKU Linz,根据Apache许可证2.0许可。请参阅https://github.com/bioinf-jku/ttur。