Я пытаюсь сравнить время работы той же модели, реализованной в нативном тензорном потоке, с нетерпением выполнения и с tf.keras. Эта модель предназначена для ответа на вопрос, и я проверил две альтернативы - предоставив только предложение, содержащее ответ, и предоставив весь контекст.
Результаты обучения более 200 эпох довольно странные, и я не знаю, как их интерпретировать.
- Дело о сохранении всех предложений:
- tf: 704,18 с
- tf.keras: 1235,81 с
- нетерпеливо: 17057,66 с
- Случай одного предложения:
- tf: 94,56 с
- tf.keras: 36,48 с
- рвется: 252,08 с
Обычно из чисел можно сказать, что TF pure быстрее, чем tf.keras, когда размер набора данных увеличивается, но tf.keras был быстрее для небольшого ввода данных. Но почему это так? И я не могу объяснить, почему рвение так медленное ... Я знаю, что он не создает потоковые графы в фоновом режиме и, следовательно, никаких оптимизаций не происходит, но разница слишком велика.
Вы можете найти мои реализации здесь: https://github.com/simonada/q-and-a-tensorflow. Мне было бы действительно интересно обсудить, имеет ли смысл этот эталонный тест, и как сделать его более последовательным.