huggingface模型
时间: 2024-12-28 21:20:46 浏览: 13
### Hugging Face 模型使用指南
#### 获取并加载预训练模型
Hugging Face 提供了一个丰富的库来获取和使用各种预训练的语言模型和其他类型的神经网络模型。通过 `transformers` 库可以轻松访问这些资源[^1]。
```python
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model_name = "distilbert-base-uncased-finetuned-sst-2-english"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
```
这段代码展示了如何利用特定名称从远程服务器下载一个微调过的 DistilBERT 模型及其对应的分词器用于情感分析任务。
#### 对输入文本进行编码
一旦获得了所需的模型实例之后,下一步是对待处理的数据执行必要的转换操作以便于喂给模型。这通常涉及到将原始字符串形式的自然语言转化为张量表示的形式:
```python
text = ["I love programming!", "This is so boring."]
inputs = tokenizer(text, padding=True, truncation=True, return_tensors="pt")
print(inputs)
```
这里定义了一组测试短语并通过上述初始化好的 tokenzier 进行编码;设置参数使得每条记录长度一致(填充至最长序列),并且当超过最大允许长度时自动截断多余部分。
#### 执行推理预测
完成前两步准备工作以后就可以正式调用模型来进行推论了。对于分类问题来说,最终输出的结果往往是一个概率分布向量,指示各个类别发生的可能性大小:
```python
outputs = model(**inputs)
logits = outputs.logits
import torch.nn.functional as F
probabilities = F.softmax(logits, dim=-1).tolist()
for i, prob in enumerate(probabilities):
print(f"Sentence {i}: Positive sentiment probability={prob[1]} Negative sentiment probability={prob[0]}")
```
此段脚本实现了基于之前准备的工作对两条评论的情感倾向做出判断,并打印出正面情绪与负面情绪各自所占的比例。
阅读全文