توليد تضمينات الصور والفيديو والصوت
تعلم كيفية استخدام الشبكات العصبية التلافيفية (CNNs) لإنشاء تضمينات للصور والفيديو والصوت.
توليد تضمينات الصور
تحتوي مجموعة البيانات على صور لأنواع مختلفة من الأقلام والأرائك والأكواب والزجاج.
نموذج التضمين: شبكة عصبية تلافيفية مدربة مسبقًا (ResNet-18)
يستخدم البرنامج نموذج ResNet-18 مُدرَّب مسبقًا لتمثيل الصور. ResNet (الشبكة المتبقية) هي بنية شبكة عصبية تلافيفية عميقة معروفة بفعاليتها في مهام تصنيف الصور. يتكون ResNet-18 من 18 طبقة، وقد أظهر أداءً قويًا في العديد من معايير التعرف على الصور. نحصل على تمثيل للميزات أو تمثيل للصورة إدخال عن طريق إزالة الطبقة الأخيرة المتصلة بالكامل. يلتقط هذا التمثيل ميزات عالية المستوى للصورة، مما يسمح لنا بتنفيذ مهام مثل مقارنة التشابه واسترجاع الصور.
نبدأ باستيراد المكتبات الضرورية.os يتم استيرادها للتفاعل مع نظام الملفات،torch لوظائف التعلم العميق،torchvision.transforms لتحويل الصور،torchvision.models بالنسبة للنماذج المدربة مسبقاً،PIL لمعالجة الصور، وcosine_similarity منsklearn.metrics.pairwise لحساب تشابه جيب التمام بين المتجهات.
نقوم بتحميل نموذج ResNet-18 المدرب مسبقًا باستخدامmodels.resnet18(pretrained=True) هذا النموذج عبارة عن بنية شبكة عصبية التفافية معروفة بفعاليتها في مهام تصنيف الصور. يتم حذف الطبقة الأخيرة المتصلة بالكامل من النموذج، ويتم ضبط النموذج على وضع التقييم.
ملاحظة: النموذج الذي نستخدمه لإنشاء تضمينات الصور مدرب مسبقًا على مهمة تصنيف الصور، لذلك نحتاج إلى إزالة طبقة التصنيف المتصلة بالكامل الأخيرة واستخراج ميزات الصورة من الطبقة المخفية الأخيرة.
نُعرّف أpreprocess_image الدالة التي تأخذ مسار ملف الصورة إدخال وتُجري سلسلة من التحويلات على الصورة باستخدامtransforms.Compose تشمل هذه التحويلات تغيير حجم الصورة ...