Keras: واجهة برمجة التطبيقات عالية المستوى لـ TensorFlow

Keras هي واجهة برمجة تطبيقات عالية المستوى لمنصة TensorFlow. إنه يوفر واجهة سهلة الاستخدام وذات إنتاجية عالية لحل مشكلات التعلم الآلي (ML) ، مع التركيز على التعلم العميق الحديث. يغطي Keras كل خطوة من خطوات سير عمل التعلم الآلي ، من معالجة البيانات إلى ضبط المعلمة الفائقة إلى النشر. تم تطويره مع التركيز على تمكين التجريب السريع.

مع Keras ، لديك وصول كامل إلى قابلية التوسع وإمكانيات النظام الأساسي عبر TensorFlow. يمكنك تشغيل Keras على TPU Pod أو مجموعات كبيرة من وحدات معالجة الرسومات ، ويمكنك تصدير نماذج Keras للتشغيل في المتصفح أو على الأجهزة المحمولة. يمكنك أيضًا تقديم نماذج Keras عبر واجهة برمجة تطبيقات الويب.

تم تصميم Keras لتقليل العبء المعرفي من خلال تحقيق الأهداف التالية:

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

من يجب أن يستخدم Keras

الإجابة المختصرة هي أن كل مستخدم TensorFlow يجب أن يستخدم واجهات برمجة تطبيقات Keras افتراضيًا. سواء كنت مهندسًا أو باحثًا أو ممارسًا في تعلم الآلة ، يجب أن تبدأ مع Keras.

هناك عدد قليل من حالات الاستخدام (على سبيل المثال ، أدوات البناء أعلى TensorFlow أو تطوير النظام الأساسي عالي الأداء الخاص بك) التي تتطلب واجهات برمجة تطبيقات TensorFlow Core منخفضة المستوى. ولكن إذا لم تندرج حالة الاستخدام الخاصة بك في أحد تطبيقات Core API ، فيجب أن تفضل Keras.

مكونات Keras API

هياكل البيانات الأساسية لـ Keras هي طبقات ونماذج . الطبقة عبارة عن تحويل إدخال / إخراج بسيط ، والنموذج عبارة عن رسم بياني دوري موجه (DAG) للطبقات.

طبقات

فئة tf.keras.layers.Layer هي التجريد الأساسي في Keras. تغلف Layer حالة (أوزان) وبعض العمليات الحسابية (محددة في طريقة tf.keras.layers.Layer.call ).

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

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

عارضات ازياء

النموذج هو كائن يقوم بتجميع الطبقات معًا ويمكن تدريبه على البيانات.

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

تتميز فئة tf.keras.Model بأساليب تدريب وتقييم مدمجة:

  • tf.keras.Model.fit : لتدريب النموذج لعدد ثابت من العصور.
  • tf.keras.Model.predict : يولد تنبؤات الإخراج لعينات الإدخال.
  • tf.keras.Model.evaluate : إرجاع قيم الخسارة والمقاييس للنموذج ؛ تم تكوينه عبر طريقة tf.keras.Model.compile .

تتيح لك هذه الأساليب الوصول إلى ميزات التدريب المضمنة التالية:

  • عمليات الاسترجاعات . يمكنك الاستفادة من عمليات رد النداء المضمنة للتوقف المبكر ونموذج نقاط التفتيش ومراقبة TensorBoard . يمكنك أيضًا تنفيذ عمليات الاسترجاعات المخصصة .
  • التدريب الموزع . يمكنك بسهولة توسيع نطاق تدريبك ليشمل العديد من وحدات معالجة الرسومات أو وحدات المعالجة المركزية أو الأجهزة.
  • خطوة الانصهار. باستخدام وسيطة steps_per_execution في tf.keras.Model.compile ، يمكنك معالجة دفعات متعددة في مكالمة tf.function واحدة ، مما يحسن بشكل كبير استخدام الجهاز على TPU.

للحصول على نظرة عامة مفصلة حول كيفية استخدام fit ، راجع دليل التدريب والتقييم . لمعرفة كيفية تخصيص حلقات التدريب والتقييم المضمنة ، راجع تخصيص ما يحدث بشكل fit() .

واجهات برمجة التطبيقات والأدوات الأخرى

يوفر Keras العديد من واجهات برمجة التطبيقات والأدوات الأخرى للتعلم العميق ، بما في ذلك:

للحصول على قائمة كاملة بواجهات برمجة التطبيقات المتاحة ، راجع مرجع Keras API . لمعرفة المزيد حول مشاريع ومبادرات Keras الأخرى ، راجع نظام Keras البيئي .

الخطوات التالية

لبدء استخدام Keras مع TensorFlow ، تحقق من الموضوعات التالية:

لمعرفة المزيد حول Keras ، راجع الموضوعات التالية على keras.io :