Несоответствие размера партии модели tenor2tensor и модели трансформатора

Я попытался реализовать настроенный файл модели LSTM tenor2tensor на основе модели. Однако я обнаружил, что размер пакета модели lstm не соответствует hparams.batch_size, я использую задачу машинного перевода (translate_ende_wmt32k). в функции тела, inputs=features["inputs"] является 4-диммерным тензором и преобразовывается в 3-диммерный тензор с помощью следующего кода:

inputs = common_layers.flatten4d3d(inputs)

как сказал тензор2тенор, входы должны иметь размер [batch_size x max_time x size], тем не менее, мой код продолжает жаловаться на ошибку, и я провел небольшое тестирование, я изменяю приведенный выше код на (я установил hparams.batch_size как 512):

test = tf.ones([hparams.batch_size, tf.shape(inputs)[1], tf.shape(inputs)[2], 1])
inputs = test*inputs

Затем, когда я его запустил, после начала сеанса я увидел ошибку:

InvalidArgumentError (см. Выше для отслеживания): несовместимые формы: [512,57,1,1] против [6,57,1,128]

оказывается inputs batch_size - 6. Я обнаружил, что и у трансформатора, и у модели lstm есть такие проблемы, другие модели я еще не тестировал. Может ли кто-нибудь из сообщества tenor2tensor дать несколько советов?

Спасибо

0 ответов

Другие вопросы по тегам