عامر ابراهيم نشر 7 سبتمبر 2021 أرسل تقرير مشاركة نشر 7 سبتمبر 2021 لدي نموذج مدرب مسبقاً وأحاول تعديله لاستخدامه في مهمة أخرى (نقل تعلم Transfer Learning). و الآن أحاول تسريع التدريب للطبقات الجديدة التي أضفتها للنموذج والحفاظ على الطبقات المدربة عند معدل تعلم منخفض. كيف يمكننا القيام بذلك؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
2 Ali Haidar Ahmad نشر 7 سبتمبر 2021 أرسل تقرير مشاركة نشر 7 سبتمبر 2021 يمكن تحقيق ذلك عن طريق إنشاء محسِّنَيْن "GradientDescentOptimizer". لنفرض أن لديك شبكة مسبقة التدريب من 5 طبقات ونريد ضبط معدل التعلم لأول لهم على 0.00001 ونريد طبقة إضافية بمعدل 0.0001 . في هذه الحالة يمكنك استخدام tf.trainable_variables للحصول على جميع متغيرات التدريب وتقرر الاختيار من بينها. كالتالي: var_list1 = [variables from first 5 layers] var_list2 = [the rest of variables] opt1 = tf.train.GradientDescentOptimizer(0.00001) opt2 = tf.train.GradientDescentOptimizer(0.0001) grads = tf.gradients(loss, var_list1 + var_list2) grads1 = grads[:len(var_list1)] grads2 = grads[len(var_list1):] tran_op1 = opt1.apply_gradients(zip(grads1, var_list1)) train_op2 = opt2.apply_gradients(zip(grads2, var_list2)) train_op = tf.group(train_op1, train_op2) 2 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
عامر ابراهيم
لدي نموذج مدرب مسبقاً وأحاول تعديله لاستخدامه في مهمة أخرى (نقل تعلم Transfer Learning). و الآن أحاول تسريع التدريب للطبقات الجديدة التي أضفتها للنموذج والحفاظ على الطبقات المدربة عند معدل تعلم منخفض. كيف يمكننا القيام بذلك؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.