当前位置: 首页 > news >正文

python使用transformer库推理

代码

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer# 1. load model
model_path = "/ssd3/models/Qwen2.5-0.5B-Instruct/"model = AutoModelForCausalLM.from_pretrained(model_path,device_map='cuda',torch_dtype=torch.float16,
)# 2. init tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_path)
# Need to set the padding token to the eos token for generation
tokenizer.pad_token = tokenizer.eos_tokenprompts = ["你是谁",
]for prompt in prompts:messages = [{"role": "user", "content": prompt},]batch = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)# 3. tokenizemodel_inputs = tokenizer([batch], return_tensors="pt").to('cuda')# model_inputs = tokenizer([prompt], padding=True, truncation=True, return_tensors="pt").to('cuda')# 4. infergenerated_ids = model.generate(**model_inputs, max_new_tokens=16)generated_ids = [output_ids[len(input_ids) :]for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]# 5. detokenizeresponse = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)print(response)

debug信息

# debug model: 
Qwen2ForCausalLM((model): Qwen2Model((embed_tokens): Embedding(151936, 896)(layers): ModuleList((0-23): 24 x Qwen2DecoderLayer((self_attn): Qwen2Attention((q_proj): Linear(in_features=896, out_features=896, bias=True)(k_proj): Linear(in_features=896, out_features=128, bias=True)(v_proj): Linear(in_features=896, out_features=128, bias=True)(o_proj): Linear(in_features=896, out_features=896, bias=False))(mlp): Qwen2MLP((gate_proj): Linear(in_features=896, out_features=4864, bias=False)(up_proj): Linear(in_features=896, out_features=4864, bias=False)(down_proj): Linear(in_features=4864, out_features=896, bias=False)(act_fn): SiLU())(input_layernorm): Qwen2RMSNorm((896,), eps=1e-06)(post_attention_layernorm): Qwen2RMSNorm((896,), eps=1e-06)))(norm): Qwen2RMSNorm((896,), eps=1e-06)(rotary_emb): Qwen2RotaryEmbedding())(lm_head): Linear(in_features=896, out_features=151936, bias=False)
)# debug batch: 
<|im_start|>system
You are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>
<|im_start|>user
你是谁<|im_end|>
<|im_start|>assistant# debug model_inputs: 
{'input_ids': tensor([[151644,   8948,    198,   2610,    525,   1207,  16948,     11,   3465,553,  54364,  14817,     13,   1446,    525,    264,  10950,  17847,13, 151645,    198, 151644,    872,    198, 105043, 100165, 151645,198, 151644,  77091,    198]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1]], device='cuda:0')}# debug generated_ids: 
[tensor([104198,     48,  16948,   3837, 102661,  99718, 102014, 104491],device='cuda:0')]['我是Qwen,阿里云推出的一种']


文章转载自:

http://nhOO95pF.tnktt.cn
http://G7R39zBF.tnktt.cn
http://EsJfGSbW.tnktt.cn
http://ZXAoypSx.tnktt.cn
http://90BSXEdy.tnktt.cn
http://Kd4T3XMZ.tnktt.cn
http://Tij5sVhV.tnktt.cn
http://yHACaEKl.tnktt.cn
http://Ey7p3Xdy.tnktt.cn
http://v5J1QxbP.tnktt.cn
http://W1yKD5Jb.tnktt.cn
http://LdPJW79R.tnktt.cn
http://SAUYfQV0.tnktt.cn
http://k759QHCZ.tnktt.cn
http://zrioJ7y4.tnktt.cn
http://IXVHbXIL.tnktt.cn
http://V6P9A6un.tnktt.cn
http://68MQ1Ozc.tnktt.cn
http://NySxpkxM.tnktt.cn
http://PkCfz5rH.tnktt.cn
http://jun5F1QW.tnktt.cn
http://5F80w5RR.tnktt.cn
http://fn2vngdX.tnktt.cn
http://0KrKhVin.tnktt.cn
http://DhnngLnZ.tnktt.cn
http://U8C8cviJ.tnktt.cn
http://cSvu5NLo.tnktt.cn
http://WOkMVPjS.tnktt.cn
http://YloSqPoG.tnktt.cn
http://LR4d8AjN.tnktt.cn
http://www.dtcms.com/a/369354.html

相关文章:

  • 【开题答辩全过程】以 智能商品数据分析系统为例,包含答辩的问题和答案
  • 终结 在我电脑上明明是好的!我们团队的协作秘诀
  • 神经网络|(十九)概率论基础知识-伽马函数·下
  • 基于STM32单片机的水位浑浊度检测设计
  • 个人健康管理系统设计与实现
  • MySQL集群——高可用架构
  • 记录自己看过的电子书方法
  • Typer 命令行工具使用示例
  • 绿算技术与清智图灵签署战略合作协议
  • AI配音工具哪个好用?7款热门配音软件推荐指南!
  • 【关系型数据库SQL】MySql数据库基础学习(一)
  • 软考刷题真题app,软考真题题库推荐
  • 25高教社杯数模国赛【B题高质量成品论文+无盲点解析】第一弹
  • CAD【xplode】和【explode】功能的区别
  • MOSFET SOA曲线评估
  • 《计算机网络安全》实验报告一 现代网络安全挑战 拒绝服务与分布式拒绝服务攻击的演变与防御策略(3)
  • c++ 压缩与解压缩
  • 代码改变生活:我用Python+LLM给自己写了个健身私教
  • python创建并写入excel文件
  • Anaconda下载安装及详细配置的保姆级教程【Windows系统】
  • 【休闲娱乐】“无用”之大用——会玩,是成年人的顶级能力
  • 【leetcode】77.组合
  • 【算法--链表】82.删除排序链表中的重复元素 II--通俗讲解
  • 【CMake】变量作用域1——块作用域
  • 你的提问方式错了!让AI生成高质量实验方案的秘诀
  • Java第十四幕集合啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
  • VS2022运行openCV报错:应用程序无法正常启动(0xc000279)
  • 敏捷开发-Scrum(下)
  • 【CAN通信】AUTOSAR架构下TC3xx芯片是如何将一帧CAN报文接收上来的
  • 为什么外网主机可以telnet通内网nginx端口,但是http请求失败?