قمت ببناء النموذج التالي في كيراس، في القسم 1 يتم تدريب الشبكة على جميع العينات في كل epoch وإعادة تعيين الحالة "reset the state" في الشبكة في نهاية كل epoch يدوياً.
#sequence إنشاء تسلسل
length =10
s=[i/float(length)for i in range(length)]# إنشاء أزواج x/y
df =DataFrame(s)
df = concat([df, df.shift(1)], axis=1)
df.dropna(inplace=True)
val = df.values
data = val[:,0]
label=val[:,1]
data = data.reshape(len(data),1,1)# القسم 0
n_batch = len(data)
n_epoch =800
n_neurons =12
model =Sequential()
model.add(LSTM(n_neurons, batch_input_shape=(n_batch, data.shape[1], data.shape[2]), stateful=True))
model.add(Dense(1))
model.compile(loss='mse', optimizer='rmsprop')# القسم 1for i in range(n_epoch):
model.fit(data, label, epochs=1, batch_size=n_batch, verbose=1, shuffle=False)
model.reset_states()# القسم 2for i in range(len(data)):
testX, testy = data[i], label[i]
testX = testX.reshape(1,1,1)
yhat = model.predict(testX, batch_size=1)print('>Expected=%.1f, Predicted=%.1f'%(testy, yhat))
لكن ينتج لدي الخطأ التالي في القسم 2: 'ValueError: Cannot feed value of shape (1, 1, 1) for Tensor 'lstm_1_input:0', which has shape '(9, 1, 1)
علماً أن حجم ال batch_size كما تلاحظون يغطي مجموعة بيانات التدريب بالكامل (batch learning) وسيتم تنفيذ التنبؤات واحدة تلو الأخرى (التنبؤ بخطوة واحدة)
السؤال
Meezo ML
قمت ببناء النموذج التالي في كيراس، في القسم 1 يتم تدريب الشبكة على جميع العينات في كل epoch وإعادة تعيين الحالة "reset the state" في الشبكة في نهاية كل epoch يدوياً.
لكن ينتج لدي الخطأ التالي في القسم 2: 'ValueError: Cannot feed value of shape (1, 1, 1) for Tensor 'lstm_1_input:0', which has shape '(9, 1, 1)
تم التعديل في بواسطة Meezo MLعلماً أن حجم ال batch_size كما تلاحظون يغطي مجموعة بيانات التدريب بالكامل (batch learning) وسيتم تنفيذ التنبؤات واحدة تلو الأخرى (التنبؤ بخطوة واحدة)
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.