Este es un puerto de la implementación oficial de la distancia de inicio de Fréchet a Pytorch. Consulte https://github.com/bioinf-jku/ttur para la implementación original utilizando TensorFlow.
FID es una medida de similitud entre dos conjuntos de datos de imágenes. Se demostró que se correlaciona bien con el juicio humano de calidad visual y se usa con mayor frecuencia para evaluar la calidad de las muestras de redes adversas generativas. FID se calcula calculando la distancia de Fréchet entre dos gaussianos equipados para presentar representaciones de la red de inicio.
¿Se pueden encontrar más información y una evaluación independiente de la puntuación FID en los GANS creados iguales? Un estudio a gran escala.
Los pesos y el modelo son exactamente los mismos que en la implementación oficial de TensorFlow, y se probaron para dar resultados muy similares (EG .08 Error absoluto y 0.0009 error relativo en LSUN, usando imágenes generadas por ProGan). Sin embargo, debido a las diferencias en la implementación de la interpolación de imágenes y los backends de la biblioteca, los resultados de FID aún difieren ligeramente de la implementación original. Entonces, si informa los puntajes FID en su artículo, y desea que sean exactamente comparables a los puntajes FID informados en otros documentos, debe considerar usar la implementación oficial de TensorFlow.
Instalar desde PIP:
pip install pytorch-fid
Requisitos:
Para calcular la puntuación FID entre dos conjuntos de datos, donde las imágenes de cada conjunto de datos están contenidas en una carpeta individual:
python -m pytorch_fid path/to/dataset1 path/to/dataset2
Para ejecutar la evaluación en GPU, use la bandera --device cuda:N , donde N es el índice de la GPU para usar.
En la diferencia con la implementación oficial, puede optar por usar una capa de características diferente de la red de inicio en lugar de la capa pool3 predeterminada. Como las características de la capa inferior todavía tienen extensión espacial, las características se agrupan el primer promedio global a un vector antes de estimar la media y la covarianza.
Esto podría ser útil si los conjuntos de datos que desea comparar tienen menos de las imágenes 2048 requeridas. Tenga en cuenta que esto cambia la magnitud de la puntuación FID y no puede compararlos con los puntajes calculados en otra dimensionalidad. Los puntajes resultantes tampoco pueden correlacionarse con la calidad visual.
Puede seleccionar la dimensionalidad de las características para usar con la bandera --dims N , donde n es la dimensionalidad de las características. Las opciones son:
.npz compatible a partir de un conjunto de datos Un caso de uso frecuente será comparar múltiples modelos con un conjunto de datos original. Para guardar la capacitación varias veces en el conjunto de datos original, también existe la capacidad de generar un archivo .npz compatible a partir de un conjunto de datos. Esto se realiza utilizando cualquier combinación de los argumentos mencionados anteriormente con la adición de la bandera --save-stats . Por ejemplo:
python -m pytorch_fid --save-stats path/to/dataset path/to/outputfile
El archivo de salida se puede usar en lugar de la ruta al conjunto de datos original para comparaciones adicionales.
Si usa este repositorio en su investigación, considere citarlo utilizando la siguiente entrada de 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}},
}
Esta implementación tiene licencia bajo la licencia APACHE 2.0.
FID fue introducido por Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler y Sepp Hochreiter en "Gans entrenados por una regla de actualización de dos escasas de tiempo converge a un equilibrio NASH local", ver https://arxiv.org/ABS/1706.08500
La implementación original es del Instituto de Bioinformática, JKU Linz, con licencia bajo la licencia de Apache 2.0. Ver https://github.com/bioinf-jku/ttur.