Ошибка в последнем плотном слое в lstm, который ожидает (1,), но с учетом (88,), но для моей модели мне нужно, чтобы последний слой был только 88 - PullRequest
1 голос
/ 01 февраля 2020
def create_sequences(tokenizer, max_length, desc_list, photo):
X1, X2, y = list(), list(), list()
# walk through each description for the image
for desc in desc_list:
    # encode the sequence
    seq = tokenizer.texts_to_sequences([desc])[0]
    # split one sequence into multiple X,y pairs
    for i in range(1, len(seq)):
        # split into input and output pair
        in_seq, out_seq = seq[:i], seq[i]
        # pad input sequence
        in_seq = pad_sequences([in_seq], maxlen=max_length)[0]
        # encode output sequence
        out_seq = to_categorical([out_seq], num_classes=vocab_size)[0]
        # store
        X1.append(photo)
        X2.append(in_seq)
        y.append(out_seq)
return array(X1), array(X2), array(y)

def data_generator (описания, фотографии, токенизатор, max_length):

l oop для вечных изображений

while 1:
    for key, desc_list in descriptions.items():
        # retrieve the photo feature
        photo = photos[key][0]
        in_img, in_seq, out_word = create_sequences(tokenizer, max_length, desc_list, photo)
        yield [[in_img, in_seq], out_word]

для i в диапазоне (эпох):

generator = data_generator(train_descriptions, train_features, tokenizer, max_length)

model.fit_generator (генератор, эпох = 1, steps_per_epoch = шагов, многословный = 1) model.save ("models / model_" + str (i) + ".h5")

Ошибка: ValueError: Ошибка при проверке цели: ожидается, что dens_20 будет иметь форму (1,), но получил массив с формой (88,)

...