Экономия тензорного кодера, декодера и внимания
Начните обучение с простого NMT (нейронного машинного переводчика) с вниманием, используя кодировщик и декодер, Обучение проходило на Colab,
encoder = Encoder(vocab_inp_size, embedding_dim, units, BATCH_SIZE)
decoder = Decoder(vocab_tar_size, embedding_dim, units, BATCH_SIZE)
Затем используйте контрольные точки, чтобы сохранить модель,
# On loacl machine dir changed to 'training_checkpoints/' to fit the loaction
checkpoint_dir = './training_checkpoints'
checkpoint_prefix = os.path.join(checkpoint_dir, "ckpt")
checkpoint = tf.train.Checkpoint(optimizer=optimizer,
encoder=encoder,
decoder=decoder)
И сохранить во время отслеживания с помощью
checkpoint.save(file_prefix = checkpoint_prefix)
После обучения восстановление контрольных точек работает нормально на Colab, и даже если сохранить всю папку контрольных точек на диске Google и восстановить их снова, но при попытке восстановить их на моем локальном компьютере будут получены разные результаты и получить мусор, запустите контрольную точку перед тренировкой, используя
checkpoint.restore(tf.train.latest_checkpoint(checkpoint_dir))
Выход ноутбука Colab:
Input: <start> يلعبون الكرة <end>
Predicted translation: he played soccer . <end>
Выход локальной машины:
Input: <start> يلعبون الكرة <end>
Predicted translation: take either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either either
Версия Colab Tenorflow: 1.13.0-RC1
Версия tenorflow локальной машины: 1.12.0
Как сохранить модель, не сталкиваясь с этой проблемой, зная, что эта проблема связана с различными версиями tenorflow?
Дополнительная ссылка для ноутбука NMT Neural Machine Translation с вниманием
1 ответ
TF гарантирует только прямую совместимость: https://www.tensorflow.org/guide/version_compat Не удивительно, что 1.13 сохраняет файл, который 1.12 не может восстановить. Обновите тензор потока на вашей локальной машине?