Это порт официальной реализации расстояния основания Фрэке до Питорха. См. Https://github.com/bioinf-jku/ttur для оригинальной реализации с использованием Tensorflow.
FID - это мера сходства между двумя наборами данных изображений. Было показано, что он хорошо коррелирует с человеческим суждением о качестве визуального визуального качества и чаще всего используется для оценки качества образцов генеративных состязательных сетей. FID рассчитывается путем вычисления расстояния Фреше между двумя гауссонами, установленными для представлений о начальной сети.
Дальнейшее понимание и независимая оценка оценки FID можно найти в том ли Gans созданы равенными? Крупномасштабное исследование.
Веса и модель точно такие же, как и в официальной реализации TensorFlow, и были протестированы, чтобы дать очень похожие результаты (например .08 абсолютная ошибка и относительная ошибка 0.0009 на LSUN, используя изображения, сгенерированные проганом). Однако из -за различий в реализации интерполяции изображения и бэкэндах библиотеки результаты FID все еще немного отличаются от исходной реализации. Поэтому, если вы сообщаете о результатах FID в своей статье, и вы хотите, чтобы они были точно сопоставимы с показателями FID, сообщенными в других статьях, вам следует рассмотреть возможность использования официальной реализации TensorFlow.
Установите из PIP:
pip install pytorch-fid
Требования:
Чтобы вычислить оценку FID между двумя наборами данных, где изображения каждого набора данных содержатся в отдельной папке:
python -m pytorch_fid path/to/dataset1 path/to/dataset2
Чтобы запустить оценку на графическом процессоре, используйте флаг --device cuda:N , где N -индекс GPU для использования.
В разнице с официальной реализацией вы можете использовать другой уровень функций сети на основе вместо уровня 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 был представлен Мартином Хезелем, Хьюбертом Рамсауэром, Томасом Унтертинер, Бернхардом Несслером и Сеппом Хохритером в «Гансе, обученном двум правилам обновления с двумя временными масштабами, сходится к локальному равновесию NASH», см. Https://arxiv.org/abs/1706.0850000
Первоначальная реализация осуществляется Институтом биоинформатики JKU Linz, лицензированной по лицензии Apache 2.0. Смотрите https://github.com/bioinf-jku/ttur.