Код: Выделить всё
from transformers import TFAutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased")
model = TFAutoModelForSequenceClassification.from_pretrained(
"distilbert-base-uncased", num_labels=2, id2label=id2label, label2id=label2id
)
# add another layer
tf_train = model.prepare_tf_dataset(question_train_test_split['train'], batch_size=16, shuffle=True, tokenizer=tokenizer)
model.compile(optimizer=tf.keras.optimizers.Adam(2e-5))
# freeze the first transformer layer of model
model.layers[0].trainable=False
print('Model Architecture:')
print(model.summary())
model.fit(tf_train, epochs=3)
Однако у меня возникают проблемы, когда я хочу выполнить прогнозы. Я понимаю, что мне нужно токенизировать свой ввод строк, однако я хотел бы загрузить токенизатор как слой tf.keras . Я везде искал способ сделать это, и я не смог найти каким -либо образом.user_input = 'When were the Beatles formed?'
model_input = tokenizer(user_input) # THIS HF TOKENIZER SHOULD BE A tf.keras LAYER
model = model(model_input)
< /code>
Это так, что я могу сохранить всю модель (с токенизатором и слоями трансформатора + слои классификатора) в SaveDmodel TensorFlow. Если есть какие -то указатели, чтобы преобразовать токенизатор HuggingFace в слое кераса TensorFlow, я был бы признателен за указатель.
Подробнее здесь: https://stackoverflow.com/questions/776 ... eras-layer