【发布时间】:2018-05-11 14:38:22
【问题描述】:
我正在使用 LSTM 网络来检测道路上的坑。我有一个数据集,其中包含汽车每个车轮的轮速。当出现坑时,接下来的 40 个标签为“1”。所有其他标签均为“0”。这是我的模型:
model = Sequential()
model.add(LSTM(64,input_shape=(len(X_train[0]),1),return_sequences=True))
model.add(Dropout(0.5))
model.add(Activation('relu'))
model.add(BatchNormalization())
model.add(LSTM(64,input_shape=(len(X_train[0]),1),return_sequences=True))
model.add(Dropout(0.5))
model.add(Activation('relu'))
model.add(BatchNormalization())
model.add(TimeDistributed(Dense(1)))
model.add(Activation('sigmoid'))
由此我得到了一些非常好的预测: Top: predicted, bottom: labels 现在我想计算发现序列的长度,也就是坑本身。这就是我挣扎的地方。我正在考虑使用某种窗口。窗外的一切都设置为 0,里面的一切都保持原样。这个解决方案的问题是我的预测是错误的。因为我更改了数据,所以即使没有坑,网络似乎也找到了坑。有谁知道我如何以不同的方式找到坑的长度?
【问题讨论】:
标签: keras sequence lstm pattern-recognition