📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
نوع: محتوى تعليمي
• تحليل البيانات؛ لاستخراج أنماط وخصائص مفيدة.
نوع: محتوى تعليمي
• استخدام البيانات المستخلصة؛ لتدريب نماذج التصنيف التي يمكن استخدامها للتنبؤ بعناوين الصور الجديدة.
نوع: محتوى تعليمي
• تحتوي مجموعة البيانات التي ستستخدمها على ألف وسبعمئة وثلاثين (1,730) صورة لوجوه ستة عشر نوعًا مختلفًا من الحيوانات، وبالتالي فهي مجموعة مثالية للتعلم الموجه لتطبيق التقنيات المذكورة سابقًا.
تحميل الصور ومعالجتها الأولية Loading and Preprocessing Images
نوع: محتوى تعليمي
تحميل الصور ومعالجتها الأولية Loading and Preprocessing Images
نوع: محتوى تعليمي
يستورد المقطع البرمجي التالي مجموعة من المكتبات التي تُستخدم لتحميل الصور من مجموعة بيانات LHI-Animal-Faces (وجوه_الحيوانات) وتحويلها إلى صيغة رقمية:
Python Code Block 1
نوع: محتوى تعليمي
%capture
import matplotlib.pyplot as plt # used for visualization
from os import listdir # used to list the contents of a directory
!pip install scikit-image # used for image manipulation
from skimage.io import imread # used to read a raw image file (e.g. png or jpg)
from skimage.transform import resize # used to resize images
# used to convert an image to the "unsigned byte" format
from skimage import img_as_ubyte
نوع: محتوى تعليمي
تتطلب خوارزميات التعلم الموجه أن تكون كل الصور في مجموعة البيانات لها الأبعاد نفسها، ولذلك فإن المقطع البرمجي التالي يقرأ الصور من input_folder (مجلد_المدخلات) ويُغيّر حجم كل منها بحيث تكون لها أبعاد الطول والعرض نفسها:
Python Code Block 2 (resize_images function)
نوع: محتوى تعليمي
def resize_images(input_folder:str,
width:int,
height:int
):
labels = [] # a list with the label for each image
resized_images = [] # a list of resized images in np array format
filenames = [] # a list of the original image file names
for subfolder in listdir(input_folder): # for each sub folder
print(subfolder)
path = input_folder + '/' + subfolder
for file in listdir(path): # for each image file in this subfolder
image = imread(path + '/' + file) # reads the image
resized = img_as_ubyte(resize(image, (width, height))) # resizes the image
labels.append(subfolder[:-4]) # uses subfolder name without "Head" suffix
resized_images.append(resized) # stores the resized image
filenames.append(file) # stores the filename of this image
return resized_images, labels, filenames
نوع: METADATA
وزارة التعليم
Ministry of Education
2025 - 1447
199
📄 النص الكامل للصفحة
• تحليل البيانات؛ لاستخراج أنماط وخصائص مفيدة.
• استخدام البيانات المستخلصة؛ لتدريب نماذج التصنيف التي يمكن استخدامها للتنبؤ بعناوين الصور الجديدة.
• تحتوي مجموعة البيانات التي ستستخدمها على ألف وسبعمئة وثلاثين (1,730) صورة لوجوه ستة عشر نوعًا مختلفًا من الحيوانات، وبالتالي فهي مجموعة مثالية للتعلم الموجه لتطبيق التقنيات المذكورة سابقًا.
--- SECTION: تحميل الصور ومعالجتها الأولية Loading and Preprocessing Images ---
تحميل الصور ومعالجتها الأولية Loading and Preprocessing Images
يستورد المقطع البرمجي التالي مجموعة من المكتبات التي تُستخدم لتحميل الصور من مجموعة بيانات LHI-Animal-Faces (وجوه_الحيوانات) وتحويلها إلى صيغة رقمية:
--- SECTION: Python Code Block 1 ---
%capture
import matplotlib.pyplot as plt # used for visualization
from os import listdir # used to list the contents of a directory
!pip install scikit-image # used for image manipulation
from skimage.io import imread # used to read a raw image file (e.g. png or jpg)
from skimage.transform import resize # used to resize images
# used to convert an image to the "unsigned byte" format
from skimage import img_as_ubyte
تتطلب خوارزميات التعلم الموجه أن تكون كل الصور في مجموعة البيانات لها الأبعاد نفسها، ولذلك فإن المقطع البرمجي التالي يقرأ الصور من input_folder (مجلد_المدخلات) ويُغيّر حجم كل منها بحيث تكون لها أبعاد الطول والعرض نفسها:
--- SECTION: Python Code Block 2 (resize_images function) ---
def resize_images(input_folder:str,
width:int,
height:int
):
labels = [] # a list with the label for each image
resized_images = [] # a list of resized images in np array format
filenames = [] # a list of the original image file names
for subfolder in listdir(input_folder): # for each sub folder
print(subfolder)
path = input_folder + '/' + subfolder
for file in listdir(path): # for each image file in this subfolder
image = imread(path + '/' + file) # reads the image
resized = img_as_ubyte(resize(image, (width, height))) # resizes the image
labels.append(subfolder[:-4]) # uses subfolder name without "Head" suffix
resized_images.append(resized) # stores the resized image
filenames.append(file) # stores the filename of this image
return resized_images, labels, filenames
وزارة التعليم
Ministry of Education
2025 - 1447
199
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 4 بطاقة لهذه الصفحة
ما هو الهدف الرئيسي من تحميل ومعالجة الصور الأولية في سياق التعلم الموجه؟
الإجابة: تحويل الصور إلى صيغة رقمية متناسقة الأبعاد، مما يتيح تدريب نماذج التعلم الموجه بشكل فعال.
الشرح: تتطلب خوارزميات التعلم الموجه أن تكون جميع الصور في مجموعة البيانات بنفس الأبعاد (الطول والعرض) لضمان معالجتها بشكل متساوٍ وفعال من قبل النموذج.
تلميح: فكر في المتطلبات الأساسية لخوارزميات التعلم الموجه فيما يتعلق بالبيانات المدخلة.
ما هي المكتبات الأساسية المستخدمة في المقطع البرمجي لتحميل الصور ومعالجتها الأولية؟
الإجابة: matplotlib.pyplot للتصوير المرئي، os.listdir لسرد محتويات المجلد، scikit-image (بما في ذلك imread و resize) لمعالجة الصور، و skimage.img_as_ubyte لتحويل الصيغ.
الشرح: هذه المكتبات توفر الأدوات اللازمة لقراءة الصور، تغيير حجمها، عرضها، والتأكد من أنها بالصيغة المناسبة للمعالجة.
تلميح: ابحث عن العبارات التي تبدأ بـ 'import' والتي تشير إلى وظائف متعلقة بالصور.
لماذا يتم تغيير حجم الصور إلى أبعاد موحدة (نفس الطول والعرض) في عملية المعالجة الأولية؟
الإجابة: لأن خوارزميات التعلم الموجه تتطلب أن تكون جميع الصور في مجموعة البيانات لها الأبعاد نفسها لضمان المعالجة المتناسقة والتدريب الفعال للنماذج.
الشرح: توحيد أبعاد الصور يمنع حدوث أخطاء في معالجة البيانات ويضمن أن النموذج يتعلم من ميزات متسقة في جميع الصور.
تلميح: ما هو الشرط الأساسي الذي تفرضه خوارزميات التعلم الموجه على مدخلاتها؟
في الدالة `resize_images`، ما هو الغرض من `subfolder[:-4]` عند إضافة التسميات (labels)؟
الإجابة: لإزالة الكلمة 'Head' (أو ما يعادلها) من اسم المجلد الفرعي، حيث يُفترض أن اسم المجلد الفرعي يمثل تسمية الحيوان.
الشرح: هذا الافتراض مبني على هيكل مجلدات معين حيث قد يحتوي اسم المجلد على معلومات إضافية (مثل 'CatHead')، والتسمية المطلوبة هي فقط 'Cat'.
تلميح: فكّر في كيفية تمثيل أسماء المجلدات الفرعية كـ 'تسميات' للصور، وما الذي قد تحتاج إلى إزالته ليكون الاسم مطابقاً للتسمية المطلوبة.