‫الآن لدينا نموذج مدرب بالكامل على مجموعة بيانات التدريب الكاملة ، ويعرف أيضًا باسم 10000 صورة لأننا إذا
‫نظرنا إلى X.
‫لدينا 10000 صورة وتسمية.
‫الآن دعنا نستخدم نموذجنا المدرب بالكامل لعمل بعض التنبؤات.
‫في مجموعة بيانات الاختبار ، وهي أيضًا حوالي 10000 صورة.
‫سنلقي نظرة على ذلك في ثانية.
‫لكن دعونا نأتي إلى Kaggle ونرى كيف.
‫يريدون أن تبدو تنبؤاتنا.
‫إذن ، ملف إرسال لكل صورة في مجموعة الاختبار ، يجب أن تتنبأ باحتمالية لكل من السلالات
‫المختلفة.
‫يجب أن يحتوي الملف على رأس وأن يكون بالتنسيق التالي.
‫لذلك نحن بحاجة إلى معرف كلب سلالة واحدة.
‫لن أتظاهر حتى أنني سأحاول نطق ذلك مرة أخرى ، كلب الصيد الأفغاني ، كلب
‫يوركشاير ومن ثم احتمالات التنبؤ لكل هؤلاء.
‫حسنا.
‫الآن تقول فقدان سجل متعدد الطبقات.
‫هذه مجرد احتمالات التنبؤ لكل سلالة من الكلاب.
‫قم بإنشاء قسم رأس آخر لعمل تنبؤات على مجموعة بيانات الاختبار.
‫الآن أريدك أن تفكر قبل أن ننتقل إلى الكود.
‫ماذا علينا أن نفعل لتدريب نموذجنا على الصور التدريبية؟
‫مرة أخرى ، تظاهر بأن هذا حيادي البيانات.
‫مهما كانت البيانات التي تعمل بها ، سواء كانت نصية أو صوتية أو صورًا أو فيديو أو شيء من هذا القبيل.
‫ما هي قاعدتنا قبل أن نتمكن من استخدامها مع نموذج التعلم الآلي؟
‫أو في حالتنا ، شبكة عصبية التعلم العميق.
‫علينا تحويلها إلى أرقام.
‫هذا ما يتعين علينا القيام به ، نفس نوع البيانات الذي تم تدريب نموذجنا عليه.
‫إذاً مجموعة البيانات هنا ، مجموعة البيانات من الصور ، نحتاج إلى إنشاء واحدة من تلك الصور
‫الاختبارية حتى نتمكن من عمل تنبؤات على تلك الصور.
‫لذلك سنكتب لأنفسنا ملاحظة صغيرة منذ أن تم تدريب نموذجنا على الصور في شكل عشرات الدفعات.
‫لعمل تنبؤات على بيانات الاختبار.
‫سيتعين علينا الحصول عليه بنفس التنسيق.
‫لذا إذا عدنا إلى الرسم البياني والخطاب الرئيسي ، أتذكر كيف قلت دائمًا إننا نركز على المدخلات.
‫لذا ، نحصل على بياناتنا بالشكل الصحيح لخوارزمية التعلم الآلي الخاصة بنا ثم التأكد من صحة
‫المخرجات.
‫هذا ما نركز عليه في البداية.
‫لقد تم تنفيذ هذا بالفعل بالنسبة لنا بطريقة كبيرة إلى حد ما.
‫كلما تعمقنا وأعمق ، كلما دخلت في مشاريع أخرى ، قد ترغب في البدء في الغوص في هذا الأمر.
‫لكن في الوقت الحالي وللتعامل مع مشاريعك الأولى كما نفعل الآن ، ستركز
‫على المدخلات والمخرجات.
‫الآن ، القليل من المعلومات هنا ، مرة أخرى ، أصبحت وظيفتنا في متناول اليد.
‫لحسن الحظ ، أنشأنا مجموعات بيانات في وقت سابق ، والتي يمكن أن تأخذ قائمة بأسماء الملفات كمدخلات.
‫إذا كنت لا تتذكر ، فارجع إلى حيث نقوم بإنشاء مجموعات البيانات وتحويلها إلى دفعات موتر.
‫إذن ما هي الخطوات التي يتعين علينا القيام بها لعمل تنبؤات بشأن بيانات الاختبار؟
‫دعنا نكتب ذلك لعمل تنبؤات حول بيانات الاختبار.
‫حسنًا ، الآن ، هذا نوع مما أفعله في الكثير من مشاريعي هو مجرد التحدث إلى نفسي ، والتحدث بنفسي من
‫خلالها.
‫تقنية الحبيب المطاطي.
‫لذا احصل على أسماء ملفات الصور التجريبية.
‫سيتضمن ذلك كتابة القليل من فهم القائمة كما فعلنا من قبل.
‫للوصول إلى الاختبار ، انتقل إلى جميع الملفات الموجودة هنا واحفظ أسماء الملفات في قائمة من نوع ما.
‫نعم ، يمكننا فعل ذلك.
‫ثم قمنا بتحويل أسماء الملفات إلى مجموعات بيانات اختبار باستخدام إنشاء دفعات بيانات.
‫ووضع.
‫بيانات الاختبار.
‫تذكر كيف أنشأنا المعلمات لإنشاء دفعات البيانات؟
‫إذا لم تفعل ، فلا بأس بذلك.
‫سنرى في المعلمة الثانية إلى true لماذا؟
‫ما الفرق في بيانات الاختبار الخاصة بنا عن بيانات التدريب الخاصة بنا؟
‫لا توجد تسميات مع بيانات الاختبار.
‫لذلك نظرًا لأن بيانات الاختبار لا تحتوي على تسميات ، ثم أخيرًا نقوم بعمل تنبؤات ، مصفوفة تنبؤات عن
‫طريق تمرير مجموعات بيانات الاختبار إلى التنبؤ.
‫طريقة تسمى على نموذجنا.
‫وو!
‫لقد قطعنا ثلاث خطوات هناك.
‫لكن يمكننا فعلها.
‫يمكننا معالجتها واحدة تلو الأخرى.
‫ماذا لو نبدأ بالأول؟
‫هذا منطقي جدا.
‫تحميل أسماء ملفات الصور التجريبية.
‫ماذا يمكن أن نفعل؟
‫يمكننا اختبار أسماء الملفات.
‫جميل وبسيط يساوي.
‫في الواقع ، يمكنك إعداد مسار الاختبار.
‫ماذا عن فعلنا ذلك؟
‫مسار الاختبار يساوي.
‫وسنقوم بنسخه هنا لنوفر لنا كتابته مرتين.
‫مسار النسخ.
‫هذه نصيحة مفيدة.
‫تستطيع فعل ذلك.
‫يمكنك لصق ملفات.
‫لا نحتاج للمحتوى.
‫يمكننا الاحتفاظ بها هناك إذا أردنا ذلك ، لكنني سأزيلها.
‫لذا فهي تتفق مع المسارات الأخرى التي لدينا.
‫وسأضع هذا هنا.
‫هذا هو طريقي إلى مجلد الاختبار.
‫لذلك سنقوم الآن بإنشاء قائمة صغيرة.
‫الفهم يساوي مسار الاختبار بالإضافة إلى اسم ملف الاسم للاسم في قائمة النقاط o dir.
‫مسار الاختبار.
‫لقد رأينا هذا من قبل عند إعادة إنشاء أسماء ملفات التدريب الأصلية ، لكن دعنا نذكر أنفسنا
‫فقط بما يفعله.
‫لذا فإن محضر النقاط O يمر للتو أو هذا الدليل.
‫هذا ما هو اختصار ل.
‫إنه يقول فقط ، مرحبًا ، Python ، أحضر لي جميع أسماء الملفات في هذا المجلد ، ثم نقوم بإنشاء
‫قائمة تلحق مسار الاختبار ، وهو هذا أو يضيف معًا مسار الاختبار ، بالإضافة إلى كل اسم
‫ملف واحد فيه.
‫مجلد الاختبار.
‫لنلقي نظرة.
‫إذا كنت في شك ، فقم بتشغيل الكود.
‫رائع.
‫إذن لدينا الآن أسماء الملفات في بيانات الاختبار الخاصة بنا.
‫يمكننا خلع ذلك.
‫اخرج الرموز التعبيرية للقراد الأخضر.
‫سيتم ملء هذا دفتر الملاحظات معهم في النهاية.
‫حسنًا ، لقد حصلنا عليها الآن.
‫ما هي خطوتنا التالية؟
‫قم بتحويل أسماء الملفات إلى مجموعات بيانات اختبارية باستخدام إنشاء مجموعات بيانات.
‫أوه ، لقد قلت التاريخ هناك.
‫ذلك خطأ.
‫هناك نذهب.
‫اصلاح الامر.
‫بادئ ذي بدء ، دعنا نجري فحصًا طفيفًا لاسم ملف الاختبار الخاص بنا ، ونرى عدد الصور التي لدينا.
‫10357.
‫رائع.
‫الآن ، لإنشاء دفعة بيانات ، الأمر بسيط جدًا.
‫نحن فقط نأتي بوظيفتنا.
‫نذهب بيانات الاختبار.
‫سنكتب تعليقًا هنا قبل أن نبدأ.
‫لذلك قم بإنشاء بيانات الاختبار.
‫حزمة.
‫وسنقوم بإنشاء مجموعات بيانات.
‫أوه ، إنه يعرف ما نتحدث عنه ومن ثم سنقوم بتمريره بأسماء ملفات الاختبار.
‫وسنرى أيضًا أن هناك مستوى بيانات الاختبار الخاص بنا.
‫لذلك نذهب لاختبار البيانات يساوي صحيحًا.
‫وسنقوم بتشغيل ذلك.
‫رائع.
‫نحصل على نسخة مطبوعة صغيرة تقول إنشاء دفعات من بيانات الاختبار.
‫هذه وظيفة رائعة كتبناها.
‫دعنا نأتي إلى هنا ونلقي نظرة عليه مرة أخرى.
‫تحويل بياناتنا إلى دفعات.
‫لذلك لدينا وظيفة إنشاء دفعة بيانات أو إنشاء دفعات بيانات.
‫وماذا تفعل إذا كانت بيانات الاختبار ، وهي تطبع هذا البيان الصغير
‫ثم تذهب ، مرحبًا ، حوّل أسماء ملفاتنا إلى أزمنة ثم استخدمها من عشرات الشرائح لتحويلها إلى مجموعة بيانات
‫موتر ثم قم بإنشاء دفعة بيانات عن طريق تعيين وظيفة صورة العملية.
‫تذكر أننا لا نمرر الحصول على تسمية الصورة إلى مجموعة بيانات الاختبار لأنه لا توجد تسميات بمجموعة بيانات
‫الاختبار.
‫لذلك نقوم بمعالجة صورنا تمامًا كما فعلنا في بيانات التدريب ، ثم نقوم بتحويلها
‫إلى دفعة ، في حالتنا ، دفعات بحجم 32 بحيث يمكن حسابها بسرعة باستخدام وحدة معالجة الرسومات الخاصة بنا.
‫لذلك دعونا نعود إلى حيث كنا.
‫هذا ما لدينا.
‫وإذا ذهبنا إلى اختبار البيانات.
‫إنها مجموعة بيانات سيئة من الأشكال.
‫لذلك لا توجد تسميات هنا.
‫هذه مجرد صور من 2 إلى 4 في 2 إلى 4 في ثلاثة لقنوات اللون من نوع TensorFlow float.
‫جميلة جدا.
‫لدينا بيانات الاختبار الخاصة بنا على شكل دفعات موتر.
‫هذا ما نسعى إليه.
‫والآن في النهاية ، يمكننا أن نأتي إلى هنا ، ونرى كيف ساعدتنا كتابة الدالات التي نبدأ بها في مساعدتنا.
‫لقد أنشأنا نموذج نموذج ، وأنشأنا دفعة بيانات في ضربة واحدة.
‫الآن سنقوم بعمل مجموعة تنبؤات.
‫فكيف يمكننا فعل ذلك؟
‫قم بعمل تنبؤات على دفعة بيانات الاختبار باستخدام النموذج الكامل المحمل.
‫حسنا.
‫لذا اختبر التوقعات.
‫تكهن النقطة الكاملة المحملة بنموذج يساوي.
‫بيانات الاختبار.
‫سنقوم بتعيين هذا على أربعة أقواس يساوي واحدًا.
‫ممتاز.
‫الآن ، يجب أن أحذرك نوعًا ما من أن هذا سيستغرق وقتًا طويلاً إلى حد ما.
‫السبب هو أنه دعونا نضع ملاحظة صغيرة هنا قبل تشغيل استدعاء ملاحظة الخلية هذا.
‫على الرغم من أننا نعمل على وحدة المعالجة المركزية.
‫هذا تمامًا مثل تدريب طراز الهاتف الخاص بنا.
‫لذا فإن استدعاء توقع على نموذجنا الكامل وتمريره.
‫سيستغرق تشغيل مجموعة بيانات الاختبار وقتًا طويلاً.
‫وبعد ذلك سوف يستغرق الأمر ما يقرب من ساعة.
‫سنمضي حوالي ساعة واحدة.
‫هذا ما وجدته على أي حال.
‫السبب هو أن لدينا 10000 صورة أخرى هنا.
‫وما يتعين علينا القيام به هو تحميل أربعة نماذج.
‫لذلك كل الأنماط التي تعلمها نموذجنا الكامل المحمّل في مجموعة بيانات التدريب.
‫يجب أن تمر بهذه العملية.
‫10000 صورة في أسماء ملفات الاختبار الخاصة بنا أو مجموعة بيانات الاختبار الخاصة بنا.
‫ثم قم بعمل تنبؤات بناءً على الأنماط التي وجدها في بيانات الاختبار هذه.
‫لذلك قمنا بتعيين مطول يساوي واحدًا حتى عندما نقوم بتشغيل هذا ، فإنه سيمنحنا
‫خطوة أخرى صغيرة لإطلاعنا على ما يحدث.
‫لذلك بدون مزيد من اللغط ، دعنا نعرض هذا.
‫وانتظر حتى يتم تحميلها ثم سنفعل نفس الشيء مرة أخرى.
‫يعمل كل شيء على تسريع الفيديو بحيث يتم تحميله على الفور من أجلك.
‫في الواقع ، سوف يستغرق الأمر بعض الوقت لتشغيل هذه الخلية.
‫لكني أفعل ذلك فقط لأريكم ذلك.
‫التحميل ، وإنشاء رسالة ETA ، ثم إجراء بعض التنبؤات على بيانات الاختبار.
‫لذلك سننتظر قليلاً.
‫هذا سوف يرتفع.
‫هناك نذهب.
‫لذا ، إيتا ، حوالي 38 دقيقة.
‫يجب أن تمر عبر 324 دفعة.
‫وذلك لأنك إذا انتقلت إلى 10357 مقسومة على 32.
‫سيتم تقريب ذلك إلى 324.
‫من هنا يأتي هذا الرقم.
‫تمام.
‫لذلك سأنتظر حتى يمر هذا.
‫قد تضطر إلى الانتظار حتى يمر أيضًا.
‫ليس عليك الانتظار في الواقع.
‫سأعود في غضون بضع ثوان ، لذلك سأوقف الفيديو الخاص بي هنا وسأعود بعد
‫ثلاثة ، اثنان ، واحد ، ونعود.
‫الآن ، لقد ذهبت وفعلت شيئًا بسيطًا بعض الشيء هنا.
‫كما ترى ، يتبقى لدينا حوالي ساعة ، لكنني اعتقدت أنك تفضل الجلوس هنا وانتظار ذلك.
‫أنا في الواقع ، مثل أي طاهٍ جيد فعل ذلك.
‫لقد أعددت طبقًا في وقت سابق ، لذا فقد مررت بالفعل بهذه العملية وانتظرت ساعة كاملة
‫لأكملها.
‫والآن يمكنك الانتظار حتى يمر لك.
‫ولكن إذا كنت ترغب في تنزيل ملف CSV مُعد مسبقًا لتوقعات الاختبار ، فسأرفق ذلك في قسم الموارد حتى لا تضطر إلى
‫الانتظار تلك الساعة الكاملة للمضي قدمًا.
‫والآن ربما كان يجب أن أخبرك بهذا قبل تشغيل هذه الخلية ، لكن من الجيد أن تبلل قدميك
‫ثم تكتشف طريقة أفضل للقيام بالأشياء.
‫إذا أردنا حفظ تنبؤات الاختبار في ملف CSV بعد أن يتم تشغيله لأننا إذا انتظرنا ساعة كاملة
‫حتى يمر ثم قطعنا وقت التشغيل بطريقة ما ولم يتم حفظه ، فسيكون ذلك مخيبا
‫للآمال.
‫إذن ما يمكننا فعله هو استخدام np save text هذه الوظيفة هنا للحفظ.
‫هل سيؤدي هذا إلى تحميل سلسلة مستندات أثناء تشغيل هذا؟
‫لا أعتقد ذلك.
‫ولكن ما سيفعله هذا ، لقد نسينا مصفوفة الفروق هذه.
‫لذلك دعنا نقول فقط أن هذا انتهى.
‫إذا قمت بتشغيل هذه الخلية بعدها ، فسوف تحفظ تنبؤات الاختبار.
‫إذاً هذه المصفوفة غير العددية ، وهي مصفوفة احتمالات التنبؤ لهذا الملف كملف CSV مع فاصلة فاصلة
‫أربعة ، فاصلة ، وقيم مفصولة.
‫وبعد ذلك بمجرد حفظه ، سيظهر.
‫في ملفاتنا كمنتج ، ملف CSV ، لأن هذا هو اسم الملف الذي أعطيناه إياه ومن ثم يمكننا استخدام نص تحميل
‫NP لإعادة تحميله مرة أخرى.
‫إذن ماذا سنفعل؟
‫بدلاً من الانتظار حتى ينتهي هذا ، سأريكم ذلك في الواقع.
‫هذه بعض احتمالات التنبؤ التي صنعتها في الماضي بنموذج كامل.
‫لذا سأتوقف عن هذا وكان لدي حوالي ساعة للذهاب.
‫لذا مرة أخرى ، فإن تقديري سيستغرق حوالي ساعة غير صحيح.
‫حتى لوحة المفاتيح المقاطعة.
‫هناك نذهب.
‫لذلك لن نقوم بتشغيل ذلك لأنني قمت بالفعل بحفظ هذا للضغط على المصفوفة ، لكنني سأقوم بتشغيل
‫هذا.
‫فلنتخيل أنني قمت بتشغيل هذا بعد اكتمال هذه الخلية.
‫إذن ، هذا المقدر للوصول إلى الصفر.
‫لذلك سأقوم بتحميل هذه المصفوفة من ملف CSV.
‫جميلة.
‫الآن دعونا نلقي نظرة على العشرة الأوائل.
‫هناك نذهب.
‫إذاً هذه كلها احتمالات تنبؤ لـ 10000 صورة.
‫لذلك دعونا نلقي نظرة على شكل تنبؤات الاختبار.
‫10357.
‫هذا هو عدد صور الاختبار لدينا.
‫ولكل واحد منهم 120 احتمالًا مختلفًا للتنبؤ.
‫الآن ، رأينا هذه القيم من قبل.
‫لذا تذكر ، لقد أخذت هذا للتو ، دعه يعمل إلى أقصى حد ، احفظ CSV في ملف قمت به سابقًا
‫، كما لو كنا قد طهينا شيئًا سابقًا ثم أعدت تحميله هنا.
‫إذا كان وقت التشغيل غير متصل ، فأنا أرغب في حفظ هذا الملف في مكان ما يمكنني الوصول إليه لاحقًا.
‫إذن ما هي مهمتنا التالية؟
‫إذا أردنا إرسال مصفوفة التنبؤات هذه إلى Kaggle ، فكيف ستبدو؟
‫لذا فإن تقديم العينة هنا.
‫أوه ، حدث خطأ ما.
‫أنت تترك بياناتك.
‫هذا ليس ممتعًا جدًا.
‫لكن لحسن الحظ ، لدي هذا الملف في رؤية الكلاب.
‫وبنفس الطريقة.
‫وكل ما فعلته هو تنزيله وفتحه في أوراق Google.
‫لذلك هذا ما يبدو عليه.
‫هذا هو نموذج الإرسال الذي نحتاجه لتحويل مجموعة التنبؤات الخاصة بنا إلى شيء مثل هذا.
‫إذن ، عمود معرف ثم عمود لكل من سلالات الكلاب المختلفة ثم احتمالات التنبؤ الخاصة بهم.
‫هذا ما سنعمل عليه في الفيديو التالي.
‫سنحصل على مجموعة احتمالات التنبؤ الخاصة بنا لرؤية الكلاب أو سنعود بالفعل إلى تنسيق تعريف
‫سلالة كلاب Kaggle.
‫لذلك سنقوم بإعداده على هذا النحو حتى نتمكن من تقديم تنبؤاتنا إلى Kaggle.