Keras:随时间分类
Keras : Classification over time
我尝试对一段时间内我的系统状态进行分类。
我有 100 个训练样本,包含超过 1218 个时间步长和 33 个输入参数。
所以我有 X_train.shape = [100, 1218, 33].
我使用深度学习库 Keras 来预测输出 Y = 0 或 1。
model = Sequential()
model.add(LSTM(4, input_shape=(1218 , 33), return_sequences=True))
model.add(TimeDistributed(Dense(1, activation = 'softmax')))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
不幸的是,我遇到以下错误,我不知道如何解决:
ValueError: Error when checking target: expected time_distributed_3 to have 3 dimensions, but got array with shape (100, 1)
有人知道如何解决这个问题吗?
此致。
您提供的模型需要一个序列的每个时间步长的目标。如果整个序列只有一个目标(并且错误消息中目标的形状表明了这一点),则需要按以下方式修改模型:将 return_sequences
设置为 false
并删除TimeDistributed
包装器:
model = Sequential()
model.add(LSTM(4, input_shape=(1218 , 33), return_sequences=False))
model.add(Dense(1, activation = 'softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
我尝试对一段时间内我的系统状态进行分类。
我有 100 个训练样本,包含超过 1218 个时间步长和 33 个输入参数。
所以我有 X_train.shape = [100, 1218, 33].
我使用深度学习库 Keras 来预测输出 Y = 0 或 1。
model = Sequential()
model.add(LSTM(4, input_shape=(1218 , 33), return_sequences=True))
model.add(TimeDistributed(Dense(1, activation = 'softmax')))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
不幸的是,我遇到以下错误,我不知道如何解决:
ValueError: Error when checking target: expected time_distributed_3 to have 3 dimensions, but got array with shape (100, 1)
有人知道如何解决这个问题吗?
此致。
您提供的模型需要一个序列的每个时间步长的目标。如果整个序列只有一个目标(并且错误消息中目标的形状表明了这一点),则需要按以下方式修改模型:将 return_sequences
设置为 false
并删除TimeDistributed
包装器:
model = Sequential()
model.add(LSTM(4, input_shape=(1218 , 33), return_sequences=False))
model.add(Dense(1, activation = 'softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])