Как правильно подобрать керас плотного выходного слоя - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь запустить RNN в keras, используя данные из midi-файлов для генерации музыки, но у меня возникла проблема на последнем слое модели, в которой возникает ошибка: «Ошибка при проверке цели: ожидается плотность_26 доиметь форму (1,), но получил массив с формой (110539,) ".Почему сеть ожидает выходной слой 1 размера, когда мои метки имеют размер (110539) и какого размера должен быть плотный слой?Мой код ниже:

input_data=[np.random.randint(0,110539) for i in range(32427)]
input_temp =[]
output_temp = []
for i in range(0,len(input_data)-seq_length,1):
    input_temp.append(input_data[i:i+seq_length])
    output_temp.append(input_data[i+seq_length])

sequences = len(output_temp)

x = np.reshape(input_temp,(sequences,seq_length,1))
x = x/classes
y = keras.utils.to_categorical(output_temp)
classes = y[0].shape[0]

model = Sequential()
model.add(CuDNNLSTM(512,input_shape=(seq_length,1),return_sequences=True))
model.add(Dropout(0.2))
model.add(CuDNNLSTM(512))
model.add(Dropout(0.2))
model.add(Dense(256,activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(classes,activation='softmax'))
opt = keras.optimizers.Adam(lr=1e-3,decay=1e-5)
model.compile(loss='sparse_categorical_crossentropy',optimizer=opt)
model.fit(x,y,epochs=3)

Когда я печатаю x.shape, я получаю (32327, 100, 1), а размеры у равны (32327, классы).Спасибо за любую помощь

редактировать: вывод model.summary ()

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
cu_dnnlstm_1 (CuDNNLSTM)     (None, 100, 512)          1054720   
_________________________________________________________________
dropout_1 (Dropout)          (None, 100, 512)          0         
_________________________________________________________________
cu_dnnlstm_2 (CuDNNLSTM)     (None, 512)               2101248   
_________________________________________________________________
dropout_2 (Dropout)          (None, 512)               0         
_________________________________________________________________
dense_1 (Dense)              (None, 256)               131328    
_________________________________________________________________
dropout_3 (Dropout)          (None, 256)               0         
_________________________________________________________________
dense_2 (Dense)              (None, 110539)            28408523  
=================================================================
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...