Как использовать кастомную модель с Tensorflow Hub?
Моя цель - протестировать алгоритм Google BERT в Google Colab.
Я хотел бы использовать предварительно обученную пользовательскую модель для финского языка (https://github.com/TurkuNLP/FinBERT). Модель не может быть найдена в библиотеке TFHub. Я не нашел способа загрузить модель с помощью Tensorflow Hub.
Есть ли удобный способ загрузить и использовать пользовательскую модель с Tensorflow Hub?
1 ответ
Принципиально: да. Каждый может создавать модели, которые размещены в TF Hub, и я надеюсь, что авторы интересных моделей это учтут.
- Для TF1 и адаптированного к нему формата hub.Module см. https://www.tensorflow.org/hub/tf1_hub_module
- Для TF2 и его пересмотренного формата SavedModel см. https://www.tensorflow.org/hub/tf2_saved_model
Тем не менее, такая сложная модель, как BERT, требует небольшого внимания, чтобы экспортировать ее со всеми наворотами, поэтому полезно иметь некоторый инструментарий, на который можно опираться. Эталонная реализация BERT для TF2 по адресу https://github.com/tensorflow/models/tree/master/official/nlp/bert поставляется со скриптом export_tfhub.py с открытым исходным кодом, и любой может использовать его для экспорта созданных пользовательских экземпляров BERT. из этой кодовой базы.
Однако из https://github.com/TurkuNLP/FinBERT/blob/master/nlpl_tutorial/training_bert.md я понимаю, что вы используете вилку Nvidia исходной реализации BERT TF1. Существуют модули Hub, созданные из исходного исследовательского кода, но инструменты для этого не были открытыми, и Nvidia, похоже, не добавила свои собственные.
Если это не изменится, вам, вероятно, придется прибегнуть к обычным действиям, познакомиться с их кодовой базой и загрузить в нее свои контрольные точки.