Hugging Face Transformers:不同任务的示例代码
2023.11.29 10:25浏览量:8简介:随着自然语言处理(NLP)领域的飞速发展,Hugging Face Transformers库已成为一个广受欢迎的工具,它提供了许多预训练模型和API,使得处理NLP任务变得更为简单和高效。本文将通过示例代码展示如何使用Hugging Face Transformers库处理不同的任务,并展示如何使用大预言模型。
随着自然语言处理(NLP)领域的飞速发展,Hugging Face Transformers库已成为一个广受欢迎的工具,它提供了许多预训练模型和API,使得处理NLP任务变得更为简单和高效。本文将通过示例代码展示如何使用Hugging Face Transformers库处理不同的任务,并展示如何使用大预言模型。
一、不同任务的示例代码
- 文本分类
文本分类是NLP中最常见的任务之一,我们可以用Transformers库中的Bert模型来进行分类。以下是一个简单的文本分类示例:from transformers import BertTokenizer, BertForSequenceClassificationimport torchtokenizer = BertTokenizer.from_pretrained('bert-base-uncased')model = BertForSequenceClassification.from_pretrained('bert-base-uncased')text = "This is a positive review"inputs = tokenizer(text, return_tensors='pt')outputs = model(**inputs)logits = outputs.logits
- 命名实体识别
命名实体识别(NER)是另一个常见的NLP任务,我们可以使用Transformers库中的BertForTokenClassification模型来进行识别。以下是一个简单的NER示例:from transformers import BertTokenizer, BertForTokenClassificationimport torchtokenizer = BertTokenizer.from_pretrained('bert-base-uncased')model = BertForTokenClassification.from_pretrained('bert-base-uncased')text = "Steve Jobs founded Apple in 1976"inputs = tokenizer(text, return_tensors='pt')inputs["labels"] = torch.tensor([1] * inputs["input_ids"].size(1)).unsqueeze(0) # Use class 1 for each token (background)outputs = model(**inputs)logits = outputs.logits
- 文本生成
使用Transformers库,我们还可以进行文本生成任务。以下是一个简单的文本生成示例:from transformers import T5Tokenizer, T5ForConditionalGenerationimport torchtokenizer = T5Tokenizer.from_pretrained('t5-small')model = T5ForConditionalGeneration.from_pretrained('t5-small')inputs = tokenizer("The quick brown fox jumps over the lazy dog", return_tensors='pt')outputs = model(**inputs)logits = outputs.logits[:, -1] # 生成下一个单词的概率分布(去掉生成结束符的概率)

发表评论
登录后可评论,请前往 登录 或 注册