عامر ابراهيم نشر 9 سبتمبر 2021 أرسل تقرير نشر 9 سبتمبر 2021 (معدل) كيف يمكننا تطبيق Exponential Learning Rate Decay في Keras و Tensorflow؟ تم التعديل في 9 سبتمبر 2021 بواسطة عامر ابراهيم اقتباس
1 Ali Haidar Ahmad نشر 9 سبتمبر 2021 أرسل تقرير نشر 9 سبتمبر 2021 (معدل) تقدم لك كيراس Keras و tensorflow.keras الكلاس ExponentialDecay لتطبيق تقنية Exponential Learning Rate Decay ولها الشكل التالي: tf.keras.optimizers.schedules.ExponentialDecay( initial_learning_rate, decay_steps, decay_rate, staircase=False ) حيث أن الوسيط الأول هو قيمة معدل التعلم الابتدائي، أما الوسيط الثاني فهو عدد خطوات ال decay،والوسيط الثالث هو مقدار ال decay ( معامل التغير في قيمة معدل التعلم ويفضل أن تكون قيمته 0.95 ولايجب أن تتجاوز ال 1)، الوسيط الأخير لجعل ناتج القسمة step/decaysteps قيمة صحيحة وبالتالي ستتبع تغيرات قيم معدل التعلم نهجاً سلميَاً. أما المعادلة التي يتم تطبيقها لحساب ال lr في كل epoch هي: def decayed_learning_rate(step): return initial_learning_rate * decay_rate ^ (step / decay_steps) ولاستخدامه نقوم بتعريف object من هذا الكلاس ثم تمريره إلى وسيطة learning Rate في أي Optimaizer معرف في إطار العمل. مثال(decay كل 100000 خطوة بأساس 0.96: # نحدد القيمة الأولية initial_learning_rate = 0.1 # نعرَف غرض lr_schedule = tf.keras.optimizers.schedules.ExponentialDecay( initial_learning_rate, decay_steps=100000, decay_rate=0.96, staircase=True) # نقوم بتمريره للأوبتيمايزر model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=lr_schedule), loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(data, labels, epochs=5) تم التعديل في 9 سبتمبر 2021 بواسطة Ali Haidar Ahmad 1 اقتباس
السؤال
عامر ابراهيم
كيف يمكننا تطبيق Exponential Learning Rate Decay في Keras و Tensorflow؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.