يجمع TensorFlow 2.0 ، أحدث إصدار من TensorFlow ، بين ميزات Keras و Eager Execution لتوفير إطار عمل تعلم عميق أكثر سهولة وفعالية. Keras عبارة عن واجهة برمجة تطبيقات للشبكات العصبية عالية المستوى ، بينما يتيح Eager Execution التقييم الفوري للعمليات ، مما يجعل TensorFlow أكثر تفاعلية وبديهية. يجلب هذا المزيج العديد من الفوائد للمطورين والباحثين ، مما يعزز تجربة TensorFlow الشاملة.
تتمثل إحدى الميزات الرئيسية لـ TensorFlow 2.0 في تكامل Keras باعتبارها واجهة برمجة التطبيقات الرسمية عالية المستوى. اكتسبت Keras ، التي تم تطويرها في الأصل كمكتبة منفصلة ، شعبية بسبب بساطتها وسهولة استخدامها. مع TensorFlow 2.0 ، تم دمج Keras بإحكام في نظام TensorFlow البيئي ، مما يجعلها واجهة برمجة التطبيقات الموصى بها لمعظم حالات الاستخدام. يتيح هذا التكامل للمستخدمين الاستفادة من بساطة ومرونة Keras مع الاستفادة من الإمكانات الشاملة لـ TensorFlow.
جانب آخر مهم من TensorFlow 2.0 هو اعتماد Eager Execution كوضع افتراضي للتشغيل. يتيح التنفيذ الحثيث للمستخدمين تقييم العمليات فورًا كما يطلق عليها ، بدلاً من تحديد رسم بياني حسابي وتشغيله لاحقًا. يوفر وضع التنفيذ الديناميكي تجربة برمجة أكثر سهولة ، مما يسمح بتصحيح أسهل وأسرع للنماذج الأولية. بالإضافة إلى ذلك ، يسهل Eager Execution استخدام عبارات تدفق التحكم مثل الحلقات والشرطية ، والتي كانت في السابق صعبة التنفيذ في TensorFlow.
من خلال الجمع بين Keras و Eager Execution ، يعمل TensorFlow 2.0 على تبسيط عملية البناء والتدريب ونشر نماذج التعلم العميق. يمكن للمطورين استخدام واجهة برمجة تطبيقات Keras عالية المستوى لتحديد نماذجهم ، والاستفادة من تركيبها سهل الاستخدام ومجموعة واسعة من الطبقات والنماذج المبنية مسبقًا. يمكنهم بعد ذلك دمج هذه النماذج بسلاسة مع عمليات ووظائف TensorFlow منخفضة المستوى. يتيح هذا التكامل مزيدًا من المرونة والتخصيص ، مما يتيح للمستخدمين ضبط نماذجهم ودمج ميزات متقدمة في مهام سير العمل الخاصة بهم.
علاوة على ذلك ، يقدم TensorFlow 2.0 مفهومًا يسمى "tf.function" ، والذي يسمح للمستخدمين بتحسين التعليمات البرمجية الخاصة بهم عن طريق التحويل التلقائي لوظائف Python إلى رسوم بيانية عالية الكفاءة TensorFlow. تستفيد هذه الميزة من مزايا كل من Keras و Eager Execution ، حيث يمكن للمستخدمين كتابة التعليمات البرمجية الخاصة بهم بأسلوب Pythonic أكثر إلزامية ، مع الاستمرار في الاستفادة من تحسينات الأداء التي يوفرها تنفيذ الرسم البياني الثابت في TensorFlow.
لتوضيح كيف يجمع TensorFlow 2.0 بين ميزات Keras و Eager Execution ، ضع في اعتبارك المثال التالي:
python import tensorflow as tf from tensorflow import keras # Define a simple model using the Keras API model = keras.Sequential([ keras.layers.Dense(64, activation='relu', input_shape=(784,)), keras.layers.Dense(64, activation='relu'), keras.layers.Dense(10, activation='softmax') ]) # Enable Eager Execution tf.compat.v1.enable_eager_execution() # Create a sample input input_data = tf.random.normal((1, 784)) # Use the model to make predictions output = model(input_data) print(output)
في هذا المثال ، قمنا أولاً باستيراد TensorFlow ووحدة Keras. نحدد نموذجًا بسيطًا للشبكة العصبية باستخدام Keras Sequential API ، والذي يتكون من طبقتين مخفيتين مع تنشيط ReLU وطبقة إخراج مع تنشيط softmax. ثم نقوم بتمكين Eager Execution باستخدام الوظيفة `tf.compat.v1.enable_eager_execution ()`.
بعد ذلك ، نقوم بإنشاء موتر إدخال عينة باستخدام الوظيفة العادية العشوائية لـ TensorFlow. أخيرًا ، نقوم بتمرير المدخلات من خلال النموذج للحصول على تنبؤات المخرجات. نظرًا لأننا نستخدم Eager Execution ، يتم تنفيذ العمليات على الفور ، ويمكننا طباعة الإخراج مباشرةً.
من خلال تشغيل هذا الكود في TensorFlow 2.0 ، يمكننا الاستفادة من بساطة وتعبير Keras لتحديد نموذجنا ، مع الاستفادة من التنفيذ الفوري والطبيعة التفاعلية لـ Eager Execution.
يجمع TensorFlow 2.0 بين ميزات Keras و Eager Execution لتوفير إطار عمل تعلم عميق قوي وسهل الاستخدام. يعمل تكامل Keras كواجهة برمجة تطبيقات رسمية عالية المستوى على تبسيط عملية بناء النماذج والتدريب ، بينما يعزز Eager Execution التفاعل والمرونة. يتيح هذا المزيج للمطورين والباحثين ترقية الكود الحالي الخاص بهم بكفاءة إلى TensorFlow 2.0 والاستفادة من إمكاناته المتقدمة.
أسئلة وأجوبة أخرى حديثة بخصوص أساسيات EITC/AI/TFF TensorFlow:
- كيف يمكن للمرء استخدام طبقة التضمين لتعيين المحاور المناسبة تلقائيًا لمؤامرة تمثيل الكلمات كمتجهات؟
- ما هو الغرض من الحد الأقصى للتجميع في CNN؟
- كيف يتم تطبيق عملية استخراج الميزات في الشبكة العصبية التلافيفية (CNN) على التعرف على الصور؟
- هل من الضروري استخدام وظيفة التعلم غير المتزامنة لنماذج التعلم الآلي التي تعمل في TensorFlow.js؟
- ما هو الحد الأقصى لعدد الكلمات المعلمة لواجهة برمجة تطبيقات TensorFlow Keras Tokenizer؟
- هل يمكن استخدام TensorFlow Keras Tokenizer API للعثور على الكلمات الأكثر شيوعًا؟
- ما هو توكو؟
- ما هي العلاقة بين عدد من العصور في نموذج التعلم الآلي ودقة التنبؤ من تشغيل النموذج؟
- هل تنتج الحزمة المجاورة لواجهة برمجة التطبيقات (API) في التعلم المنظم العصبي لـ TensorFlow مجموعة بيانات تدريب معززة تعتمد على بيانات الرسم البياني الطبيعي؟
- ما هي حزمة الجيران API في التعلم المنظم العصبي لـ TensorFlow؟
عرض المزيد من الأسئلة والأجوبة في EITC/AI/TFF TensorFlow Fundamentals