📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
شكل 4.22: معمارية نموذج VGG16
نوع: FIGURE_REFERENCE
شكل 4.22: معمارية نموذج VGG16
نوع: محتوى تعليمي
يمكن استخدام مكتبة TensorFlow ومكتبة Keras اللتين تعرفت عليهما في الدرس السابق للوصول إلى نموذج VGG16 واقتطاعه. وتتمثل الخطوة الأولى في استيراد جميع الأدوات المطلوبة:
نوع: محتوى تعليمي
from keras.applications.vgg16 import VGG16 # used to access the pre-trained VGG16 model
from keras.models import Model
model = VGG16() # loads the pretrained VGG16 model
# removes the output layer
model = Model(inputs = model.inputs, outputs = model.layers[-2].output)
نوع: محتوى تعليمي
يحذف الطبقة الأخيرة من المخرج.
نوع: محتوى تعليمي
يطبق المقطع البرمجي التالي المعالجة الأولية الأساسية نفسها التي يتطلبها نموذج VGG16 مثل: تحجيم قيم ألوان RGB لتكون بين 0 و 1:
نوع: محتوى تعليمي
from keras.applications.vgg16 import preprocess_input
X_prep = preprocess_input(X)
X_prep.shape
نوع: محتوى تعليمي
(1085, 224, 224, 3)
نوع: محتوى تعليمي
لاحظ أن شكل البيانات يظل كما هو، أي: ألف وخمس وثمانون صورة، كل صورة منها أبعادها 224 × 224 وثلاث قنوات ألوان RGB. وبعد ذلك يمكن استخدام النموذج المقتطع لتحويل كل صورة إلى متجه مكون من 4,096 عدد.
نوع: محتوى تعليمي
X_VGG16 = model.predict(X_prep, use_multiprocessing = True)
X_VGG16.shape
نوع: محتوى تعليمي
34/34 [==============================] - 57s 2s/step
(1085, 4096)
نوع: محتوى تعليمي
يضبط متغير المعالجة المتعددة (تفعيل المعالجة المتعددة) multiprocessing=True لتسريع العملية من خلال حساب المتجهات للصور المتعددة بالتوازي، وقبل إكمال خطوة التجميع يُستخدم المقطع البرمجي التالي لتصوير البيانات المتجهة (Vectorized Data):
نوع: محتوى تعليمي
tsne = TSNEVisualizer(colors = color_palette)
tsne.fit(X_VGG16, labels)
tsne.show();
نوع: METADATA
وزارة التعليم
231
Ministry of Education
2025 - 1447
🔍 عناصر مرئية
معمارية نموذج VGG16
A block diagram illustrating the architecture of the VGG16 convolutional neural network. It shows the flow from an 'Input' (المدخل) on the left to an 'Output' (المخرج) on the right. The architecture consists of sequential blocks of convolutional (Conv) layers and pooling (Pooling) layers, followed by dense (Dense) layers. The Conv layers are shown in white/grey, Pooling layers in light green, and Dense layers in light pink. The sequence of layers is: Conv 1-1, Pooling; Conv 2-1, Conv 2-2, Pooling; Conv 3-1, Conv 3-2, Conv 3-3, Pooling; Conv 4-1, Conv 4-2, Conv 4-3, Pooling; Conv 5-1, Conv 5-2, Conv 5-3, Pooling; followed by three Dense layers.
📄 النص الكامل للصفحة
--- SECTION: شكل 4.22: معمارية نموذج VGG16 --- شكل 4.22: معمارية نموذج VGG16يمكن استخدام مكتبة TensorFlow ومكتبة Keras اللتين تعرفت عليهما في الدرس السابق للوصول إلى نموذج VGG16 واقتطاعه. وتتمثل الخطوة الأولى في استيراد جميع الأدوات المطلوبة:from keras.applications.vgg16 import VGG16 # used to access the pre-trained VGG16 model from keras.models import Model model = VGG16() # loads the pretrained VGG16 model
# removes the output layer model = Model(inputs = model.inputs, outputs = model.layers[-2].output)يحذف الطبقة الأخيرة من المخرج.يطبق المقطع البرمجي التالي المعالجة الأولية الأساسية نفسها التي يتطلبها نموذج VGG16 مثل: تحجيم قيم ألوان RGB لتكون بين 0 و 1:from keras.applications.vgg16 import preprocess_input X_prep = preprocess_input(X)
X_prep.shape(1085, 224, 224, 3)لاحظ أن شكل البيانات يظل كما هو، أي: ألف وخمس وثمانون صورة، كل صورة منها أبعادها 224 × 224 وثلاث قنوات ألوان RGB. وبعد ذلك يمكن استخدام النموذج المقتطع لتحويل كل صورة إلى متجه مكون من 4,096 عدد.X_VGG16 = model.predict(X_prep, use_multiprocessing = True)
X_VGG16.shape34/34 [==============================] - 57s 2s/step
(1085, 4096)يضبط متغير المعالجة المتعددة (تفعيل المعالجة المتعددة) multiprocessing=True لتسريع العملية من خلال حساب المتجهات للصور المتعددة بالتوازي، وقبل إكمال خطوة التجميع يُستخدم المقطع البرمجي التالي لتصوير البيانات المتجهة (Vectorized Data):tsne = TSNEVisualizer(colors = color_palette)
tsne.fit(X_VGG16, labels)
tsne.show();2025 - 1447--- VISUAL CONTEXT ---
**DIAGRAM**: معمارية نموذج VGG16
Description: A block diagram illustrating the architecture of the VGG16 convolutional neural network. It shows the flow from an 'Input' (المدخل) on the left to an 'Output' (المخرج) on the right. The architecture consists of sequential blocks of convolutional (Conv) layers and pooling (Pooling) layers, followed by dense (Dense) layers. The Conv layers are shown in white/grey, Pooling layers in light green, and Dense layers in light pink. The sequence of layers is: Conv 1-1, Pooling; Conv 2-1, Conv 2-2, Pooling; Conv 3-1, Conv 3-2, Conv 3-3, Pooling; Conv 4-1, Conv 4-2, Conv 4-3, Pooling; Conv 5-1, Conv 5-2, Conv 5-3, Pooling; followed by three Dense layers.
Key Values: المدخل, Conv 1-1, Pooling, Conv 2-1, Conv 2-2, Pooling, Conv 3-1, Conv 3-2, Conv 3-3, Pooling, Conv 4-1, Conv 4-2, Conv 4-3, Pooling, Conv 5-1, Conv 5-2, Conv 5-3, Pooling, Dense, المخرج
Context: This diagram visually represents the VGG16 model architecture, which is being used and modified in the accompanying code examples for feature extraction and image processing within a deep learning context.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 5 بطاقة لهذه الصفحة
ما هو الغرض الأساسي من استخدام نموذج VGG16 في السياق الموضح؟
الإجابة: يُستخدم نموذج VGG16 لاستخلاص الميزات (feature extraction) من الصور، حيث يتم تحويل كل صورة إلى متجه رقمي بعد إزالة الطبقة الأخيرة للمخرج.
الشرح: نموذج VGG16، وهو شبكة عصبية تلافيفية عميقة، يتم استخدامه هنا لاستخراج تمثيلات غنية للصور. عن طريق إزالة الطبقة النهائية، يصبح النموذج قادراً على إنتاج متجه ميزات لكل صورة بدلاً من تصنيفها.
تلميح: فكر في عملية تحويل الصورة إلى تمثيل رقمي يمكن معالجته.
ما هي الخطوات الأساسية التي يتم اتباعها عند استخدام نموذج VGG16 المقتطع لاستخلاص الميزات؟
الإجابة: تتضمن الخطوات: 1. استيراد الأدوات المطلوبة (VGG16، Model) من Keras. 2. تحميل نموذج VGG16 المدرب مسبقاً واقتطاعه بإزالة الطبقة الأخيرة. 3. تطبيق المعالجة الأولية على الصور (مثل تحجيم قيم RGB بين 0 و 1). 4. تمرير الصور المعالجة عبر النموذج المقتطع للحصول على المتجهات. 5. (اختياري) استخدام تقنيات مثل t-SNE لتصوير البيانات المتجهة.
الشرح: هذه الخطوات توضح المسار الكامل لاستخدام VGG16 كأداة لاستخلاص الميزات، بدءاً من إعداد النموذج والبيانات وصولاً إلى الحصول على التمثيل المتجهي للصورة.
تلميح: رتّب العمليات حسب تسلسل تطبيقها بدءاً من التحضير وصولاً إلى الاستخلاص.
ما هي وظيفة الدالة `preprocess_input` عند استخدامها مع نموذج VGG16؟
الإجابة: وظيفة الدالة `preprocess_input` هي تطبيق المعالجة الأولية اللازمة لنموذج VGG16، والتي تتضمن غالباً تحجيم قيم ألوان RGB للصور لتكون ضمن نطاق معين (عادة بين 0 و 1) لتناسب متطلبات المدخلات للنموذج.
الشرح: نماذج التعلم العميق، مثل VGG16، تتطلب أن تكون بيانات الإدخال بتنسيق ومعايير محددة. `preprocess_input` تضمن أن الصور تتبع هذه المتطلبات، مما يحسن من أداء النموذج.
تلميح: فكر في كيفية تجهيز البيانات لتكون متوافقة مع مدخلات النموذج.
ماذا تمثل الأبعاد (1085, 224, 224, 3) للبيانات بعد المعالجة الأولية؟
الإجابة: تمثل الأبعاد: 1085 عدد الصور، 224 × 224 أبعاد كل صورة (الارتفاع والعرض)، و 3 عدد قنوات الألوان (RGB).
الشرح: فهم أبعاد البيانات أمر أساسي في معالجة الصور والتعلم الآلي. هذا التنسيق (عدد الصور، الارتفاع، العرض، القنوات) شائع جداً في مكتبات معالجة الصور.
تلميح: فسّر كل رقم في البعد حسب ترتيبه القياسي لبيانات الصور.
كيف يؤثر ضبط `use_multiprocessing=True` على عملية استخلاص المتجهات باستخدام نموذج VGG16؟
الإجابة: يؤدي ضبط `use_multiprocessing=True` إلى تسريع عملية استخلاص المتجهات من خلال حسابها للعديد من الصور بالتوازي باستخدام المعالجة المتعددة، مما يقلل من الوقت اللازم لمعالجة مجموعة بيانات كبيرة.
الشرح: المعالجة المتعددة هي تقنية شائعة لتحسين الأداء في المهام التي يمكن تقسيمها إلى أجزاء مستقلة، مثل معالجة كل صورة على حدة، مما يسمح بإنجاز العمل في وقت أقل.
تلميح: فكر في معنى "المعالجة المتعددة" وكيف يمكن أن تزيد من السرعة.