اذهب إلى المحتوى
  • 0

ظهور الخطأ Out Of Memory (OOM) error في Keras عندما استخدم طبقة التضمين Embedding

Meezo ML

السؤال

Recommended Posts

  • 2

بشكل افتراضي وتلقائي، يتم تشغيل طبقة التضمين على ال GPU في حال كانت متوفرة، من أجل الحصول على أفضل أداء، هذا يعني أن مصفوفة التضمين "embedding matrix"ستم وضعها في ال GPU وهنا قد تنتج المشكلة في حال كانت مصفوفة التضمين ضخمة وبالتالي لايمكن عمل fitting لها في ال GPU فيظهر هذا الخطأ، ولحل هذه المشكلة يجب أن تقوم بوضعها في ال "CPU memory" ويمكنك القيام بذلك بالشكل التالي:

with tf.device('cpu:0'):
  embedding_layer = Embedding(...)
  embedding_layer.build()

ثم بعد ذلك يمكنك أن تضيفها إلى نموذجك بالشكل التالي:

model.add(embedding_layer)

# Wherever_there_is_artificial_intelligence,_there is me

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

لتتمكن من تفادي هذا الخطأ يمكنك التأكد من الاتي:

  1. قم بإستخدام text_to_word_sequence لتحويل النصوص إلى أرقام مقابلة للكلمات،
  2. إستخدم pad_sequences لجعل أرقام الكلمات متناسبة الطول،
  3. الان يمكنك إستخدام embedding layer
  4. والان يمكنك تدريب النموذج بالكلمات المحولة لمتجهات،
  5. إذا كنت تستخدم LSTM يمكنك إستخدام GRU بدلاً منه لأنه نموذج أبسط،

- إذا لم تزل المشكلة قائمة، يمكنك تحويل الأرقام إلى قيم أقل مساحة بإستخدام tf.keras.backend.set_floatx('float16') بذلك تتحول كل القيم من float64 إلى حجم أصغر float16.

- يمكنك أيضاً تقليص حجم العقد في الطبقات الأخيرة من النموذج، ذلك بإضافة dense layer لها عدد عقد أقل.

- يمكنك التأكد من حجم المتغير maxlen في pad_sequences، يمكنك مراجعة أطول نص في مجموعة البيانات و بذلك تحدد قيمة ملء العينات الناقصة فقط للحد الأقصى لعدد الكلمات في نص وليس بإستخدام رقم كبير غير مبرر.

- يمكنك أيضاً زيادة batch_size للإكثار من حجم العينات المأخوذة في مرة التدريب الواحدة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...