什么是致密层?

时间:2019-05-06 12:32:55

标签: keras deep-learning lstm

使用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)

我是机器学习的新手

1 个答案:

答案 0 :(得分:0)

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

我认为您的问题出在输入数据的维度上, 您可以打印输入数据的维度, 应该是 4D