Библиотека Hugging Face Transformers предоставляет удобный способ конвертации моделей между фреймворками PyTorch и TensorFlow. В приведённом примере показано, как преобразовать русскоязычную BERT-модель DeepPavlov/rubert-base-cased
из PyTorch в TensorFlow формат.
Процесс включает три основных этапа: загрузку оригинальной модели, сохранение её весов во временную директорию и последующую загрузку этих весов в TensorFlow-версию модели с параметром from_pt=True
.
После успешной конвертации модель сохраняется в новую директорию для дальнейшего использования в TensorFlow-экосистеме. Этот подход работает для большинства моделей из библиотеки Transformers и особенно полезен при необходимости интеграции PyTorch-моделей в TensorFlow-проекты.
from transformers import AutoModel, TFBertModel
# Загружаем PyTorch-модель
pt_model = AutoModel.from_pretrained("DeepPavlov/rubert-base-cased")
# 2. Сохраняем временные веса
pt_model.save_pretrained("./temp_pt")
# 3. Загружаем как TF-модель
tf_model = TFBertModel.from_pretrained("./temp_pt", from_pt=True)
# 4. Сохраняем TF-версию
tf_model.save_pretrained("./rubert_tf")