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

动易网站cms中企动力公司网站价格

动易网站cms,中企动力公司网站价格,两学一做是什么网站,酒业网站模板下载一、基础知识 1.1导入库 torch 是一个深度学习框架,用于处理张量和神经网络。modelscope是由阿里巴巴达摩院推出的开源模型库。 AutoTokenizer 是ModelScope 库的类,分词器应用场景包括自然语言处理(NLP)中的文本分类、信息抽取…

一、基础知识

1.1导入库

  • torch 是一个深度学习框架,用于处理张量和神经网络
  • modelscope是由阿里巴巴达摩院推出的开源模型库
    • AutoTokenizer 是ModelScope 库的类,分词器应用场景包括自然语言处理(NLP)中的文本分类、信息抽取、问答、摘要、翻译和文本生成等任务。它通过提供一个统一的接口,使得开发者可以快速且方便地加载和使用不同的预训练模型,而不需要深入了解每个模型的细节‌;
    •  AutoModel 是ModelScope 库的类,允许用户在不知道具体模型细节的情况下,根据给定的模型名称或模型类型自动加载相应的预训练模型
    • snapshotdownload 是 ModelScope 提供的一个函数,便于下载模型文件

1.2下载模型

   model_dir=snapshot_download("ZhipuAI/chatglm3-6b",revision"v1.0.0")

model_dir是模型下载后的存储路径。使用snapshot_download 函数下载指定版本的模型。有两种方式,

  • 第一种方式,使用本地的模型路径
  model_dir=snapshot_download("本地路径/chatglm3-6b",revision"v1.0.0")
  • 第二种方式,默认从modelscope下载 ZhipuAI/chatglm3-6b 的 v1.0.0 版本,见示例代码。这种方式需要在终端使用pip install modelscope来安装。snapshot_download 函数中的模型名称和版本可以通过搜索魔搭社区来查找。

魔搭社区汇聚各领域最先进的机器学习模型,提供模型探索体验、推理、训练、部署和应用的一站式服务。https://www.modelscope.cn/models

1.3加载分词器

tokenizer=AutoTokenizer.from_pretrained(model_dir,trust_remote_code=True)

使用 AutoTokenizer.frompretrained 方法加载预训练的分词器。其中,trustremotecode=True 表示信任远程代码。

1.4加载模型

with torch.no_grad():model=AutoModel.from_pretrained(model_dir,trust_remote_code=True).cpu().float()

1.4.1with torch.nograd()

with torch.nograd():表示在这个上下文中不计算梯度,以节省内存和计算资源。

Python中的with语句是一种用于简化资源管理的语法结构,通过上下文管理器协议(实现__enter__和__exit__方法)自动确保资源的获取和释放,常用于文件操作、数据库连接、线程锁等场景‌。

with 上下文管理器 as 变量:# 执行代码块

1.4.2AutoModel.frompretrained方法

AutoModel.frompretrained方法加载预训练的模型。其中,

  • .trustremotecode=True表示信任远程代码。
  • .cpu() 将模型移动到 CPU 上。
  • .float() 将模型的参数转换为浮点数类型。

针对当前模型,若使用GPU,可以将.cpu() 替换为.cuda()。此时,.float()是首选,float32提供较高的精度;.half()是float16,与float相比,内存减半。还可以通过.quantize()来选择模型量化方式:

  • .quantize(8)是INT8量化,表示将模型的权重和激活值量化为8位整数
  • .quantize(4)是INT4量化,表示将模型的权重和激活值量化为4位整数,但不是所有的硬件都支持INT4量化。(示例如下)
with torch.no_grad():model=AutoModel.from_pretrained(model_dir,trust_remote_code=True).quantize(8).cuda()

1.5设置模型为评估模式

model=model.eval()

model.eval() 将模型设置为评估模式,不启用 Batch Normalization 和 Dropout ,确保模型在测试和推理阶段的行为与训练阶段有所不同,从而提高结果的稳定性和准确性。。Batch Normalization 在训练过程中会对每一特征维做归一化操作,对每一批量输入算出 mean 和 std,而在 eval 模式下 BN 层将能够使用全部训练数据的均值和方差,即测试过程中不再针对测试样本计算mean和std,而是直接用训练好的值。

1.6第一次交互

responses,history=model.chat(tokenizer,"你好",history=[])
print(responses)
  • 使用 model.chat() 方法与模型进行交互,输入是 “你好”,初始历史记录为空列表 []
  • print(responses) 打印模型的回复。其中,responses 是模型的回复,history 是更新后的历史记录。

1.7第二次交互

responses,history=model.chat(tokenizer,"快乐学习大模型开发的方法",history=history)
print(responses)
  • 使用 model.chat()  方法与模型进行交互,输入是 “快乐学习大模型开发的方法”,历史记录是上一次交互的历史记录。
  • print(responses) 打印模型的回复。

二、大模型问答交互【CPU版】

2.1代码

import torch
from modelscope import AutoTokenizer,AutoModel,snapshot_download#终端运行pip install modelscope
#模型下载的默认路径为C:\Users\Administrator\.cache\modelscope\hub\models\
model_dir=snapshot_download("ZhipuAI/chatglm3-6b",revision="v1.0.0")
tokenizer=AutoTokenizer.from_pretrained(model_dir,trust_remote_code=True)with torch.no_grad():model=AutoModel.from_pretrained(model_dir,trust_remote_code=True).cpu().float()model=model.eval()
responses,history=model.chat(tokenizer,"你好",history=[])
print(responses)
responses,history=model.chat(tokenizer,"快乐学习大模型开发的方法",history=history)
print(responses)

2.2运行结果

2.3问题与解决

问题一:'torchvision' has no attribute 'extension'

解决一:重新安装torchvision

pip uninstall torchvision
pip install torchvision

问题二:TypeError: ChatGLMTokenizer._pad() got an unexpected keyword argument 'padding_side'

解决二:transformers版本问题,安装4.41.2版本

pip install transformers==4.41.2

三、大模型问答交互【GPU版】

3.1代码

import torch
from modelscope import AutoTokenizer,AutoModel,snapshot_download#终端运行pip install modelscope
#模型下载的默认路径为C:\Users\Administrator\.cache\modelscope\hub\models\
model_dir=snapshot_download("ZhipuAI/chatglm3-6b",revision="v1.0.0")
tokenizer=AutoTokenizer.from_pretrained(model_dir,trust_remote_code=True)with torch.no_grad():model=AutoModel.from_pretrained(model_dir,trust_remote_code=True).quantize(8).cuda()model=model.eval()
responses,history=model.chat(tokenizer,"你好",history=[])
print(responses)
responses,history=model.chat(tokenizer,"快乐学习大模型开发的方法",history=history)
print(responses)

3.2运行结果

3.3问题与解决

问题一:AssertionError:Torch not complied with CUDA enable

解决一:PyTorch和CUDA版本不匹配

问题二:TypeError: ChatGLMTokenizer._pad() got an unexpected keyword argument 'padding_side'

解决二:安装transformers版本问题,安装4.41.2版本

pip install transformers==4.41.2

文章转载自:

http://P1OeRRH4.jpbky.cn
http://3zMU8AMw.jpbky.cn
http://HgBTG61y.jpbky.cn
http://xMRdgpiO.jpbky.cn
http://Qqz7kmO7.jpbky.cn
http://Y6qG5atc.jpbky.cn
http://EBWJN8VL.jpbky.cn
http://fMkc7fu0.jpbky.cn
http://9BNRMw3Z.jpbky.cn
http://0iIZS6Xj.jpbky.cn
http://8ZJRBo2s.jpbky.cn
http://NQ7Yb5xC.jpbky.cn
http://Qtmgb2qM.jpbky.cn
http://mzntjz7D.jpbky.cn
http://tvLohX4V.jpbky.cn
http://c4DvZrfb.jpbky.cn
http://S1YUthjP.jpbky.cn
http://L35sJV0C.jpbky.cn
http://KPs7Qk94.jpbky.cn
http://U7JVX1U6.jpbky.cn
http://L3o1NQrk.jpbky.cn
http://aCneau2T.jpbky.cn
http://Ag5nBdmE.jpbky.cn
http://0dim7S3b.jpbky.cn
http://uoU7w1i7.jpbky.cn
http://UnCCcmvr.jpbky.cn
http://dhmzoef9.jpbky.cn
http://eAHquCbH.jpbky.cn
http://zvYw2ARz.jpbky.cn
http://WGMgDDsb.jpbky.cn
http://www.dtcms.com/wzjs/668397.html

相关文章:

  • wordpress二维码用户登录福州百度seo代理
  • 上海备案证查询网站查询网站wordpress怎么分享到微信支付
  • 网站一定要服务器吗新建设网站如何推广
  • 女生学电子商务后悔了百度seo指南
  • 大型企业网站建设制作360元网站建设
  • 网络建站东北WordPress当前菜单高亮
  • 如何网站全部结构php mysql做网站
  • 网站建设知乎动漫设计课程
  • 做网站需要写配置文件吗做板材外贸一般用哪个网站
  • 低成本做网站 白之家网站设计计划
  • 网站翻书效果成都网站空间创新互联
  • 建设网站的子文件夹淘宝客网站怎么做
  • 电影网站源码access电销外呼系统多少钱一个月
  • 学建站论坛青海省建设厅网站执业
  • 购物网站设计的意义租赁服务器
  • 做网站怎么接业务网站标题前的小图标怎么做
  • 仿网站源码个人网页设计作品展示
  • 网站域名代备案网站换模板要怎么做
  • 做竞品分析去哪个网站公司网站做的好的公司
  • 建设银行江苏省分行网站提供手机网站制作哪家好
  • 哈尔滨服务好的建站保险网官网
  • 论坛网站建设公司全屋定制品牌
  • 设置网站维护页面好的专业网站建设公司
  • 衡水网站建设联系电话千锋教育课程
  • 新的网站设计公司杭州传媒公司
  • 自己怎么做VIP视频解网站网上查房屋备案
  • 怎么看一个网站是哪个公司做的网站版权信息的正确写法
  • 目前网站在初级建设阶段_需要大量数据丰富cvm服务器
  • 石家庄那有建网站网站建设与更新
  • 公司网站大全网站打开速度慢的原因