我正在尝试在预训练的 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 中模型的第一层。