Search⌘ K
AI Features

توليد تضمينات الصور والفيديو والصوت

تعلم كيفية استخدام الشبكات العصبية التلافيفية (CNNs) لإنشاء تضمينات للصور والفيديو والصوت.

توليد تضمينات الصور

تحتوي مجموعة البيانات على صور لأنواع مختلفة من الأقلام والأرائك والأكواب والزجاج.

نموذج التضمين: شبكة عصبية تلافيفية مدربة مسبقًا (ResNet-18)

يستخدم البرنامج نموذج ResNet-18 مُدرَّب مسبقًا لتمثيل الصور. ResNet (الشبكة المتبقية) هي بنية شبكة عصبية تلافيفية عميقة معروفة بفعاليتها في مهام تصنيف الصور. يتكون ResNet-18 من 18 طبقة، وقد أظهر أداءً قويًا في العديد من معايير التعرف على الصور. نحصل على تمثيل للميزات أو تمثيل للصورة إدخال عن طريق إزالة الطبقة الأخيرة المتصلة بالكامل. يلتقط هذا التمثيل ميزات عالية المستوى للصورة، مما يسمح لنا بتنفيذ مهام مثل مقارنة التشابه واسترجاع الصور.

نبدأ باستيراد المكتبات الضرورية.os يتم استيرادها للتفاعل مع نظام الملفات،torch لوظائف التعلم العميق،torchvision.transforms لتحويل الصور،torchvision.models بالنسبة للنماذج المدربة مسبقاً،PIL لمعالجة الصور، وcosine_similarity منsklearn.metrics.pairwise لحساب تشابه جيب التمام بين المتجهات.

Python 3.8
import os
import torch
import torchvision.transforms as transforms
import torchvision.models as models
from PIL import Image
from sklearn.metrics.pairwise import cosine_similarity

نقوم بتحميل نموذج ResNet-18 المدرب مسبقًا باستخدامmodels.resnet18(pretrained=True) هذا النموذج عبارة عن بنية شبكة عصبية التفافية معروفة بفعاليتها في مهام تصنيف الصور. يتم حذف الطبقة الأخيرة المتصلة بالكامل من النموذج، ويتم ضبط النموذج على وضع التقييم.

ملاحظة: النموذج الذي نستخدمه لإنشاء تضمينات الصور مدرب مسبقًا على مهمة تصنيف الصور، لذلك نحتاج إلى إزالة طبقة التصنيف المتصلة بالكامل الأخيرة واستخراج ميزات الصورة من الطبقة المخفية الأخيرة.

Python 3.8
# Load pretrained ResNet model
resnet_model = models.resnet18(pretrained=True)
# Remove the final fully connected layer
resnet_model = torch.nn.Sequential(*(list(resnet_model.children())[:-1]))
# Set the model to evaluation mode
resnet_model.eval()

نُعرّف أpreprocess_image الدالة التي تأخذ مسار ملف الصورة إدخال وتُجري سلسلة من التحويلات على الصورة باستخدامtransforms.Compose تشمل هذه التحويلات تغيير حجم الصورة ...