‫أتمنى أن تكون جاهزًا ، لأنه حان الوقت الآن لتدريب نموذج على البيانات الكاملة.
‫لقد تحققنا من أن كل شيء يعمل من خلال المتابعة والتحقق من تنبؤات نموذجنا وتقييمها والمضي قدمًا
‫، نعم ، نموذجنا يتعلم شيئًا ما بالتأكيد ، ولكن نظرًا لأننا قمنا بتدريبه على
‫ألف صورة فقط ، فلنرى ما إذا كان بإمكاننا المحاولة في نموذج كامل الحجم مثل أول تدريب نموذج تعليمي
‫عميق كامل لدينا على 10000 صورة إضافية.
‫وهذا هو المكان الذي ستلعب فيه قوة الوظائف التي أنشأناها سابقًا.
‫لذلك دعونا نتجه قليلا لأنفسنا.
‫تدريب نموذج ، في الواقع ، دعنا نسميها تدريب نموذج كلب كبير.
‫وقد نضع القليل من موجي هنا.
‫على البيانات الكاملة وتحصل عليها.
‫إنه نموذج كلب كبير لأننا نتدرب على الكثير من صور الكلاب.
‫انا احب هذا المشروع الان
‫يقطع.
‫ما نحتاجه هو أن نتذكر في القمة.
‫إذا لم تفعل ، فلا بأس بذلك.
‫سنلقي نظرة عليه الآن.
‫لدينا X و y و len x و len y وهذه جميع بيانات التدريب الخاصة بنا.
‫هذه هي أسماء الملفات وهذه هي التسميات.
‫لذا إذا أتينا إلى هنا ، فإن X هي جميع أسماء الملفات في القطار.
‫لذا إذا ألقينا نظرة على أول عشرة ربما من X ، عشرة من X.
‫هذه هي جميع أسماء ملفات الصور التدريبية الخاصة بنا.
‫قمنا بتقسيمها من قبل إلى قطار X ، والذي يبلغ طوله 800 فقط.
‫هناك نذهب.
‫لذلك إذا ألقينا نظرة على قطار الأرض X.
‫800 صورة فقط.
‫لذلك في الوقت الحالي ، تم تدريب نموذجنا على 800 صورة فقط.
‫وإذا أردنا إلقاء نظرة على السبب ، فلماذا ترتبط التسميات بكل مسار ملف؟
‫في شكل مصفوفات منطقية.
‫إذن ما الذي يتعين علينا القيام به لتدريب نموذج كامل؟
‫إذا عدنا إلى الكلمة الرئيسية ، فما هو سير العمل لدينا؟
‫احصل على البيانات جاهزة.
‫تحويله إلى أزمنة.
‫حسنًا ، لدينا دالة لذلك.
‫هل تذكر؟
‫إنشاء دفعات البيانات.
‫إذا لم تفعل ، فلا بأس.
‫لقد أنشأنا وظيفة لذلك واخترنا نموذجًا يناسب مشكلتك.
‫إذن TensorFlow hub ، لدينا أنه يمكننا فقط استخدام إنشاء نموذج ثم ملاءمة النموذج مع البيانات
‫وإجراء تنبؤ.
‫دعونا نعطيها صدع.
‫لذلك دعونا نبدأ في إنشاء دفعة بيانات.
‫مع مجموعة البيانات الكاملة.
‫هذا هو المكان الذي تساعد فيه الوظائف حقًا في وقت لاحق في دفتر ملاحظاتك.
‫أخبرتك أنه كان يستحق كل هذا العناء للحصول على بيانات متساوية.
‫إنشاء دفعات البيانات.
‫انظر إلى هذا.
‫هذه هي وظيفتنا التي كتبناها أعلاه.
‫ينشئ بيانات ودُفعات من بيانات الصورة x وأزواج التسمية y.
‫خلط جميل للبيانات.
‫إذا كان يتدرب لكنه لا يفعل ذلك ، فهذا نوع من العائق.
‫لا يمكننا أن نرى أنه يقبل أيضًا بيانات الاختبار كمدخلات.
‫لا تسميات.
‫لذلك هذا جيد.
‫هذه ليست بيانات تدريب.
‫لذلك دعونا ننشئ دفعة بيانات كاملة.
‫الآن لدينا نظرة على البيانات الكاملة.
‫إنها مجموعة بيانات مجمعة.
‫جميلة.
‫مع الصور والتسميات.
‫رائع.
‫وإذا كنت تتساءل ما الذي يفعله إنشاء مجموعة البيانات بالفعل ، فلنرجع مباشرة إلى
‫الوراء إذا ألقينا نظرة على فهرسنا هنا ، ماذا سنفعل؟
‫يؤدي تصور مجموعات البيانات إلى تحويل بياناتنا إلى مجموعات.
‫إذن ، ها هي وظيفتنا الكبيرة في إنشاء مجموعات البيانات.
‫يستغرق X و Y.
‫وهذا ما يحدث.
‫هذا لأنه مجموعة بيانات تدريبية.
‫يؤدي إنشاء مجموعات بيانات تدريبية إلى تحويل X و Y إلى أزمنة.
‫يقوم بتبديلها ثم تعيين وظيفة معالجة الصورة الخاصة بنا بالإضافة إلى الحصول على وظيفة التسمية للبيانات.
‫ثم تقوم بتحويل البيانات إلى حجم دُفعة 32.
‫لكننا رأينا بالفعل مقطع فيديو حول هذا الموضوع.
‫لذلك إذا كنت بحاجة إلى تجديد معلومات ، فارجع وشاهد الفيديو حيث أنشأنا هذه الوظيفة.
‫لذلك دعونا نعود إلى حيث كنا.
‫إذن الآن لدينا بياناتنا مرة أخرى.
‫ما هي الخطوة التالية؟
‫حسنًا ، نحن بحاجة إلى نموذج.
‫لذلك دعونا ننشئ نموذجًا لنموذج كامل للنموذج يساوي إنشاء نموذج.
‫تذكر ما صنعته.
‫فعلت وظيفة النموذج.
‫أوه ، لا docstring.
‫همم.
‫حسنًا ، دعنا نجري ذلك على أي حال.
‫يمكننا الذهاب للتحقق من ذلك.
‫لذلك تم بناء نموذج باستخدام TF Dev image net mobile nat v2.
‫إذن لدينا نموذج.
‫تمام.
‫لدينا مجموعة بيانات مجمعة ولدينا نموذج.
‫الآن ، إذا أردنا التحقق من وظيفة إنشاء النموذج ، فأين يتم بناء النموذج؟
‫إذا أتينا إلى هنا ، فهذه هي وظيفة إنشاء النموذج.
‫آه ، ليس لديها docstring.
‫ربما هذا شيء يمكنك إضافته.
‫لذلك تقوم بإنشاء وظيفة تبني نموذج مقدم الرعاية.
‫لذا فإن ما سيحدث هو اتباع الخطوات التي اتخذتها من قبل لإنشاء نموذج تسلسلي لمقدم الرعاية
‫باستخدام النموذج الذي قمنا بتنزيله من مركز TensorFlow وطبقة كثيفة في الجزء العلوي للتأكد من أن مخرجاتنا
‫بنفس حجم الملصقات التي نملك.
‫ستقوم بتجميع النموذج مع وظيفة الخسارة والمحسن ، والتي أخبرنا بها صديقنا آدم
‫، الرجل الموجود في أسفل التل ، كيفية النزول إلى أسفل التل في بطولة International
‫Hill Descent ، والقياسات هي الدقة هي ما نحن عليه نحن نقيس.
‫وبعد ذلك نقوم ببناء نموذج التغذية على شكل الإدخال ، وهو حجم صورتنا.
‫رائع.
‫عد.
‫فكيف يمكننا تدريب هذا؟
‫ماذا بعد؟
‫ما التالي؟
‫حسنًا ، لقد أنشأنا بعض عمليات الاسترجاعات ، لذلك قد نضطر إلى إجراء بعض عمليات الاسترجاعات المحددة لنموذجنا.
‫لذلك دعونا نفعل ذلك.
‫دعنا نذهب لإنشاء عمليات الاسترجاعات النموذجية الكاملة.
‫صيغة صيغة كاملة على متن يساوي.
‫اصنع خيامًا على متن المركب.
‫عُد.
‫هناك نذهب.
‫هناك وظيفتنا من قبل لإنشاء رد اتصال على لوحة موتر.
‫تذكر أن رد الاتصال بلوحة الموتر يساعدنا على تتبع أداء نموذجنا ومقارنته بالآخرين.
‫وبالتالي لا توجد مجموعة تحقق من الصحة عند التدريب على جميع البيانات.
‫لذلك من خلال التوقف المبكر ورد الاتصال ، لا يمكننا مراقبة دقة التحقق من الصحة.
‫لذا ، من أجل رد اتصال الإيقاف المبكر ، نحتاج إلى إيقاف النموذج مبكرًا.
‫يساوي tfw مقدمو الرعاية نقطة عمليات الاسترجاعات نقطة الإيقاف المبكر.
‫هناك نذهب.
‫وسوف نجعله يراقب الدقة عندما يتألق نموذجنا على البيانات الكاملة ،
‫عندما تتوقف دقته عن الصعود لثلاث فترات.
‫سنقوم بإيقافها عن التدريب حتى لا تتعرض للصيد المفرط أو سنحاول منعها من
‫الإفراط في التجهيز.
‫لذا تحول وادخل.
‫رائع.
‫يبدو أنه قد يكون لدينا وصفة لبدء تدريب نموذجنا ، لذا قم بملاءمة النموذج الكامل مع البيانات الكاملة.
‫إذن هنا حيث يمكننا الذهاب.
‫يمكننا أن نلائم النموذج الكامل.
‫لذلك نحن فقط نسمي النموذج الذي أنشأناه.
‫Dot fit x يساوي البيانات الكاملة.
‫الآن لا توجد مجموعة تحقق ، تذكر ، لأننا نتدرب على البيانات الكاملة.
‫ستكون العصور 100.
‫أو يمكن أن يكون مجرد عدد من الفترات لأننا وضعنا حقبة رقمية من قبل وسيكون لدينا عمليات رد نداء ، وهما عمليتا
‫الاسترجاعتان اللتان أنشأناهما للتو.
‫الآن هذا يقوم بنفس الخطوات بالضبط كما فعلنا ، تدريب نموذج أصغر ، ولكن هذه المرة
‫مع المزيد من البيانات.
‫رائع.
‫والآن سأضع ملاحظة صغيرة هنا لأعطيكم بعض الأفكار ، وسوف أتحدث عنها.
‫لذلك أنت تعلم أيضًا.
‫سيستغرق تشغيل الخلية أدناه بعض الوقت ، ربما يصل إلى 30 دقيقة أو ربما أطول قليلاً ، 30 دقيقة
‫للعصر الأول لأن وحدة معالجة الرسومات التي نستخدمها في وقت التشغيل يجب أن تقوم بتحميل جميع الصور في الذاكرة.
‫لذا ، تذكر أن الحقبة الأولى ، مع نموذجنا الأصغر الذي يتكون من 1000 صورة ، استغرقت الحقبة الأولى دقيقتين ، ربما
‫ثلاث أو أربع دقائق ، كما يمكنك أن تتخيل ، لأن هذه الفترة موجودة في مجموعة البيانات الكاملة.
‫إنه يتدرب بـ 10000 صورة.
‫لذلك سيستغرق تحميل جميع البيانات الخاصة بالعهد الأول وقتًا أطول قليلاً.
‫لذا قبل تشغيل هذا ، طالما أن كل التعليمات البرمجية صحيحة ، فقد يحدث خطأ في الواقع.
‫لهذا السبب بدلاً من محاولة استخدام البيانات الكاملة من البداية ، حرصنا على أن يعمل كل شيء.
‫لأنه عند تدريب نموذج التعلم الآلي الكامل ، يكون نموذج التعلم الكامل والعميق.
‫يمكن أن يستغرق وقتا طويلا إلى حد ما وساعات.
‫نحن محظوظون هنا.
‫سيتدرب هذا في غضون ساعة لأننا نستخدم وحدة معالجة الرسومات.
‫لكن يمكنك أن تتخيل أنك إذا كنت تعمل في شركة أكبر ، فقد تترك شيئًا ما للتدريب لمدة
‫أسبوع.
‫لهذا السبب تريد التأكد من أنه عند إعداد التجارب ، تخيل تدريب نموذج التعلم
‫العميق لمدة أسبوع كامل ، ثم يتضح أنه لم يكن يعمل.
‫لهذا السبب قمنا بكل الخطوات المذكورة أعلاه للتأكد من أن كل شيء يعمل.
‫لذا قبل أن ندرب نموذجًا ضخمًا ، يمكننا أن نتأكد ، حسنًا ، الأمور في مكانها الصحيح.
‫لنبدأ جولة تدريبية كاملة.
‫هل أنت جاهز؟
‫نحن على وشك تدريب أول نموذج كامل للتعلم العميق لدينا على 10000 صورة إضافية.
‫رؤية الكلب أصبحت حقيقة واقعة.
‫أكرهها معي.
‫ثلاثة اثنان واحد.
‫التحول والدخول.
‫تشابك الاصابع.
‫نأمل أن يعمل هذا.
‫يجب أن نشهد ظهور شريط تحميل صغير ولأننا حددنا عدد العهود إلى 100 ، فسوف يستمر
‫التدريب لما يصل إلى 100 عصر.
‫ولكن إذا توقف عن التحسن ، فلدينا نموذجنا الكامل الذي يتوقف مبكرًا عن رد الاتصال.
‫سيتوقف هذا عند التدريب مبكرًا وبعد ذلك يمكننا التحقق من النتائج باستخدام أعشار الترتيب بعد
‫الانتهاء.
‫لذلك سننتظر حتى يبدأ هذا.
‫ثم ما سأفعله على الأرجح هو إيقاف هذا الفيديو مؤقتًا لأنه سيستغرق حوالي نصف ساعة.
‫سوف آخذ استراحة صغيرة ، ربما يمكنك ، أن أتجول قليلاً ، هدئ أعصابك.
‫أوه.
‫ربما سيستغرق الأمر أكثر من نصف ساعة بقليل.
‫هذه المرة يجب أن أنزل ما لم يكن الاختبار الخاص بي غير صحيح.
‫لكننا سننتظر بضع ثوان ثم أعود إلى هذا الفيديو بمجرد توقف النموذج.
‫لذلك بمجرد أن توقف النموذج مبكرًا عن النموذج الكامل ، بدأ رد الاتصال الذي تم إيقافه مبكرًا.
‫تمام.
‫لذلك سأترك هذا يعمل طالما أنه يحتاج إلى التشغيل.
‫سأعود بمجرد توقف نموذجي عن نفسه ، بفضل التوقف المبكر ومعاودة الاتصال.
‫لذلك سأراك في غضون بضع ثوانٍ ، لكن بالنسبة لي ، ستكون بضع ساعات في المستقبل.
‫ربما يستغرق الأمر بضع ساعات في مستقبلك أيضًا.
‫وقد عدنا.
‫حسنًا.
‫لذلك دعونا نلقي نظرة على نموذجنا المدرب بالكامل.
‫كما ترون ، عهدي الأول استغرق وقتًا طويلاً إلى حد ما وسيستغرق هذا في الواقع لحظة إذا
‫انتهيت من هذا ، إذا مررت بهذا.
‫تحتاج إلى تربيت نفسك على ظهرك لأن هذا يشبه طقوس المرور لتدريب شبكتك
‫العصبية الأولى والعميقة.
‫وقد استغرق الأمر وقتًا طويلاً.
‫أحد الأشياء التي يجب عليك معرفتها عندما تصبح عالم بيانات أو
‫مهندسًا للتعلم الآلي هي طرق لتمضية الوقت أثناء تدريب نموذجك.
‫لذلك ذهبت في نزهة مع كلبي لأن هذا استغرق واحدًا.
‫كم ثانية هذا؟
‫إذن 4730 مقسومة على 60.
‫78 دقيقة.
‫لذلك ما يزيد قليلاً عن ساعة للقيام بالعهد الأول.
‫ولكن كما قلت ، بعد تحميل الصور في ذاكرة وحدة معالجة الرسومات ، تحقق من السرعة التي تسير بها بعد
‫ذلك.
‫وما ستريد فعله على الأرجح هو أثناء تشغيل هذه الخلية ، كان يجب أن أخبرك بهذا من قبل ، لكن
‫يمكنك تدوين ملاحظات للمستقبل.
‫أثناء تشغيل هذه الخلية ، تريد أن يكون لديك نموذج حفظ يعمل بعدها.
‫بهذه الطريقة ، بمجرد توقف نموذجك عن التدريب.
‫بفضل الإيقاف المبكر لمكالماتنا التي تم إيقافها مبكرًا هنا.
‫سيقوم تلقائيًا باستدعاء وظيفة نموذج الحفظ الخاصة بنا وحفظ نموذجنا الكامل في دليل النماذج الخاص بنا.
‫الآن دعنا نأتي إلى هنا ونلقي نظرة على النماذج.
‫أوه ، لدي القليل هناك.
‫لذلك لنفترض أنه سيكون الشخص الذي نبدأ فيه مجموعة الصور الكاملة لشبكة الجوال في الثاني من فبراير وبدأت في
‫حوالي الساعة 5. م ..
‫إذن هذه المرة خاطئة بالفعل بالنسبة لي لأنني لست متأكدًا.
‫ربما يكون وقت التاريخ هو الوقت الخطأ بالنسبة لي.
‫لكن ها نحن ذا.
‫الذي تم حفظه هنا.
‫لدينا طريقنا.
‫لذا يمكننا الآن إلقاء نظرة على ما انتهى به الأمر بشكل جيد.
‫انظر إلى ذلك.
‫هذه دقة التدريب.
‫لكنني متشكك قليلاً هنا.
‫تعرف لماذا؟
‫لأننا لا نتحقق من صحة هذا.
‫هذا مجرد تدريب نموذجي على بيانات التدريب الكاملة.
‫لذلك دعنا نأتي إلى هنا.
‫إنه تدريب على جميع الصور الموجودة في هذا الملف المدرب ، أ. ك. أ. X و Y.
‫وبالتالي لا يمكننا اختبار مجموعة التحقق من الصحة حقًا ، ولكن ما يمكننا فعله هو استيراد مجموعة بيانات الاختبار التي قمنا بتنزيلها
‫في الأصل من Kaggle.
‫ها نحن ذا ، ملف الاختبار.
‫ويمكننا استيرادها ، وتحويلها إلى مجموعة بيانات ، ثم استخدام نموذجنا لعمل تنبؤات وإرسالها
‫إلى Kaggle.
‫كم هي ملحمة هذا؟
‫لذلك دعونا يتم حفظ نموذجنا.
‫دعونا نختبر دالة نموذج الحمل لدينا.
‫تحميل ذلك للنموذج يساوي تحميل النموذج.
‫سنقوم فقط بنسخ هذا المسار هنا.
‫تمام.
‫إنهم يقومون بتحميل النموذج الكامل.
‫وإذا قمنا بنسخ هذا السطر هنا.
‫ضع علامة.
‫أوه ، لا نريد وضعها هناك.
‫نريد أن نضعه هنا كسلسلة.
‫دعنا نتحقق من ذلك.
‫رائع.
‫هذا يمر.
‫هذا ما نسعى إليه.
‫لذا مرة أخرى ، نتلقى تلك التحذيرات التي تقول وثائق TensorFlow إنه يمكن تجاهلها.
‫حسنا.
‫الآن ماذا بعد؟
‫حسنًا ، أعتقد الآن بعد أن حصلنا على نموذج مدرب بالكامل على جميع الصور التي يزيد عددها عن 10000 صورة ، أعتقد أننا نرى كيفية
‫عمل بعض التنبؤات على مجموعة بيانات الاختبار.
‫لنفعل ذلك في الفيديو التالي.