Модель, сохраненная после тренировки с использованием Keras fit_generator, не дает правильных прогнозов - PullRequest
0 голосов
/ 01 мая 2019

Я использую fit_generator для обучения модели перевода. Код генератора добавлен ниже.

класс My_Generator (последовательность):

def __init__(self, X_data, Y_data, batch_size):
    self.X_data, self.Y_data = X_data, Y_data
    #print(X_data)
    self.batch_size = batch_size

def __len__(self):
    print(int(ceil(len(self.X_data) / float(self.batch_size))))
    return int(ceil(len(self.X_data) / float(self.batch_size)))

def __getitem__(self, idx):
    #print('hey')
    batch_x = self.X_data[idx * self.batch_size:(idx + 1) * self.batch_size]
    batch_y = self.Y_data[idx * self.batch_size:(idx + 1) * self.batch_size]
    hindi_data= encode_sequences(hin_tokenizer,batch_x,hin_max_len_sent)
    eng_data = encode_sequences(eng_tokenizer,batch_y,eng_max_len_sent)
    output = encode_output(eng_data,eng_vocab_size)

    return array(hindi_data),array(output)

Я тренировался в течение 30 эпох, которые дали val_loss: 0.5665 и val_acc: 0.9268.

Код прогноза:

  def predict_sequence(model, tokenizer, source):
     prediction = model.predict(source, verbose=0)[0]
     integers = [argmax(vector) for vector in prediction]
     target = list()
     for i in integers:
        word = word_for_id(i, tokenizer)
     print('target ' ,word)
     if word is None:
        break
     target.append(word)
     return ' '.join(target)

Сохраненная модель не дает правильных прогнозов для целевого языка. Я получаю блю 0. Я также пытался использовать predict_generator. Но это тоже не похоже на работу. Любая помощь по этому вопросу приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...