Ini adalah pelabuhan implementasi resmi jarak awal Fréchet ke Pytorch. Lihat https://github.com/bioinf-jku/ttur untuk implementasi asli menggunakan TensorFlow.
FID adalah ukuran kesamaan antara dua dataset gambar. Itu terbukti berkorelasi dengan baik dengan penilaian manusia dengan kualitas visual dan paling sering digunakan untuk mengevaluasi kualitas sampel jaringan permusuhan generatif. FID dihitung dengan menghitung jarak fréchet antara dua Gaussians yang dipasang untuk fitur representasi dari jaringan awal.
Wawasan lebih lanjut dan evaluasi independen dari skor FID dapat ditemukan di apakah GANS dibuat sama? Studi skala besar.
Bobot dan model persis sama seperti pada implementasi TensorFlow resmi, dan diuji untuk memberikan hasil yang sangat mirip (mis. Kesalahan absolut .08 dan 0.0009 kesalahan relatif pada LSUN, menggunakan gambar yang dihasilkan Progan). Namun, karena perbedaan dalam implementasi interpolasi gambar dan cadangan perpustakaan, hasil FID masih sedikit berbeda dari implementasi asli. Jadi, jika Anda melaporkan skor FID di makalah Anda, dan Anda ingin mereka persis sebanding dengan skor FID yang dilaporkan di koran lain, Anda harus mempertimbangkan untuk menggunakan implementasi TensorFlow resmi.
Instal dari Pip:
pip install pytorch-fid
Persyaratan:
Untuk menghitung skor FID antara dua set data, di mana gambar setiap dataset terkandung dalam folder individual:
python -m pytorch_fid path/to/dataset1 path/to/dataset2
Untuk menjalankan evaluasi pada GPU, gunakan bendera --device cuda:N , di mana N adalah indeks GPU untuk digunakan.
Dalam perbedaan dengan implementasi resmi, Anda dapat memilih untuk menggunakan lapisan fitur yang berbeda dari jaringan awal alih -alih lapisan pool3 default. Karena fitur lapisan bawah masih memiliki tingkat spasial, fitur -fiturnya adalah rata -rata global pertama dikumpulkan ke vektor sebelum memperkirakan rata -rata dan kovarians.
Ini mungkin berguna jika dataset yang ingin Anda bandingkan memiliki kurang dari gambar 2048 yang diperlukan. Perhatikan bahwa ini mengubah besarnya skor FID dan Anda tidak dapat membandingkannya dengan skor yang dihitung pada dimensi lain. Skor yang dihasilkan mungkin juga tidak lagi berkorelasi dengan kualitas visual.
Anda dapat memilih dimensionalitas fitur untuk digunakan dengan bendera --dims N , di mana n adalah dimensi fitur. Pilihannya adalah:
.npz yang kompatibel dari dataset Kasing penggunaan yang sering adalah membandingkan beberapa model dengan dataset asli. Untuk menyimpan pelatihan beberapa kali pada dataset asli, ada juga kemampuan untuk menghasilkan arsip .npz yang kompatibel dari dataset. Ini dilakukan dengan menggunakan kombinasi dari argumen yang disebutkan sebelumnya dengan penambahan bendera --save-stats . Misalnya:
python -m pytorch_fid --save-stats path/to/dataset path/to/outputfile
File output kemudian dapat digunakan sebagai pengganti jalur ke dataset asli untuk perbandingan lebih lanjut.
Jika Anda menggunakan repositori ini dalam penelitian Anda, pertimbangkan mengutipnya menggunakan entri Bibtex berikut:
@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}},
}
Implementasi ini dilisensikan di bawah Lisensi Apache 2.0.
FID diperkenalkan oleh Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler dan Sepp Hochreiter di "Gans Dilatih oleh dua aturan pembaruan skala waktu berkumpul ke keseimbangan nash lokal", lihat https://arxiv.org/abs/abs/1706.08.08.08500
Implementasi asli adalah oleh Institute of Bioinformatics, JKU Linz, yang dilisensikan di bawah Lisensi Apache 2.0. Lihat https://github.com/bioinf-jku/ttur.