هذا هو منفذ للتنفيذ الرسمي لمسافة بدء Fréchet إلى Pytorch. راجع https://github.com/bioinf-jku/ttur للحصول على التنفيذ الأصلي باستخدام TensorFlow.
FID هو مقياس للتشابه بين مجموعتين من الصور من الصور. وقد تبين أنه يرتبط بشكل جيد مع الحكم البشري بالجودة البصرية وغالبًا ما يستخدم لتقييم جودة عينات شبكات العدوانية. يتم حساب FID عن طريق حساب مسافة Fréchet بين اثنين من gaussians المجهزة لتقديم تمثيلات لشبكة Inception.
يمكن العثور على مزيد من الأفكار وتقييم مستقل لدرجة 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 هو فهرس وحدة معالجة الرسومات لاستخدامها.
في الاختلاف في التنفيذ الرسمي ، يمكنك اختيار استخدام طبقة ميزة مختلفة من شبكة الإنشاء بدلاً من طبقة 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 المدربة بقاعدة تحديث زمنية على نطاق زمنيين إلى توازن ناش محلي" ، انظر https://arxiv.org/abs/1706.08500
يتم التنفيذ الأصلي من قبل معهد المعلوماتية الحيوية ، JKU Linz ، المرخصة بموجب ترخيص Apache 2.0. انظر https://github.com/bioinf-jku/ttur.