المزيد من مشاريع التعلم العميق......مشاريع التعلم العميق

مشروع 1: اكتشاف الالتهاب الرئوي باستخدام التعلم العميق

اقرأ في هذا المقال
  • مقدمة في اكتشاف الالتهاب الرئوي
  • مشروع التعلم الآلي لاكتشاف الالتهاب الرئوي باستخدام بايثون
  • تحميل مجموعة البيانات
  • استكشاف البيانات
  • استخدام التعلم العميق للكشف عن الالتهاب الرئوي باستخدام لغة بايثون
  • تدريب واختبار النموذج

في هذه المقالة، سوف أقدم لكم مشروع التعلم الآلي عن اكتشاف الالتهاب الرئوي باستخدام لغة برمجة بايثون. الالتهاب الرئوي Pneumonia هو حالة التهابية تصيب الرئة تؤثر بشكل رئيسي على الأكياس الهوائية الصغيرة المسماة الحويصلات الهوائية alveoli.

مقدمة في اكتشاف الالتهاب الرئوي

الالتهاب الرئوي هو مرض تنفسي معدي وقاتل تسببه بكتيريا أو فطريات أو فيروس يصيب الأكياس الهوائية في الرئة البشرية بحمل مليء بالسوائل أو الصديد.

الأشعة السينية للصدر Chest x-rays هي الطريقة الشائعة المستخدمة لتشخيص الالتهاب الرئوي ويستغرق الأمر خبيرًا طبيًا لتقييم نتيجة الأشعة السينية. تؤدي الطريقة المزعجة للكشف عن الالتهاب الرئوي إلى خسائر في الأرواح بسبب التشخيص والعلاج غير الصحيحين.

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

مشروع التعلم الآلي لاكتشاف الالتهاب الرئوي باستخدام بايثون

في هذا القسم، سوف اخوض في مشروع تعلم الآلة حول اكتشاف الالتهاب الرئوي باستخدام لغة برمجة بايثون. سأستخدم مكتبة Fastai في بايثون لمهمة اكتشاف الالتهاب الرئوي.

لنبدأ الآن بهذه المهمة عن طريق استيراد مكتبات بايثون الضرورية:

تحميل مجموعة البيانات

from fastai.vision import *
from fastai.metrics import error_rate
import os
import pandas as pd
import numpy as np

نحتاج الآن إلى إعداد مسار مجموعة بيانات التدريب حيث تتضمن مجموعة البيانات الصور فقط:

x  = 'Path'
path = Path(x)
path.ls()

لنقم الآن بتحميل بيانات التدريب أو نموذج التعلم الآلي لمهمة اكتشاف الالتهاب الرئوي باستخدام بايثون:

np.random.seed(40)
data = ImageDataBunch.from_folder(path, train = '.', valid_pct=0.2,
                                  ds_tfms=get_transforms(), size=224,
                                  num_workers=4).normalize(imagenet_stats(

استكشاف البيانات

يتم تخزين مجموعة البيانات التي أستخدمها هنا كملفات jpg. في مجلدين مختلفين، يحتوي كل مجلد على اسم طراز الصور في المجلد.

نحتاج إلى استخدام دالة ImageDataBunch.from_folder() لتحميل الصور وتعيين علامات للصور بناءً على اسم المجلد الذي تمت قراءتها منه:

data.show_batch(rows=3, figsize=(7,6),recompute_scale_factor=True)

استخدام التعلم العميق للكشف عن الالتهاب الرئوي باستخدام لغة بايثون

الآن، سأستخدم نموذجًا تم تدريبه مسبقًا يُعرف باسم ResNet50، وهو نوع من الشبكات العصبية التلافيفية CNN في التعلم الآلي. الآن دعونا نرى كيفية استخدام هذا النموذج:

learn = cnn_learner(data, models.resnet50, metrics=[accuracy], model_dir = Path('Path'),path = Path("."))

دعنا الآن نلقي نظرة على معدل التعلم learning rate للنموذج:

تدريب واختبار النموذج

في القسم أعلاه، قمنا بتحميل النموذج. الآن سأقوم بتدريب النموذج على مجموعة البيانات الخاصة بنا:

lr1 = 1e-3
lr2 = 1e-1	
learn.fit_one_cycle(4,slice(lr1,lr2))	

	
# lr1 = 1e-3	
lr = 1e-1	
learn.fit_one_cycle(20,slice(lr))	

	
learn.unfreeze()	
learn.lr_find()	
learn.recorder.plot()	
learn.fit_one_cycle(10,slice(1e-4,1e-3))	
	

	learn.recorder.plot_losses()

الآن دعنا نختبر النموذج:

interp = ClassificationInterpretation.from_learner(learn)
interp.plot_confusion_matrix()
img = open_image('IM-0001-0001.jpeg')
print(learn.predict(img)[0])


NORMAL

هذه هي الطريقة التي يمكننا بها استخدام التعلم الآلي للكشف عن الالتهاب الرئوي. آمل أن تكون قد أحببت هذه المقالة حول مشروع التعلم الالي حول اكتشاف الالتهاب الرئوي باستخدام بايثون.

بواسطة
thecleverprogrammer
المصدر
Deep Learning Projects with Python

د. علاء طعيمة

كلية علوم الحاسوب وتكنولوجيا المعلومات / جامعة القادسية / العراق

مقالات ذات صلة

‫2 تعليقات

  1. هناك أخطاء في الكود أو أن هناك مكتبة لم يتم استيرادها لانه لا يتعرف على path
    و لا على دالة ImageDataBunch

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى