عامر ابراهيم نشر 22 سبتمبر 2021 أرسل تقرير نشر 22 سبتمبر 2021 ما وظيفة الدالة compile وماهي الوسطاء الخاصة بهذه الدالة؟ 2 اقتباس
1 Ali Haidar Ahmad نشر 22 سبتمبر 2021 أرسل تقرير نشر 22 سبتمبر 2021 الدالة compile هي الدالة المسؤولة عن تكوين النموذج بعد أن تكون قد قمت بتحديد هيكليته (طبقاته وبارمتراته). حيث تقوم بترجمة هذه الهيكلية وتحديد المعلومات الأخرى اللازمة لتكوين النموذج وتجهيزه لبدء عملية التدريب. ولها الشكل التالي: Model.compile( optimizer="rmsprop", loss=None, metrics=None, weighted_metrics=None, steps_per_execution=None, **kwargs ) حيث أن الوسيط الأول هو المحسَن المستخدم (وفي الرابط في الأسفل هناك شرح لأشهر نوعين من المحسنات وهما Rmsprop و Adam). أما الوسيط الثاني فهو دالة التكلفة المراد تطبيقها (غالباً نستخدم Binary_cross_Entropy مع مسائل التصنيف الثنائي و Categorical Crossentropy مع مسائل التصنيف المتعدد أو Spare Categorical Crossentropy) وأيضاً تجدهما في الروابط وكذلك يمكنك القيام بتعريف دالة التكلفة الخاصة بك واستخدامها كما تم شرح ذلك في الرابط في الأسفل. أما الوسيط الثالث فهو معيار قياس أداء النموذج خلال التدريب وغالباً نستخدم المعيار Accuracy عندما تكون البيانات متوازنة أو F1-Score عندما تكون البيانات غير متوازنة. أما الوسيط الخامس فهو لتوزين الفئات حيث نمرر لها قائمة المقاييس التي سيتم تقييمها ووزنها حسب وزن العينة sample_weight أو وزن الفئة class_weight أثناء التدريب والاختبار. أما الوسيط الأخير steps_per_execution فهذا يتعلق بسرعة التنفيذ و الافتراضي هو 1. ويمث عدد الدُفعات batches التي سيتم تنفيذها أثناء كل استدعاء tf.function. والفائدة منه تكمن في أن تشغيل دفعات متعددة داخل استدعاء tf.function واحد إلى تحسين الأداء بشكل كبير في حال كنت تستخدم وحدات TPU(على كولاب مثلاً). وما يلي هو مثال بسيط لها: model.compile(optimizer=tf.keras.optimizer.Adam(learning_rate=1e-3), # هنا مررنا المحسن loss=tf.keras.losses.BinaryCrossentropy(), # دالة التكلفة metrics=[tf.keras.metrics.BinaryAccuracy(), # ومقياسين للأداء tf.keras.metrics.FalseNegatives()]) كما يمكنك أن تجد مثال عنها في كل رابط من الروابط المذكورة في الأسفل مع نماذج بسيطة وواضحة. 1 اقتباس
1 Ahmed Sharshar نشر 22 سبتمبر 2021 أرسل تقرير نشر 22 سبتمبر 2021 الدالة compile هي المسئولة عن تعريف: دالة الفقد Loss : مثل Binary_cross_Entropy أو Categorical Crossentropy وهما الأكثر شهرة واستخداماً. المحسن Optimizer: مثل Adam و rmsprop مقياس الدقة الذي تستخدمه metrics: مثل Accuracy أو F1-score أو precision غيرها تبعا لحالة البيانات. كما هو موضح في تعريفها التالي: Model.compile( optimizer="rmsprop", loss=None, metrics=None, weighted_metrics=None, steps_per_execution=None, **kwargs ) ويمكنك استخدامها ببساطة بعد أن تقوم ببناء طبقات التعلم التي تريد ثم وضعها في النهاية مع تحديد ال parameter التي شرحناها سابقا بما يناسب عملية التعلم خاصتك كالتالي: inputs = tf.keras.layers.Input(shape=(3,)) outputs = tf.keras.layers.Dense(2)(inputs) model = tf.keras.models.Model(inputs=inputs, outputs=outputs) model.compile(optimizer="Adam", loss="mse", metrics=["mae"]) model.metrics_names اقتباس
السؤال
عامر ابراهيم
ما وظيفة الدالة compile وماهي الوسطاء الخاصة بهذه الدالة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.