huggingface 笔记:PretrainModel

news2024/11/17 11:49:31

1 from_pretrained

  • 从预训练模型配置中实例化一个 PyTorch 预训练模型
  • 默认情况下,模型使用 model.eval() 设置为评估模式(Dropout 模块被禁用)
    • 要训练模型,应该首先使用 model.train() 将其设置回训练模式

1.1 主要参数

pretrained_model_name_or_path

需要加载的模型,可以是:

  • 一个字符串,huggingface.co 上一个模型库中的预训练模型ID。
  • 一个目录路径,包含使用 save_pretrained() 保存的模型权重,例如 ./my_model_directory/
from_tf

(bool, 可选,默认为 False) -

从 TensorFlow 检查点保存文件中加载模型权重

force_download

(bool, 可选,默认为 False) -

是否强制(重新)下载模型权重和配置文件,覆盖已存在的缓存版本

local_files_only(bool, 可选,默认为 False) - 是否只查看本地文件(即,不尝试下载模型)

1.1.1 大模型推理相关主要参数

torch_dtype

(str 或 torch.dtype, 可选) — 覆盖默认的 torch.dtype,并在特定的数据类型下加载模型

  • torch.float16 或 torch.bfloat16 或 torch.float:在指定的数据类型下加载
  • "auto" - 将尝试使用模型的 config.json 文件中的 torch_dtype 条目。如果没有找到此条目,则检查checkpoint中第一个浮点类型的权重的数据类型,并使用该数据类型加载模型。
device_map
  • 指定每个子模块应该去的设备的映射
quantization_config

huggingface 笔记:AutoTokenizer,AutoClass-CSDN博客

一个量化配置参数字典

1.2 举例

from transformers import LlamaModel

m=LlamaModel.from_pretrained('meta-llama/Meta-Llama-3-8B')
m

2 can_generate

  • 该模型是否能够使用 .generate() 方法生成序列。
  • 该函数返回一个布尔值,指示该模型是否支持使用 .generate() 方法来生成序列。
  • 这通常用于判断某个模型是否具备生成文本的能力,例如语言模型或文本到文本的转换模型。
m.can_generate()
#False

3 get_input_embeddings

返回模型的输入嵌入,即将词汇映射到隐藏状态的 PyTorch 模块

m.get_input_embeddings()
#Embedding(128256, 4096)

get_memory_footprint

获取模型的内存占用(以字节为单位)

m.get_memory_footprint()
#30019706880

get_output_embeddings

返回模型的输出嵌入,即将隐藏状态映射到词汇的 PyTorch 模块

init_weights

初始化权重

7 resize_token_embeddings

resize_token_embeddings(new_num_tokens)
  • 嵌入矩阵中的新令牌数量。
    • 增加大小将在末尾添加新初始化的向量。
    • 减少大小将从末尾移除向量。
    • 如果未提供或为 None,则只返回指向模型的输入令牌 torch.nn.Embedding 模块的指针,不进行任何操作。

8 set_input_embeddings

set_input_embeddings(value: nn.Module)

自定义模型的输入嵌入层,通过提供一个新的 nn.Module 来替换默认的输入嵌入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1692911.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 项目中自定义多个 RadioButton 并排一列选择效果实现

文章目录 1、静态版实现1.1、实现要求1.2、实现步骤1.3、代码实现1.4、代码实现说明1.5、结论 2、项目版实现(动态)1、先看效果图2、main的布局文件3、定义RadioButton的属性4、最后在代码中生成我想要的东东5、说明 3、后续优化方向 1、静态版实现 1.1、实现要求 我们需要在…

【字典树 马拉车算法】336. 回文对

本文涉及知识点 字典树 马拉车算法 336. 回文对 给定一个由唯一字符串构成的 0 索引 数组 words 。 回文对 是一对整数 (i, j) &#xff0c;满足以下条件&#xff1a; 0 < i, j < words.length&#xff0c;i ! j &#xff0c;并且words[i] words[j]&#xff08;两个字…

CAN网络管理(TJA1145如何实现MCU的休眠唤醒)

节点唤醒方式 本地唤醒&#xff1a; 唤醒源来源于自身模块&#xff0c;比如常说的KL15&#xff0c;控制器由KL15线供电&#xff0c;即只能在钥匙置于“ACC”或者“ON”档时运行软件和维持CAN通信 对于正在运行的CPU软件&#xff0c;无论它处在什么状态&#xff0c;只要Hardwa…

【Tools】微服务工程中的通用功能模块抽取

Catalog 通用功能模块抽取一、需求二、步骤三、细节 通用功能模块抽取 一、需求 在微服务工程中&#xff0c;可能有一些工具类、实体类是多个微服务通用的&#xff0c;如果在每个微服务中都复制粘贴这些工具类&#xff0c;会产生很多重复性的代码&#xff0c;对开发来说也很繁…

吴恩达2022机器学习专项课程C2W2:实验Relu激活函数

目录 代码修改1.Activation2.Dense3.代码顺序 新的内容1.总结上节课内容2.展示ReLU激活函数的好处3.结论 代码案例一代码案例二1.构建数据集2.构建模型 2D1.构建数据集2.模型预测3.扩展 代码修改 1.Activation &#xff08;1&#xff09;需要添加代码from tensorflow.keras i…

5.小程序页面布局 - 记账页面(名目布局、绘制键盘、引用picker时间选择组件)

文章目录 1. 小程序页面布局 - 记账页面1.1. 记账页面的布局1.1.1. 样例1.1.2. 页面解构1.1.3. 内容布局的实现1.1.3.1. 填坑(display:flex)1.1.3.2. 突破(display:grid)1.1.3.3. 应用 1.1.4. 点击图片加背景色1.1.5. 添加一个键盘1.1.6. 日期选择组件 1. 小程序页面布局 - 记账…

Liunx基本指令以及权限(个人笔记)

Linux指令和权限 1.指令1.1ls指令1.2pwd命令1.3cd指令1.4touch指令1.5mkdir指令1.6rm指令1.7man指令1.8cp指令1.9mv指令1.10cat指令1.11less指令1.12head指令1.13tail指令1.14date显示1.15Cal指令1.16find指令1.17grep指令1.18zip/unzip指令1.19tar指令1.20bc指令1.21uname -r指…

SQLServer表变量

表变量是本地变量的一种特殊类型&#xff0c;它有助于临时存储数据; 要声明表变量&#xff0c;使用declare,而局部变量的名称必须以符号开头&#xff1b; TABLE关键字指定此变量是表变量&#xff0c;然后还要定义列名和数据类型&#xff1b; 下面定义一个表变量&#xff0c…

光伏项目怎么做预算?

随着可再生能源行业的蓬勃发展&#xff0c;光伏行业也得到了扩张。许多想要加入光伏项目投资的人&#xff0c;都在为怎样为项目做预算而苦恼&#xff0c;今天我就来跟大家分析下可以怎么做。 一、了解市场需求&#xff0c;确定预算目标 在制定光伏项目预算方案之前&#xff0c…

Vue CLI 的服务介绍与使用(2024-05-20)

1、介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统&#xff0c;提供&#xff1a; 通过 vue/cli 实现的交互式的项目脚手架。 通过 vue/cli vue/cli-service-global 实现的零配置原型开发。 一个运行时依赖 (vue/cli-service)&#xff0c;该依赖&#xff1a; 可升级…

docker-如何将容器外的脚本放入容器内,将容器内的脚本放入容器外

文章目录 前言docker-如何将容器外的脚本放入容器内&#xff0c;将容器内的脚本放入容器外、1. docker 如何将容器外的脚本放入容器内1.1. 验证 2. 将容器内的脚本放入容器外 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&…

JKI State Machine的特点与详细介绍

JKI State Machine是一种基于状态机的LabVIEW架构&#xff0c;由JKI公司开发。它广泛用于开发复杂的应用程序&#xff0c;提供了一种灵活且可扩展的结构&#xff0c;适用于多种任务的管理和执行。其设计目标是提高开发效率、代码可读性和可维护性。 2. 基本架构 JKI State Ma…

Spring Boot 中缓存的用法

缓存&#xff08;Caching&#xff09;是提升应用性能的重要手段之一&#xff0c;通过减少不必要的数据计算和数据库访问&#xff0c;显著提高系统的响应速度。在 Spring Boot 中&#xff0c;缓存机制被集成得非常好&#xff0c;使得我们能够快速、方便地使用缓存功能。本文将介…

基于Android studio 订餐、外卖系统

目录 项目介绍 图片展示 运行环境 获取方式 项目介绍 具有登录&#xff0c;注册&#xff0c;修改密码&#xff0c;查看关于开发信息(可以填写自己的信息) 我的&#xff1a;可以查看菜品详情&#xff0c;填写份数&#xff0c;加入购物车&#xff0c; 购物车&#xff1a;可…

【IDEA软件应用篇】IDEA基础开发设置和开发快捷键

IDEA是一种集成开发环境&#xff0c;可以运行java代码。 本篇文章你将收获到下面的知识&#xff1a; &#xff08;1&#xff09;IDEA如何设置字体大小快捷键 &#xff08;2&#xff09;如何解决每次进IDEA时&#xff0c;进去的页面都是上次使用完时的那个页面 &#xff08;3&am…

使用yum下载rpm包

1、命令格式 yum install --downloadonly --downloaddir<directory> <package-name> --downloadonly&#xff1a;只下载选项而不进行安培训--downloaddir&#xff1a;指定下载目录&#xff0c;默认下载的RPM包会保在/var/cache/yum/x86_64/[centos|fedora-versio…

Linux系统下Mysql忘记密码怎么解决

一、对Mysql配置文件进行设置 1、找到/etc/mysql/my.cnf路径下&#xff0c;用Vi命令编辑my.cnf配置文件&#xff0c;命令如下&#xff1a; # 以管理员身份登录 sudo su # 输入管理员密码 # 登录成功后&#xff0c;找到Mysql的配置文件-->Mysql配置文件默认在此 cd /etc/my…

异相(相位不平衡)状态下的合成器效率分析-理论与ADS仿真

异相&#xff08;相位不平衡&#xff09;状态下的合成器效率分析-理论与ADS仿真 12、ADS使用记录之功分器设计中简单介绍了威尔金森功分器的设计方法。一般来讲&#xff0c;功分器反过来就能作为合路器使用&#xff0c;在输入信号相位一致的情况下&#xff0c;各种合路器的效率…

YOLOv8独家改进:mamba系列 | 视觉态空间(VSS)块结合C2f二次创新,提升捕捉广泛的上下文信息 | VMamba2024年最新成果

💡💡💡创新点:Mamba UNet采用了纯基于视觉Mamba(VMamba)的编码器-解码器结构,融入了跳跃连接,以保存网络不同规模的空间信息。这种设计有助于全面的特征学习过程,捕捉医学图像中复杂的细节和更广泛的语义上下文。我们在VMamba块中引入了一种新的集成机制,以确保编…

Linux之共享内存mmap用法实例(六十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…