Как добавить больше слоев в модель ALBERT с предварительной подготовкой Huggingface? - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь добавить слой после предварительно подготовленной модели ALBERT. Я хочу использовать предварительно подготовленную модель ALBERT для генерации токенов.

import tensorflow as tf
from transformers import AlbertTokenizer, TFAlbertForMaskedLM


tokenizer = AlbertTokenizer.from_pretrained('albert-base-v2')
model = TFAlbertForMaskedLM.from_pretrained('albert-base-v2')
input_ids = tf.constant(tokenizer.encode("This is a test! Nice to meet you![MASK]love you"))[
    None, :]  # Batch size 1
print(input_ids)
outputs = model(input_ids)
prediction_scores = outputs[0]
outputTokens = tf.math.argmax(prediction_scores, axis=2)
outputTokens = tf.keras.backend.eval(outputTokens[0])
outputTokens = tokenizer.decode(outputTokens)
print(outputTokens)

tokenModel = tf.keras.Sequential([
    tf.keras.layers.Dense(128,input_shape=input_ids.shape),
    model(),
    tf.keras.layers.Softmax()
])
tokenModel.summary()

Какие выходы:

/test.py", line 19, in <module>
    model(),
TypeError: __call__() missing 1 required positional argument: 'inputs'

Какой должна быть модель? Я не могу добавить модель ALBERT в качестве первого слоя модели в TensorFlow.

...