Несоответствие размера партии модели 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 дать несколько советов?
Спасибо