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

【通意千问】大模型GitHub开源工程学习笔记(2)--使用Qwen进行推理的示例代码解析,及transformers的库使用

使用Transformers来使用模型

如希望使用Qwen-chat进行推理,所需要写的只是如下所示的数行代码。请确保你使用的是最新代码,并指定正确的模型名称和路径,如Qwen/Qwen-7B-ChatQwen/Qwen-14B-Chat

这里给出了一段代码

from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation import GenerationConfig# 可选的模型包括: "Qwen/Qwen-7B-Chat", "Qwen/Qwen-14B-Chat"
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen-7B-Chat", trust_remote_code=True)# 打开bf16精度,A100、H100、RTX3060、RTX3070等显卡建议启用以节省显存
# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B-Chat", device_map="auto", trust_remote_code=True, bf16=True).eval()
# 打开fp16精度,V100、P100、T4等显卡建议启用以节省显存
# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B-Chat", device_map="auto", trust_remote_code=True, fp16=True).eval()
# 使用CPU进行推理,需要约32GB内存
# model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B-Chat", device_map="cpu", trust_remote_code=True).eval()
# 默认使用自动模式,根据设备自动选择精度
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-7B-Chat", device_map="auto", trust_remote_code=True).eval()# 可指定不同的生成长度、top_p等相关超参
model.generation_config = GenerationConfig.from_pretrained("Qwen/Qwen-7B-Chat", trust_remote_code=True)# 第一轮对话
response, history = model.chat(tokenizer, "你好", history=None)
print(response)
# 你好!很高兴为你提供帮助。# 第二轮对话
response, history = model.chat(tokenizer, "给我讲一个年轻人奋斗创业最终取得成功的故事。", history=history)
print(response)
# 这是一个关于一个年轻人奋斗创业最终取得成功的故事。
# 故事的主人公叫李明,他来自一个普通的家庭,父母都是普通的工人。从小,李明就立下了一个目标:要成为一名成功的企业家。
# 为了实现这个目标,李明勤奋学习,考上了大学。在大学期间,他积极参加各种创业比赛,获得了不少奖项。他还利用课余时间去实习,积累了宝贵的经验。
# 毕业后,李明决定开始自己的创业之路。他开始寻找投资机会,但多次都被拒绝了。然而,他并没有放弃。他继续努力,不断改进自己的创业计划,并寻找新的投资机会。
# 最终,李明成功地获得了一笔投资,开始了自己的创业之路。他成立了一家科技公司,专注于开发新型软件。在他的领导下,公司迅速发展起来,成为了一家成功的科技企业。
# 李明的成功并不是偶然的。他勤奋、坚韧、勇于冒险,不断学习和改进自己。他的成功也证明了,只要努力奋斗,任何人都有可能取得成功。# 第三轮对话
response, history = model.chat(tokenizer, "给这个故事起一个标题", history=history)
print(response)
# 《奋斗创业:一个年轻人的成功之路》

这段代码怎么用呢?

我们来分析一下吧\

从transformers库中导入类

from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation import GenerationConfig

 这两行是从Hugging Face的Transformers库中导入了三个类:

【AutoModelForCausalLM】:这是一个用于加载预训练的因果语言模型(Causal Language Model)的类。因果语言模型是一种可以生成连续文本的模型,例如在对话生成或故事生成等任务中。

【AutoTokenizer】:这是一个用于加载预训练的分词器(Tokenizer)的类。分词器是用于将输入文本切分成模型可以理解的单元(如单词、子词或字符)的工具。

【GenerationConfig】:这是一个用于配置生成任务的类。它可以用于设置生成任务的各种参数,例如生成文本的最大长

相关文章:

【通意千问】大模型GitHub开源工程学习笔记(2)--使用Qwen进行推理的示例代码解析,及transformers的库使用

使用Transformers来使用模型 如希望使用Qwen-chat进行推理,所需要写的只是如下所示的数行代码。请确保你使用的是最新代码,并指定正确的模型名称和路径,如Qwen/Qwen-7B-Chat和Qwen/Qwen-14B-Chat 这里给出了一段代码 from transformers import AutoModelForCausalLM, Aut…...

从0开始python学习-23.selenium 常见鼠标的操作

注意:必须创建一个事件链对象(ActionChains);最后鼠标事件链完成之后一定要进行事务提交perform()(如果事件链不提交那么所有的鼠标事件都不会执行) 1. 左键单击:click()…...

电气基础——电源、变压器、接触器、断路器、线缆

目录 1.电源 2.变压器 三项电和2相电的转换 3.接触器 4.断路器 5.线缆 1.电源 2.变压器 三项电和2相电的转换 三相电转为2相电 1.变压器 2.相位移转换器 3.电容器 两相电变不了三相电。但是两相电可以通过电容移相后带动三相电机 零线,地线N&#xff…...

步力宝科技爆款产品定位,开创智能物联网新商业

数据显示,中国处于 “亚健康”状态人口数量约占总人口的70%,亚健康是一种临界状态,指介于健康和疾病之间的状态。亚健康是一个动态演变的过程,既有向慢病发展的趋势,也能通过合理的干预使人体重返健康状态,…...

凉鞋的 Unity 笔记 105. 第一个通识:编辑-测试 循环

105. 第一个通识:编辑-测试 循环 在这一篇,我们简单聊聊此教程中所涉及的一个非常重要的概念:循环。 我们在做任何事情都离不开某种循环,比如每天的 24 小时循环,一日三餐循环,清醒-睡觉循环。 在学习一…...

Bug:elementUI样式不起作用、Vue引入组件报错not found等(Vue+ElementUI问题汇总)

前端问题合集:VueElementUI 1. Vue引用Element-UI时,组件无效果解决方案 前提: 已经安装好elementUI依赖 //安装依赖 npm install element-ui //main.js中导入依赖并在全局中使用 import ElementUI from element-ui Vue.use(ElementUI)如果此…...

【大麦小米学量化】使用文心一言AI编写股票量化交易策略代码(含演示代码和进阶演示)

文章目录 AI是个宝前言一、文心一言是什么?二、让AI根据策略写出代码1. 策略提示词2. AI给出的策略代码及说明 三、进阶调试总结 AI是个宝 小米听说百度开放了文心一言AI,好奇的跑去问大麦:“文心一言都放开了,什么代码都可以写&a…...

软考 系统架构设计师系列知识点之软件架构风格(1)

这个十一注定是一个不能放松、保持“紧”的十一。由于报名了全国计算机技术与软件专业技术资格(水平)考试,11月4号就要考试,因此8天长假绝不能荒废,必须要好好利用起来。现在将各个核心知识点一一进行提炼并做记录。 所…...

轮询与中断

中断控制器 #include"exynos_4412.h"int main() {/*产生一个中断信号*//*1.属于外设层次&#xff0c;让外部的硬件控制器能产生一个中断信号并发送给中断控制器*//*将GPX1_1设置成中断功能*/GPX1.CON GPX1.CON |( 0xF << 4);/*设置GPX1_1中断的触发方式---下降…...

使用docker完成minio服务部署扩容备份迁移生产实践文档

一、minio服务扩容方案 当服务器存储空间不足的时候&#xff0c;需要进行扩容&#xff0c;扩容过程中需要短暂停机时间&#xff0c;预计在一小时内能够完成和恢复 统一注意事项 强烈建议为部署中的所有节点选择基本相似的硬件配置。确保硬件&#xff08;CPU、内存、主板、存…...

管道-有名管道

一、有名管道 有名管道与匿名管道的不同&#xff1a; 有名管道提供了一个路径名&#xff0c;并以FIFO的文件形式存在于文件系统中。与匿名管道不同&#xff0c;有名管道可以被不相关的进程使用&#xff0c;只要它们可以访问该路径&#xff0c;就能够通过有名管道进行通信。 FI…...

谷歌注册手机号码无法验证

1. 打开设置,在语言中点击添加语言搜索English并添加 2. 点击添加后把首选语言换成英语 3. 然后重启浏览器&#xff0c;这时候浏览器就是英文了&#xff0c;最后打开注册页面就能接收短信了...

C语言编译与链接过程详解

C语言编译与链接过程详解 源文件 main.c #include <stdio.h>extern int data; extern int add(int a,int b);int a1; int a2 0; int a3 10;static int b1; static int b2 0; static int b3 20;int main() {int c1;int c2 0;int c3 30;static int d1;static int …...

Qt信号和槽 定时器

文章目录 1 信号和槽1.1 信号和槽的概念1.2 信号和槽的应用1.3 信号和槽的连接1.4 信号和槽的特性1.5 生活中的类似例子1.6 信号和槽的优势 2 信号和槽的使用2.1 控件的信号和槽2.2 自定义信号和槽2.3 信号和槽的参数传递 3 定时器3.1 QTimer类的基本使用3.2 QTimer类的成员函数…...

zemax对称式目镜

两个几乎对称的双胶合透镜相对放置&#xff0c;可以达到25度的半视场 为了加工方便&#xff0c;这两个透镜组采用相同的结构 对称式目镜要求各组透镜自行校正色差&#xff0c;这样倍率色差也随之而校正。 它还能校正两种像差&#xff0c;慧差和象散。 对称目镜的结构更紧&…...

层次架构、面向服务架构(四十四)

层次架构设计 表现层、中间层、数据访问层、数据架构规划、物联网层次架构、层次式架构案例分析。 层次结构缺点就是效率问题&#xff0c;上一层调用下一层。 1、着重写中间层 组件设计&#xff1a;面向接口编程&#xff0c;分为接口和实现类。 实体设计&#xff1a;实体表…...

Ubuntu22无法自动进入lightdm图像界面

问题&#xff1a;Ubuntu22无法自动进入lightdm图像界面&#xff0c;必须手动运行 lightdm start解决方案&#xff1a; 方案一&#xff1a; 运行一个终端输入 cat /etc/X11/default-display-manager /etc/init/lightdm.conf不接受lightdm作为设置&#xff0c;但是&#xff0c;/…...

01BFS最短距离的原理和C++实现

时间复杂度 O(n)&#xff0c;n是边数。 使用前提 边的权只有两种:0,1。 典型场景 n个端点的无向图&#xff0c;编号范围[0,n)。Edges0表示{{n1,n2},...{n3,n4}}表示n1和n2&#xff0c;n3和n4之间有路联接。Edges1表示{{n1,n2},...{n3,n4}}表示n1和n2&#xff0c;n3和n4之间…...

【洛谷 P5266】【深基17.例6】学籍管理 题解(映射+分支)

【深基17.例6】学籍管理 题目描述 您要设计一个学籍管理系统&#xff0c;最开始学籍数据是空的&#xff0c;然后该系统能够支持下面的操作&#xff08;不超过 1 0 5 10^5 105 条&#xff09;&#xff1a; 插入与修改&#xff0c;格式1 NAME SCORE&#xff1a;在系统中插入姓…...

10.03

代码 #include <iostream>using namespace std; class cz { private:int num1; //实部int num2; //虚部 public:cz(){}cz(int a,int b):num1(a),num2(b){}cz(const cz &other):num1(other.num1),num2(other.num2){}~cz(){}const cz operator(const cz &othe…...

链表单向链表跳跃链表

单向链表 link list t数组的局限&#xff1a;编译期就需要知道大小&#xff1b; 内存连续&#xff0c;插入困难 // 链表节点类 包含一个信息 和指向下一个 节点的指针clas IntLLNode{public:IntLLNode(){// 默认构造函数 没有info信息nextPtr_ 0;// 空指针}IntLLNode(int …...

博客无限滚动加载(html、css、js)实现

介绍 这是一个简单实现了类似博客瀑布流加载功能的页面&#xff0c;使用html、css、js实现。简单易懂&#xff0c;值得学习借鉴。&#x1f44d; 演示地址&#xff1a;https://i_dog.gitee.io/easy-web-projects/infinite_scroll_blog/index.html 代码 index.html <!DOCT…...

腾讯云南京服务器性能如何?南京服务器测速IP地址

腾讯云服务器南京地域怎么样&#xff1f;南京地域很不错&#xff0c;正好处于中间的位置&#xff0c;南方北方用户均可以选择&#xff0c;网络延迟更低速度更快&#xff0c;并且目前南京地域有活动&#xff0c;南京地域可用区可选南京一区、南京二区和南京三区&#xff0c;腾讯…...

MySQL和Oracle中,语法的不同点以及如何在xml中书写日期比较大小

众所周知mysql和oracle的语法有点相识&#xff0c;又有点不同。 在MySQL和Oracle中&#xff0c;语法的不同点有以下几个方面&#xff1a; 数据类型&#xff1a;MySQL和Oracle支持的数据类型有所不同&#xff0c;比如MySQL支持的数据类型包括&#xff1a;整型、浮点型、字符型、…...

谈谈Redis分布式锁

目录 一、回顾分布式锁 &#xff08;一&#xff09;理解分布式锁的定义 &#xff08;二&#xff09;分布式锁的约束条件 &#xff08;三&#xff09;分布式锁常见实现方式 基于数据库的分布式锁 基于缓存的分布式锁 基于分布式一致性算法的分布式锁 基于文件系统的分布…...

Redis的java客户端-RedisTemplate光速入门

一.创建springboot项目 二.引入2个依赖 <!-- redis依赖-->这个已经引入了&#xff0c;因为创建的时候勾选了<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><…...

格点数据可视化(美国站点的日降雨数据)

获取美国站点的日降雨量的格点数据&#xff0c;并且可视化 导入模块 from datetime import datetime, timedelta from urllib.request import urlopenimport cartopy.crs as ccrs import cartopy.feature as cfeature import matplotlib.colors as mcolors import matplotli…...

YoloV8改进策略:LSKNet加入到YoloV8中,打造更适合小目标的YoloV8

文章目录 摘要论文:LSKNet:大选择核网络在遥感目标检测中的应用1、简介2、相关工作2.1、遥感目标检测框架2.2、大核网络2.3、注意力/选择机制3、方法3.1、LSKNet架构3.2、大核卷积3.3、空间核选择4、实验4.1、数据集4.2、实现细节4.3、消融实验4.4、主要结果4.5、分析5、结论…...

力扣-303.区域和检索-数组不可变

Idea 需计算数组nums在下标right 和 left-1 的前缀和&#xff0c;然后计算两个前缀和的差即可。 需要注意的是&#xff0c;当left为0的时候&#xff0c;如果还是left-1则会发生数组访问越界错误。 AC Code class NumArray { public:vector<int> sum;NumArray(vector<…...

web:[极客大挑战 2019]LoveSQL

题目 打开页面显示如下 查看源代码&#xff0c;查到一个check.php&#xff0c;还是get传参 尝试账号密码输入 题目名为sql&#xff0c;用万能密码 1or 11# 或 admin or 11 给了一段乱码&#xff0c;也不是flag 查看字段数 /check.php?usernameadmin order by 3%23&pass…...

广州响应网站建设/在线网页制作系统搭建

首先说一下&#xff0c; href属性 和 onclick事件 的执行顺序&#xff0c;当鼠标点击a标签的时候会先执行 onclick事件&#xff0c; 然后才是 href 属性下的动作(页面跳转&#xff0c;或 javascript 伪链接)&#xff0c;如果不想执行href 属性下的动作执行&#xff0c;onclick …...

php做的网站论文/网站推广步骤

为什么80%的码农都做不了架构师&#xff1f;>>> 让树莓派支持uPD161704A和XPT2046芯片的240320触摸屏驱动库 这个C库可以让你的树莓派支持PD161704A和XPT2046芯片. PD161704A是一个240 x 320像素LCD屏幕控制器 , XPT2046是搭配的触摸屏控制器. 这两个控制器常用于低…...

石门县建设局网站/谷歌应用商店

文章目录前言一、现象二、原因三、解决步骤四、示例五、参考前言 在你的iOS团队中&#xff0c;如果在使用持续集成来完成自动化打包分发的工作&#xff0c;你可能会了解如何使用一些命令行工具来构建ipa文件&#xff0c;其中一款使用较为广泛的是xcodebuild。 在我们的团队中…...

郑州企业自助建站系统/关键词seo是什么意思

文章目录1. 装饰器2. 类中相关方法3. 小练习1. 装饰器 # ### 装饰器 : 在不改变原有代码的前提下,为原函数扩展新功能 """ 符号 装饰器的标识符 :(1) 自动把下面修饰的原函数当成参数传递给装饰器(2) 把返回的新函数去替换原函数 """# (1) 装饰…...

做一个营销型网站/关键词挖掘站长工具

有一些平板或者一些早教机&#xff0c;都是内置了一张TF内存卡的&#xff0c;而有时候我们会因为内存卡太小&#xff1b;或者tf卡被误格式化导致内置的数据没有了&#xff0c;如果你还有朋友有这些机器的话&#xff0c;完全可以把他内存卡里的数据克隆出来&#xff0c;然后写入…...

做网站之前要备案是什么意思/全国教育培训机构平台

Spring框架已经成为Java开发人员的必备知识&#xff0c;而且Spring 3引入了强大的新特性&#xff0c;例如SpEL、Spring 表达式语言、loC 容器的新注解以及用户急需的对REST的支持。无论你是刚刚接触Spring还是被 Spring 3.0的新特性所吸引&#xff0c;这份笔记都是掌握Spring的…...