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

السؤال

نشر (معدل)

قمت ببناء نموذج Baseline لتصنيف الأصوات، الداتاسيت التي أعمل عليها هي مجموعة بيانات صوتية، أبعادها (400,50,95)

# النموذج
model = Sequential()
model.add(LSTM(64, input_shape = (50,95,1), return_sequences=True))
model.add(LSTM(32,activation='relu'))
model.add(Dense(4, activation='softmax'))
model.compile(optimizer='rmsprop',loss='categorical_crossentropy', metrics=["acc"])
model.summary()
model.fit(X_train, y_train, batch_size=64, nb_epoch=20, validation_data=(X_test, y_test))

لكن يظهر لي الخطأ: 

ValueError: Shapes (None, 1) and (None, 4) are incompatible

 

تم التعديل في بواسطة Meezo ML

Recommended Posts

  • 3
نشر

بما أنه لديك 3 أصناف فيجب أن تقوم بتحويل ال y_train و y_test إلى الترميز الفئوي أي One-Hot أي:

from keras.utils import to_categorical
y_test = to_categorical(y_test, 4)
y_train = to_categorical(y_train, 4)

وأيضاً يجب أن تتحقق من أبعاد المدخلات لديك في طبقة LSTM حيث أن الدخل المتوقع لهذه الطبقة يجب أن يكون:

(batch_size, timesteps, input_dim) # 3D tensor

 

  • 1
نشر

هو نفس فكرة الخطأ الذي قمت بشرحه هنا وهو يعني عدم تطابق البيانات المدخلة للنموذج مع القيم المتوقعة، في كل عمليات التصنيف يجب تحويل قيم y إلى الترميز المناسب لها حسب دالة حساب الخطأ loss function والتي تقوم بحساب التطابق بين البيانات الحقيقية و المتوقعة من النموذج.

يمكنك ترميز البيانات بإستخدام one hot encoding بإستخدام الدالة to_categorical والتي تحول البيانات من بعد واحد لبعدين، مثلا [0,1] تتحول إلى [[1,0],[0,1]] لاحظ أن الأن أصبح لدينا عمودين. في هذه الحالة سيتم إستخدام categorical_crossentropy كدالة لحساب الخسارة loss function و تحديد نفس عدد الأعمدة في أخر طبقة في النموذج.

يمكنك تحويل قيم y قبل التقسيم أو بعده كما ذكر @Ali Haidar Ahmad.

y = to_categorical(y)

و إما إن كانت قيم الy أصلا مقسمة إلى قيم رقمية صحيحة مثلا الارقام من 0 إلى 9 يمكننا إستخدام sparse_categorical_crossentropy.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...