huggingface 笔记:PretrainModel

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 LlamaModelm=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.mzph.cn/web/15545.shtml

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

相关文章

java 子类继承父类

为什么需要继承 我现在要有两个类一个 一个是小学生,一个是大学生 代码 小学生 package b; public class encapsulatio{public String name;public int age;public double score;public void setscore (double score) {this.scorescore;}public void testing() {S…

(三)MySQL 索引

欢迎访问 什么是索引? 提高查询效率的一种数据结构,索引是数据的目录 索引的分类 按「数据结构」分类:Btree索引、Hash索引、Full-text索引。按「物理存储」分类:聚簇索引、二级索引。按「字段特性」分类:主键索引…

Spring6 对 集成MyBatis 开发运用(附有详细的操作步骤)

详细实现操作步骤 具体实现内容:我们运用 Spring6 和 MyBatis 实现一个转账操作(该转账操作,进行一个事务上的控制,运用 MyBatis 执行 SQL 语句)。 第一步:准备数据库表 使用t_act表(账户表) 连接数据库的…

三个有意思的链表面试题的完成

上一篇博客我们已经完成了链表的所有内容,那么这一篇博客我们来看一下三个特别有意思的链表题目。 **第一个题目如下:**相信不少朋友看到这题目就已经晕了,那就简单说明下这个题目,题目就是创建一个链表,其中每个节点…

Android14 - 绘制系统 - 概览

从Android 12开始,Android的绘制系统有结构性变化, 在绘制的生产消费者模式中,新增BLASTBufferQueue,客户端进程自行进行queue的生产和消费,随后通过Transation提交到SurfaceFlinger,如此可以使得各进程将缓…

【vue3+elementuiplus】el-select下拉框会自动触发校验规则

场景:编辑弹框省份字段下拉框必填,触发方式change,有值第一次打开不会触发校验提示,关闭弹框再次打开触发必填校验提示,但是该字段有值 问题的原因是:在关闭弹层事件中,我做了resetfileds&…

SpringBoot + MybatisPlus

SpringBoot MybatisPlus 整合记录 1. 硬件软件基本信息2. 相关链接3. 通过idea快速生成一个Springboot项目4. 启动报错问题解决问题一:Springboot启动的时候报错提示 “没有符合条件的Bean关于Mapper类型”问题二:启动的时候提示需要一个Bean&#xff0…

电磁仿真--CST网格介绍

1. 简介 网格会影响仿真的准确性和速度,花时间理解网格化过程是很重要的。 CST 中可用的数值方法包括FIT、TLM、FEM、MoM,使用不同类型的网格: FIT和TLM:六面体 FEM:四面体、平面 MoM:表面 CFD&#…

深入理解与防御跨站脚本攻击(XSS):从搭建实验环境到实战演练的全面教程

跨站脚本攻击(XSS)是一种常见的网络攻击手段,它允许攻击者在受害者的浏览器中执行恶意脚本。以下是一个XSS攻击的实操教程,包括搭建实验环境、编写测试程序代码、挖掘和攻击XSS漏洞的步骤。 搭建实验环境 1. 安装DVWA&#xff…

【408真题】2009-16

“接”是针对题目进行必要的分析,比较简略; “化”是对题目中所涉及到的知识点进行详细解释; “发”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材(2025版&…

推荐一个快速开发接私活神器

文章目录 前言一、项目介绍二、项目地址三、功能介绍四、页面显示登录页面菜单管理图表展示定时任务管理用户管理代码生成 五、视频讲解总结 前言 大家好!我是智航云科技,今天为大家分享一个快速开发接私活神器。 一、项目介绍 人人开源是一个提供多种…

Golang | Leetcode Golang题解之第112题路径总和

题目: 题解: func hasPathSum(root *TreeNode, sum int) bool {if root nil {return false}if root.Left nil && root.Right nil {return sum root.Val}return hasPathSum(root.Left, sum - root.Val) || hasPathSum(root.Right, sum - roo…

C++常见知识点总结

常见字符 * 注释:/* 这是一个注释*/乘法:a * b取值运算符:*指针变量,int a 4,*a ????指针变量:数据类型 *变量名, int *no &bh&#xff0…

SAP揭秘者-怎么执行生产订单ATP检查及其注意点

文章摘要: 上篇文章给大家介绍生产订单ATP检查的相关后台配置,大家可以按照配置步骤去进行配置,配置完之后,我们接下来就是要执行ATP检查。本篇文章具体给大家介绍怎么来执行生产 订单ATP检查及其注意点。 执行生产订单ATP检查的…

Qt for android 获取USB设备列表(二)JNI方式 获取

简介 基于上篇 [Qt for android 获取USB设备列表(一)Java方式 获取], 这篇就纯粹多了, 直接将上篇代码转换成JNI方式即可。即所有的设备连接与上篇一致。 (https://listentome.blog.csdn.net/article/details/139205850) 关键代码…

Android卡顿丢帧低内存与adb shell内存状态

Android卡顿丢帧低内存与adb shell内存状态 卡顿丢帧除了CPU/GPU层面,另外,也需要特别注意整机低内存情况。kswapd0 是一个内核工作线程,内存不足时会被唤醒,做内存回收工作。 当内存频繁在低水位的时候,kswapd0 会被频…

Linux基础(六):Linux 系统上 C 程序的编译与调试

本篇博客详细分析,Linux平台上C程序的编译过程与调试方法,这也是我们后续程序开发的基础。 目录 一、第一个hello world程序 1.1 创建.c文件 1.2 编译链接 运行可执行程序 二、编译链接过程 2.1 预编译阶段 2.2 编译阶段 2.3 汇编阶段 2.4 链…

qemu+gdb调试linux内核

打开CONFIG_DEBUG_INFO,编译内核 通过图形菜单配置该宏,执行make menuconfig。 kernel hacking —> compile-time checks and compiler options —> compile the kernel with debug info 验证是否打开成功,grep -nr “CONFIG_DEBUG_INFO” .config。 打开成功,然后…

plsql 学习

过程化编程语言 赋值:: ||:连接符号 dbms_output.put_line() :输出的语句 var_name ACCOUNTLIBRARY.USERNAME%type; 变量名;某个表的数据类型;赋值给变量名 用下面的方法更好用 异常exception 循…

力扣HOT100 - 75. 颜色分类

解题思路&#xff1a; 单指针&#xff0c;对数组进行两次遍历。 class Solution {public void sortColors(int[] nums) {int p 0;int n nums.length;for (int i 0; i < n; i) {if (nums[i] 0) {int tmp nums[i];nums[i] nums[p];nums[p] tmp;p;}}for (int i p; i …