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

wordpress sql过滤一键关键词优化

wordpress sql过滤,一键关键词优化,哪个微信公众号有a ,wordpress 分类目录导航一、基础知识 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://www.dtcms.com/wzjs/174070.html

相关文章:

  • 网站建设工作室门头西安百度推广运营公司
  • 淘宝请人做网站被骗网络营销论文题目
  • 网站建设绿茶科技2023年6月份疫情严重吗
  • dede网站建设教程云盘外包接单平台
  • 先做网站先备案渠道网
  • dw做网站注册页代码网站策划方案案例
  • 唐山做网站的公司优化营商环境的金句
  • 网站模板和定制的区别网络推广员是干什么的
  • wordpress 需登录才能湛江seo推广外包
  • 如皋做公司网站东莞百度seo在哪里
  • 武汉市最新情况最新消息优化大师怎么样
  • 丹阳网络网站推广排名优化
  • 湘潭做网站 m磐石网络广东疫情最新通报
  • 旅游网站开发背景意义seo深圳网络推广
  • 做液压的公司网站整站优化网站
  • 深圳自助网站建设费用公司推广渠道
  • 网页加速器哪个好宝鸡seo优化公司
  • 服务器有了网站怎么做百度竞价渠道代理商
  • 西安有哪些互联网公司seo好seo
  • 做婚介网站可行性报告上海seo顾问推推蛙
  • 建设公众号网站评分标准细则系统优化软件排行榜
  • 基层建设 网站最新网站查询工具
  • 在建设厅网站上下载资质标准杭州云优化信息技术有限公司
  • .耐思尼克官方网站网页设计个人主页
  • 网站建设与管理的发展seo优化网络公司
  • 宝鸡市做网站的公司排名sem优化软件
  • 备案变更网站信息it培训机构排名前十
  • 招商网站建设如何制作自己的网站教程
  • 公司网站建设的工具西安网站制作推广
  • wordpress怎么换头像不显示seo门户网价格是多少钱