【问题标题】:What is dense layer?什么是致密层?
【发布时间】:2019-05-06 12:32:55
【问题描述】:

我在使用 LSTM 训练我的数据集时遇到了一个问题:

 Error when checking target: expected dense_2 to have shape (, 1) but got array with shape (, 0)

在尝试之后,我将密集层单元从 1 更改为 0,它解决了我的问题。 这个密集层的工作是什么,将其更改为 0 后会发生什么?

重塑数据集

x_train = np.reshape(x_train, (x_train.shape[0],x_train.shape[1],1))

型号:

regressor = Sequential()

#1
regressor.add(LSTM(units = 50, return_sequences = True , input_shape = (x_train.shape[1],1)))
regressor.add(Dropout(0.2))
#2
regressor.add(LSTM(units = 50, return_sequences = True))
regressor.add(Dropout(0.2))
#3
regressor.add(LSTM(units = 50, return_sequences = True))
regressor.add(Dropout(0.2))
#4
regressor.add(LSTM(units = 50))
regressor.add(Dropout(0.2))

regressor.add(Dense(units = 0))

regressor.compile(optimizer = 'adam' , loss = 'mean_squared_error')

regressor.fit(x_train, y_train, epochs = 100, batch_size = 32)

我是机器学习的新手

【问题讨论】:

  • 请展示模型的其余部分,最好是代码的其余部分。
  • 您需要在第 4 个Dropout 层之后添加一个Flatten() 层。此外,带有units=0Dense 层不会处理任何数据,因为输出维度变为0。

标签: keras deep-learning lstm


【解决方案1】:

密集层是一个层,其中每个输入神经元都连接到输出神经元,就像一个简单的神经网络,参数units 只是告诉你输出的维度,

我认为您的问题来自输入数据的维度, 你能打印出你的输入数据维度吗? 应该是4D

【讨论】:

    猜你喜欢
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-06
    • 2017-07-26
    • 2010-09-23
    相关资源
    最近更新 更多