下载SmolLM2模型并进行推理的简单示例

代码说明

kaggle平台上下载huggingface平台上的HuggingFaceTB/SmolLM2-1.7B-Instruct模型,并使用kaggle平台提供的免费gpu资源进行推理的简单示例。
在这里插入图片描述

源代码

from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "HuggingFaceTB/SmolLM2-1.7B-Instruct"

device = "cuda" # for GPU usage or "cpu" for CPU usage
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
# for multiple GPUs install accelerate and do `model = AutoModelForCausalLM.from_pretrained(checkpoint, device_map="auto")`
model = AutoModelForCausalLM.from_pretrained(checkpoint).to(device)

messages = [{"role": "user", "content": "What is the capital of France."}]
input_text=tokenizer.apply_chat_template(messages, tokenize=False)
inputs = tokenizer.encode(input_text, return_tensors="pt").to(device)
outputs = model.generate(inputs, max_new_tokens=50, temperature=0.2, top_p=0.9, do_sample=True)
print(tokenizer.decode(outputs[0]))

在这里插入图片描述

当然有!Hugging Face 提供了非常丰富的官方文档和代码示例,帮助开发者快速上手使用其提供的预训练模型进行推理或微调。以下是有关如何使用 Hugging Face 预训练模型进行推理的一个简单介绍及示例。 ### 使用已有的模型进行推理的步骤 1. **安装 Transformers 库** 确保已经安装了最新的 `transformers` 和其他依赖库: ```bash pip install transformers torch ``` 2. **加载预训练模型和分词器** 可以通过简单的几行代码从 Hugging Face Model Hub 加载任意支持的任务模型及其对应的分词器。 3. **准备输入数据** 根据任务需求对文本数据进行必要的处理,例如编码、截断等操作。 4. **执行推理解码** 利用模型直接预测输出内容,最后将结果转换为人可读的形式返回给用户查看。 下面给出一段完整的 Python 示例代码用于展示基于 BERT 的句子分类任务推理过程: ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification import torch # 定义要测试的句子 sentence = "I love programming!" # 初始化自动化的tokenizer与model实例化对象 tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english") # 替换为你感兴趣的模型名称 model = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english") # 对输入文本做tokenization变换 inputs = tokenizer(sentence, return_tensors="pt", truncation=True, max_length=512) # 获取logits作为原始评分向量 with torch.no_grad(): logits = model(**inputs).logits predicted_class_id = logits.argmax().item() print(f"Predicted Class ID: {predicted_class_id}") labels = ["NEGATIVE", "POSITIVE"] # SST-2 数据集标签含义映射表 result_label = labels[predicted_class_id] confidence_score = torch.softmax(logits, dim=-1)[0][predicted_class_id].numpy() output_message = f"Sentence sentiment analysis result:\nLabel={result_label}, Confidence Score={round(confidence_score * 100, 2)}%" print(output_message) ``` 运行上述脚本即可完成单条英文语句的情感分析工作流演示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值