训练后的损失和准确性保持不变

时间:2020-05-19 19:27:53

标签: python-3.x tensorflow keras deep-learning lstm

我有一个lstm模型,用于使用来自传感器的数据进行人类活动识别任务。

当我训练模型时,损失和准确性保持不变。一般情况下,这是什么问题?

我尝试更改学习率,但结果相同,

下面是我使用的模型

model = Sequential()
model.add(LSTM(64, return_sequences=True, recurrent_regularizer=l2(0.0015), input_shape=(timestamps, 
input_dim)))
model.add(Dropout(0.5))
model.add(LSTM(64, recurrent_regularizer=l2(0.0015), input_shape=(timesteps,input_dim)))


model.add(Dense(64, activation='relu'))
model.add(Dense(64, activation='relu'))

model.add(Dense(n_classes, activation='softmax'))
model.summary()

model.compile(optimizer=Adam(learning_rate = 0.0025), loss = 
'sparse_categorical_crossentropy', 
metrics = ['accuracy'])

history =model.fit(X_train, y_train, batch_size=32, epochs=100)

数据集在各个类之间是平衡的,我使用了标准的缩放器

lying           68704
running         68704
walking         68704
climbingdown    68704
jumping         68704
climbingup      68704
standing        68704
sitting         68704

1 个答案:

答案 0 :(得分:0)

删除l2正则化后,我找到了解决方案。我不知道具体如何工作,但我将对此问题进行更多调查