‫لقد رأينا الآن كيف تبدو الصورة ، بشكل مكثف.
‫دعونا نبني هذه الوظيفة الصغيرة التي ستقوم بتنفيذ الخطوات هنا.
‫لذا ما قد نفعله هو نسخها فقط حتى نتمكن من رؤيتها في الأسفل.
‫وسأكتب فقط خلية صغيرة هنا.
‫الآن ، رأينا كيف تبدو الصورة كموتّر.
‫دعونا نجعل وظيفة لمعالجتها مسبقًا.
‫حسنا.
‫ولذا فإن ما يمكننا فعله هو تحديد متغير هنا بحجم الصورة 224 وقد تتساءل.
‫مثلما أفعل دائمًا عندما أرى أشياء مثل هذه لم يتم شرحها.
‫ما هو 224؟
‫من أين حصلت على ذلك؟
‫حسنًا ، سنرى ذلك في مقطع فيديو لاحق عندما نختار نموذجًا للتعلم الآلي يمكننا استخدامه.
‫ولذا فإن الكثير من التعلم الآلي يصطف حجم مدخلاتك أو شكل مدخلاتك ،
‫في حالتنا ، الصور مع النموذج الذي تستخدمه.
‫مرة أخرى ، سوف نغطي هذا لاحقًا.
‫لكن بشكل أساسي ، نتأكد من أن صورنا التي نقوم بإدخالها في نموذج التعلم الآلي
‫من هذا الشكل حتى 24 ارتفاعًا إلى 24 عرضًا ، لأن هذا هو نموذج التعلم الآلي الذي سنستخدمه والذي
‫تم تدريبه على الصور في نفس الشكل ، تذكر مدى أهمية تغذية البيانات بنفس التنسيق والشكل
‫لنموذج التعلم الآلي الخاص بك كما تم التدريب عليه عندما تحاول إجراء تنبؤات.
‫لكننا سنرى ذلك عمليًا لاحقًا.
‫لكن دعونا نصحح هذه الوظيفة.
‫لذلك قم بإنشاء وظيفة للمعالجة المسبقة للصور.
‫لذلك سأطلق على هذه الصورة العملية البسيطة والرائعة.
‫سوف يأخذ مسار الصورة كمدخلات.
‫و.
‫يمكن أن تكون سلسلة التوثيق الصغيرة علامات على مسار ملف الصورة وتحول الصورة إلى موتر.
‫شيء بسيط من هذا القبيل.
‫يمكننا أن نجعلها أكثر سهولة في وقت لاحق ، ولكن في البداية ، هذا يكفي لشرحها
‫لأنفسنا.
‫لذلك نريد أن نقرأ في ملف صورة ولكي نفعل ذلك سنحفظه في متغير يسمى صورة.
‫وإذا قرأنا تحميل الصور الآن ، يمكنك القيام بذلك لأنواع أخرى من البيانات أيضًا ، أليس كذلك؟
‫هناك بيانات نصية هناك.
‫هناك حيوانات الباندا و dataframe و numpy و csv.
‫لكن من خلال القراءة هناك ، نرى أنه يمكننا الذهاب إلى IO للإدخال والإخراج والقراءة والملف.
‫هناك نذهب.
‫ماذا تقول.
‫يقرأ ويخرج المحتويات الكاملة لاسم ملف الإدخال.
‫حسنًا ، هذا منطقي.
‫إرجاع موتر من نوع السلسلة.
‫جميلة.
‫لنقم بمسار الصورة ، لكن لا تأخذ كلامي على محمل الجد.
‫ما سنفعله هو وأنا أريدك أن تتبنى هذه الممارسة أيضًا.
‫إذا رأيت وظيفة لست متأكدًا تمامًا مما تفعله.
‫أعد كتابته سطرا بسطر.
‫لذلك دعونا نتحقق من هذا.
‫سنذهب إلى tensor يساوي t io للقراءة ، والقراءة ، والملف ، ثم نحتاج إلى مسار الصورة.
‫لذلك سنفعل أسماء الملفات.
‫أبلغ من العمر 26 عامًا ، لذا سنحصل على أسماء الملفات.
‫26.
‫وكيف يبدو ذلك؟
‫أوه.
‫إذن فهو شكل خيط.
‫ثم مجموعة كاملة من الشخصيات ، لا أفهمها ، لكن هذا شيء جيد لأن الكمبيوتر
‫يفهمهم بشكل أفضل مني.
‫إذن ما تم فعله هو أنه أخذ اسم الملف وحوّل المحتويات إلى.
‫هذا طويل ، متوتر.
‫رائع.
‫الخطوة التالية هي استخدام TensorFlow لقراءة الملف.
‫احفظه في الصورة.
‫نعم.
‫تحويل صورتنا jpeg إلى الأزمنة.
‫حسنًا ، لنفعل ذلك.
‫حول صورة JPEG إلى موتر رقمي بثلاث قنوات لونية.
‫المطر الأحمر.
‫أزرق.
‫ومرة أخرى ، تحقق من وثائق تحميل الصور.
‫لذلك نحن نعيد استخدام هذا المتغير هنا.
‫سنقوم الآن بإعادة ضبطه على b tf.
‫صورة نقطة فك.
‫انظر كيف لدينا بعض الخيارات هنا.
‫لدينا PNG ، وهو نوع ملف الصورة.
‫سنستخدم JPEG لأن صورنا في صورة JPEG ثم نقوم بتمريرها إلى المتغير.
‫القنوات.
‫تشير قنوات Atta إلى العدد المطلوب من قنوات الألوان للصورة التي تم فك تشفيرها.
‫في حالتنا ، نريد ثلاثة ، أربعة ، أحمر ، أخضر ، وأزرق.
‫جميلة.
‫الآن ، مرة أخرى ، إذا أردنا التحقق من ما يفعله هذا بالضبط.
‫لنأخذ Tensor ونذهب لفك تشفير صورة tf dot.
‫JPEG.
‫سنأخذ موتر ثم نذهب.
‫القنوات يساوي ثلاثة.
‫أوه ، انظر إلى ذلك.
‫لديهم بالضبط نفس نوع البيانات التي لدينا هنا.
‫رائع.
‫حسنا.
‫الآن ، لتوفير الوقت ، سنكتب سطرين آخرين في هذه الوظيفة ، لكننا
‫لن نمر في الخطوات المماثلة.
‫هذا ما اريد.
‫أريدك أن تمارس بعض التمارين.
‫إذا رأيت وظيفة وكنت مهتمًا بما تفعله.
‫حاول كتابتها سطراً سطراً وانظر ماذا سيحدث.
‫لذا عليك فقط أن تثق بي فيما تفعله هذه السطور.
‫لذا قم بتحويل قيمة قناة اللون.
‫لذلك يسمى هذا التطبيع.
‫سأكتب الرمز أولاً ثم أخبرك عنه من 0 إلى 2 ، ومن 55 إلى 0 إلى قيمة واحدة.
‫لذلك نريد أن نذهب إلى صورة تساوي TF لتحويل صورة صورة d نوع صورة tf float 32.
‫الآن ماذا تقول الوثيقة هنا؟
‫تحويل الصورة إلى نوع d مع قياس قيمها إذا لزم الأمر.
‫من المتوقع أن تحتوي الصور التي يتم تمثيلها باستخدام قيم الفاصلة العائمة على قيم في النطاق
‫صفر واحد.
‫رائع.
‫الآن ربما تفكر ، كيف؟
‫كيف تعرف هذا يا دانيال؟
‫كيف تعرف أنه يتعين عليك تحويله من صفر إلى 55 إلى ما بين صفر وواحد؟
‫حسنًا ، في الواقع ، لقد كذبت.
‫قلت إننا لن ننظر إلى ذلك ، لكن هذا أمر جيد للتحقيق فيه.
‫شد حتى يمكنك أن ترى ، لدينا قيم هناك بين صفر و 255 والآن.
‫سأدير هذا.
‫أوه ، لا ، أنا في الواقع لا أريد أن أفسد نفسي هنا.
‫أعد تشغيل هذا.
‫لذلك أريد فقط أن أوضح ما يفعله هذا.
‫حتى تحويل الصورة.
‫لذلك ، كل ما يفعله هو تحويل قيمنا ، وقياسها بدلاً من أن يكون بين صفر
‫و 255.
‫هم الآن بين صفر وواحد بنفس المقياس.
‫فلوت 32.
‫أوه.
‫32- العوامة الحرة.
‫رائع.
‫إذن لدينا نفس الشكل.
‫لكن الآن بدلاً من أن تكون بين صفر واثنين أو 55 ، فهي بين صفر وواحد.
‫والآن هذا النوع من العمليات يجعل الحوسبة على هذه أكثر كفاءة.
‫هذا أكثر ما تحتاج إلى معرفته.
‫إنه يسمى التطبيع.
‫ومرة أخرى ، هذا فقط مباشرة من وثائق تحميل الصور.
‫الآن ، ماذا علينا أن نفعل؟
‫في الواقع ، لا أعتقد أن لدينا خطوة هنا من أجل ذلك.
‫قد نضطر إلى تسوية صورتنا ، وتحويل قيم قناة اللون من 0 إلى 255 إلى 0 إلى 1.
‫اجعلها خمسة.
‫ستة.
‫تمام.
‫الآن ، أخيرًا ، يمكننا تغيير حجم الصورة.
‫الآن ، أعتقد الآن أنك تثق بي وما سيفعله هذا الخط.
‫لذلك لن نكتبه.
‫سأترك ذلك لكم 24.
‫حتى 24.
‫لذلك في الأساس مربع.
‫بالضبط.
‫مربع في الواقع.
‫تغيير حجم الصورة.
‫يغير حجم الصور إلى الحجم باستخدام الطريقة المحددة.
‫والآن نريد تغيير حجم الصورة وسيكون الحجم هو الارتفاع.
‫انتظر.
‫الآن ترى لماذا نحدد هذا هنا.
‫ربما إذا كتبنا هذه الوظيفة بشكل أفضل قليلاً ، يمكننا إدخال حجم الصورة كحجم الصورة.
‫ربما يكون هذا أفضل قليلاً.
‫رائع.
‫والآن ستحصل على هذا النوع من التدريب عندما تبدأ في كتابة وظائفك الخاصة.
‫في المرة الأولى التي تكتب فيها وظيفة ، من المحتمل أن تكون سيئًا جدًا ، سيئًا جدًا.
‫ولكن عندما تبدأ في تحديد ماهية سير عملك ، ستبدأ في فهم كيفية كتابة
‫وظيفة أفضل.
‫الآن يمكننا إعادة الصورة.
‫إذن ماذا فعل هذا؟
‫هل فعلت بالضبط ما قلناه للتو.
‫يأخذ مسار الصورة وحجم الصورة.
‫يمكننا تحديد ذلك هنا.
‫يقرأ في ملف الصورة من اسم المسار الجميل.
‫إنه يحول JPEG إلى موتر رقمي.
‫لذلك نحن نقوم فقط بتحويله إلى موتر بثلاث قنوات ملونة باللون الأحمر والأخضر والأزرق ، لأن هذا
‫هو العرف بالنسبة لمعظم نماذج صور التعلم العميق.
‫يريدون الأحمر.
‫قلت اقرأ.
‫ليس هذا شيئًا سيئًا.
‫القراءة شيء عظيم.
‫قمنا بعد ذلك بتحويل قنوات الألوان من 0 إلى 55 إلى 0 إلى 1 قيمة وأخيرًا قمنا بتغيير حجم الصورة إلى القيمة التي
‫نريدها.
‫لقد كتبنا هذا الآن في دالة ، فالشيء الجميل هو أنه يمكننا استخدامها لاحقًا.
‫هذا ما كنت أفعله ، أليس كذلك؟
‫اعتدت أن أجري عبر هذه الأسطر من التعليمات البرمجية في كل مرة أردت فيها معالجة صورة ، وسير عمل رهيب
‫حتى نتمكن بالفعل من إزالتها.
‫تذكر ، إذا كنت تريد التحقق مما تفعله الوظيفة بالفعل ، فقم بتقسيمها سطراً بسطر.
‫يأخذ مسار الصورة كمدخل ثم يرى ما يفعله الباقي.
‫الآن ، أعتقد أن هذا كافٍ لهذا الفيديو.
‫لقد تم إنشاء وظيفتنا ، وهي جاهزة لمعالجة بعض الصور.
‫ما يمكن أن نفعله الآن هو ، مرة أخرى ، إذا أردنا قراءة بيانات التحميل في TensorFlow ، أعتقد أنها
‫هذه.
‫نعم ، عد من هنا.
‫يوجد قسم صغير هنا يحب TensorFlow رؤية الأشياء على شكل دفعات.
‫لذلك سنحدد الدفعات الموجودة في الفيديو التالي.