"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ResNet مقابل EfficientNet مقابل VGG مقابل NN

ResNet مقابل EfficientNet مقابل VGG مقابل NN

تم النشر بتاريخ 2024-08-31
تصفح:370

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

بدافع من الرغبة في تحسين هذه التجربة لنفسي وزملائي الطلاب، شرعت في مشروع لاستكشاف إمكانات التعلم العميق في إحداث ثورة في نظامنا المفقود والموجود. في منشور المدونة هذا، سأشارك رحلتي في تقييم النماذج المُدربة مسبقًا - ResNet، وEfficientNet، وVGG، وNasNet - لأتمتة عملية تحديد العناصر المفقودة وتصنيفها.

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

ريسنيت

Inception-ResNet V2 عبارة عن بنية شبكة عصبية تلافيفية قوية متوفرة في Keras، وتجمع بين نقاط قوة بنية Inception مع الاتصالات المتبقية من ResNet. يهدف هذا النموذج الهجين إلى تحقيق دقة عالية في مهام تصنيف الصور مع الحفاظ على الكفاءة الحسابية.

مجموعة بيانات التدريب: ImageNet
تنسيق الصورة: 299 × 299

وظيفة المعالجة المسبقة

def readyForResNet(fileName):
    pic = load_img(fileName, target_size=(299, 299))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_resnet(expanded)

التنبؤ

data1 = readyForResNet(test_file)
prediction = inception_model_resnet.predict(data1)
res1 = decode_predictions_resnet(prediction, top=2)

VGG (مجموعة الهندسة المرئية)

VGG (مجموعة الهندسة المرئية) هي عائلة من معماريات الشبكات العصبية التلافيفية العميقة المعروفة ببساطتها وفعاليتها في مهام تصنيف الصور. اكتسبت هذه النماذج، وخاصة VGG16 وVGG19، شعبية بسبب أدائها القوي في تحدي التعرف البصري على نطاق واسع ImageNet (ILSVRC) في عام 2014.

مجموعة بيانات التدريب: ImageNet
تنسيق الصورة: 224 × 224

وظيفة المعالجة المسبقة

def readyForVGG(fileName):
    pic = load_img(fileName, target_size=(224, 224))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_vgg19(expanded)

التنبؤ

data2 = readyForVGG(test_file)
prediction = inception_model_vgg19.predict(data2)
res2 = decode_predictions_vgg19(prediction, top=2)

شبكة فعالة

EfficientNet عبارة عن عائلة من معماريات الشبكات العصبية التلافيفية التي تحقق أحدث دقة في مهام تصنيف الصور بينما تكون أصغر حجمًا وأسرع بكثير من النماذج السابقة. يتم تحقيق هذه الكفاءة من خلال طريقة قياس مركبة جديدة تعمل على موازنة عمق الشبكة وعرضها ودقتها.

مجموعة بيانات التدريب: ImageNet
تنسيق الصورة: 480 × 480

وظيفة المعالجة المسبقة

def readyForEF(fileName):
    pic = load_img(fileName, target_size=(480, 480))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_EF(expanded)

التنبؤ

data3 = readyForEF(test_file)
prediction = inception_model_EF.predict(data3)
res3 = decode_predictions_EF(prediction, top=2)

ناس نت

تمثل NasNet (شبكة بحث الهندسة المعمارية العصبية) نهجًا رائدًا في التعلم العميق حيث يتم اكتشاف بنية الشبكة العصبية نفسها من خلال عملية بحث آلية. تهدف عملية البحث هذه إلى العثور على المزيج الأمثل من الطبقات والاتصالات لتحقيق أداء عالٍ في مهمة معينة.

مجموعة بيانات التدريب: ImageNet
تنسيق الصورة: 224 × 224

وظيفة المعالجة المسبقة

def readyForNN(fileName):
    pic = load_img(fileName, target_size=(224, 224))
    pic_array = img_to_array(pic)
    expanded = np.expand_dims(pic_array, axis=0)
    return preprocess_input_NN(expanded)

التنبؤ

data4 = readyForNN(test_file)
prediction = inception_model_NN.predict(data4)
res4 = decode_predictions_NN(prediction, top=2)

المواجهة

دقة

ResNet Vs EfficientNet vs VGG Vs NN

يلخص الجدول درجات الدقة المطالب بها للنماذج أعلاه. تتصدر EfficientNet B7 أعلى مستويات الدقة، تليها مباشرة NasNet-Large وInception-ResNet V2. تظهر نماذج VGG دقة أقل. بالنسبة لطلبي، أريد اختيار نموذج يحقق التوازن بين وقت المعالجة والدقة.

وقت

ResNet Vs EfficientNet vs VGG Vs NN

كما نرى، توفر لنا EfficientNetB0 أسرع النتائج، لكن InceptionResNetV2 هي حزمة أفضل عند أخذ الدقة في الاعتبار

ملخص

بالنسبة لنظامي الذكي المفقود والموجود، قررت استخدام InceptionResNetV2. في حين أن EfficientNet B7 بدا مغريًا بفضل دقته العالية، إلا أنني كنت قلقًا بشأن متطلباته الحسابية. في بيئة جامعية، حيث قد تكون الموارد محدودة ويكون الأداء في الوقت الفعلي أمرًا مرغوبًا فيه غالبًا، شعرت أنه من المهم تحقيق التوازن بين الدقة والكفاءة. بدا InceptionResNetV2 مناسبًا تمامًا - فهو يقدم أداءً قويًا دون أن يكون مكثفًا حسابيًا بشكل مفرط.

بالإضافة إلى ذلك، فإن حقيقة تدريبه مسبقًا على ImageNet تمنحني الثقة في قدرته على التعامل مع مجموعة متنوعة من الكائنات التي قد يفقدها الأشخاص. ودعنا لا ننسى مدى سهولة العمل في Keras! وهذا بالتأكيد جعل قراري أسهل.

بشكل عام، أعتقد أن InceptionResNetV2 يوفر المزيج الصحيح من الدقة والكفاءة والتطبيق العملي لمشروعي. أنا متحمس لرؤية كيفية أدائها في المساعدة في إعادة العناصر المفقودة إلى أصحابها!

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/saaransh_gupta_1903/resnet-vs-efficiencynet-vs-vgg-vs-nn-2hf5?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3