Что такое плотный слой? - PullRequest
0 голосов
/ 06 мая 2019

У меня была проблема при обучении моего набора данных с 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)

I 'м совершенно новый для машинного обучения

1 Ответ

0 голосов
/ 06 мая 2019

Плотный слой - это слой, в котором каждый входной нейрон подключен к выходному нейрону , подобно простой нейронной сети, параметры единиц просто сообщают Вы размерность вашего вывода,

Я думаю, что ваша проблема связана с размером входных данных, Можете ли вы распечатать ваше измерение входных данных, это должно быть 4D

...