Мой сценарий тестирования:
texts = [
'neural network',
'this',
'it is very',
]
for text in texts:
print('%s... -> %s' % (text, generate_next(text, num_generated=5)))
Выход:
neural network... -> neural network that making isometry adopted riskaverting
this... -> this dropout formalize locally secondly spectrogram
it is very... -> it is very achievable machinery our past possibly
Вы можете видеть, что длина вывода равна num_generated плюс длина входа.
Полагаю, вы ожидаете, что все выходные данные будут иметь длину num_generated
.Но это не так, как работает generate_next
.Эта функция фактически генерирует num_generated
слов и добавляет их к исходному вводу.
Если вы хотите получить вывод фиксированной длины, попробуйте:
generate_next(text, num_generated=5-len(text.split()))