【发布时间】:2021-12-25 22:47:54
【问题描述】:
我目前正在开发一个涉及序列多标签分类的项目。由于我使用的是技术含量高的数据集,因此我认为在对分类部分进行微调之前对 BERT 进行额外的预训练会是有益的。但是我找不到任何指南来一起使用 Huiggingface 转换器和 Keras 来预训练模型。我的想法是在我的数据集上预训练模型,然后保存并再次加载以微调分类器。我发现的每一个都适用于 PyTorch,但我必须使用 TensorFlow。到目前为止,我已经编写了这段代码:
from transformers import TFDistilBertForMaskedLM, AutoTokenizer, AutoConfig
from sklearn.datasets import fetch_20newsgroups
categories = ['alt.atheism', 'soc.religion.christian','comp.graphics', 'sci.med']
twenty_train = fetch_20newsgroups(subset='train',categories=categories, shuffle=True, random_state=42)
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-cased")
model = TFDistilBertForMaskedLM.from_pretrained("distilbert-base-cased")
model.compile(optimizer="adam")
data = tokenizer(
twenty_train.data[:10],
return_tensors="tf",
padding=True,
truncation=True,
max_length=tokenizer.model_max_length
)
我该从哪里开始将我的数据适合 BERT?我知道我也应该为模型提供一个屏蔽输入,但我不明白在哪里/如何
【问题讨论】:
标签: python tensorflow keras deep-learning huggingface-transformers