小编tie*_*stu的帖子

LSTM 和 CNN:ValueError:检查目标时出错:预期 time_distributed_1 有 3 个维度,但得到了形状为 (400, 256) 的数组

我想申请CNNLSTM在我的数据上,我只选择了一小部分数据;我的训练数据的大小是(400,50),我的测试数据是(200,50)。只有 CNN 模型,它工作没有任何错误,我在添加 LSTM 模型时有很多错误:

model = Sequential()
model.add(Conv1D(filters=8,
                 kernel_size=16,
                 padding='valid',
                 activation='relu',
                 strides=1, input_shape=(50,1)))
model.add(MaxPooling1D(pool_size=2,strides=None, padding='valid', input_shape=(50,1))) # strides=None means strides=pool_size
model.add(Conv1D(filters=8,
                 kernel_size=8,
                 padding='valid',
                 activation='relu',
                 strides=1))
model.add(MaxPooling1D(pool_size=2,strides=None, padding='valid',input_shape=(50,1)))
model.add(LSTM(32, return_sequences=True,
              activation='tanh', recurrent_activation='hard_sigmoid',
              dropout=0.2,recurrent_dropout=0.2)) # 100 num of LSTM units
model.add(LSTM(32, return_sequences=True,
              activation='tanh', recurrent_activation='hard_sigmoid',
              dropout=0.2,recurrent_dropout=0.2))
model.add(LSTM(32, return_sequences=True,
              activation='tanh', recurrent_activation='hard_sigmoid',
              dropout=0.2,recurrent_dropout=0.2))
model.add(LSTM(32, return_sequences=True,
              activation='tanh', recurrent_activation='hard_sigmoid',
              dropout=0.2,recurrent_dropout=0.2))
model.add(LSTM(32, return_sequences=True,
              activation='tanh', recurrent_activation='hard_sigmoid',
              dropout=0.2,recurrent_dropout=0.2))
model.add(TimeDistributed(Dense(256, activation='softmax')))

# # # 4. Compile model
print('########################### Compilation of the model …
Run Code Online (Sandbox Code Playgroud)

python deep-learning keras

3
推荐指数
1
解决办法
2218
查看次数

标签 统计

deep-learning ×1

keras ×1

python ×1