(StackOverflow问答)使用Huggingface Transformers从磁盘加载预训练模型

news2024/9/23 5:28:50

这是在Stack Overflow上的一个问答,链接如下:

Load a pre-trained model from disk with Huggingface Transformers - Stack Overflowicon-default.png?t=N7T8https://stackoverflow.com/questions/64001128/load-a-pre-trained-model-from-disk-with-huggingface-transformers从这个问答中,我们可以了解到

  • 使用from_pretrained方法加载预训练模型,无需每次下载权重数据。
  • 在加载模型时,需要确保提供的路径是正确的模型标识符或包含config.json文件的目录路径。
  • 使用相对路径或绝对路径。
  • 使用save_pretrained方法保存文件。
  • 示例代码展示了如何加载和保存预训练模型。

🚚🚒🚑🚎🚐🚌🛻🚙🛺🚕🚓🚗🚚🚒🚑🚎🚐🚌🛻🚙🛺🚕🚓🚗

问题描述:

根据from_pretrained的文档,我了解到我不必每次都下载预训练向量(权重数据),我可以使用以下语法将它们保存并从磁盘加载:

 - a path to a `directory` containing vocabulary files required by the tokenizer, for instance saved using the :func:`~transformers.PreTrainedTokenizer.save_pretrained` method, e.g.: ``./my_model_directory/``.
  - (not applicable to all derived classes, deprecated) a path or url to a single saved vocabulary file if and only if the tokenizer only requires a single vocabulary file (e.g. Bert, XLNet), e.g.: ``./my_model_directory/vocab.txt``.

- 一个指向包含分词器所需词汇文件的目录的路径,例如使用 :func:`~transformers.PreTrainedTokenizer.save_pretrained` 方法保存的目录,例如:``./my_model_directory/``。
  - (不适用于所有派生类,已弃用)仅当分词器仅需要单个词汇文件(例如Bert,XLNet)时,才适用于指向单个保存的词汇文件的路径或URL,例如:``./my_model_directory/vocab.txt``。 

所以,我去了模型中心:

https://huggingface.co/models

我找到了我想要的模型:

https://huggingface.co/bert-base-cased

我从他们提供的链接下载了它:

使用掩码语言建模(MLM)目标在英语语言上预训练的模型。它在这篇论文中被介绍,并在这个代码库中首次发布。该模型区分大小写:它区分英语和English。

存储在这个路径下:

  /my/local/models/cased_L-12_H-768_A-12/

 这个路径下包含

 ./
 ../
 bert_config.json
 bert_model.ckpt.data-00000-of-00001
 bert_model.ckpt.index
 bert_model.ckpt.meta
 vocab.txt

 配置了路径,并加载分词器:

PATH = '/my/local/models/cased_L-12_H-768_A-12/'
  tokenizer = BertTokenizer.from_pretrained(PATH, local_files_only=True)

 结果报错:

>           raise EnvironmentError(msg)
E           OSError: Can't load config for '/my/local/models/cased_L-12_H-768_A-12/'. Make sure that:
E           
E           - '/my/local/models/cased_L-12_H-768_A-12/' is a correct model identifier listed on 'https://huggingface.co/models'
E           
E           - or '/my/local/models/cased_L-12_H-768_A-12/' is the correct path to a directory containing a config.json file

 同样的问题发生在我直接链接json文件时:

  PATH = '/my/local/models/cased_L-12_H-768_A-12/bert_config.json'
  tokenizer = BertTokenizer.from_pretrained(PATH, local_files_only=True)

        if state_dict is None and not from_tf:
            try:
                state_dict = torch.load(resolved_archive_file, map_location="cpu")
            except Exception:
                raise OSError(
>                   "Unable to load weights from pytorch checkpoint file. "
                    "If you tried to load a PyTorch model from a TF 2.0 checkpoint, please set from_tf=True. "
                )
E               OSError: Unable to load weights from pytorch checkpoint file. If you tried to load a PyTorch model from a TF 2.0 checkpoint, please set from_tf=True.

 answer

相对路径?绝对路径?

文件相对于您的模型文件夹的位置在哪里? 我认为它必须是相对路径而不是绝对路径。 因此,如果您编写代码的文件位于'my/local/'中,则您的代码应如下所示:

```
PATH = 'models/cased_L-12_H-768_A-12/'
tokenizer = BertTokenizer.from_pretrained(PATH, local_files_only=True)
```

您只需要指定包含所有文件的文件夹,而不是直接指定文件。 我认为这绝对是与路径有关的问题。 尝试更改“斜杠”的样式:'/' vs'\',这些在不同的操作系统中是不同的。 还可以尝试使用“.”,例如./models/cased_L-12_H-768_A-12/等。

推荐【save_pretrained】方法保存文件。

不确定你从哪里获取这些文件。当我检查链接时,我可以下载以下文件:config.json,flax_model.msgpack,modelcard.json,pytorch_model.bin,tf_model.h5,vocab.txt。此外,最好通过tokenizer.save_pretrained('YOURPATH')和model.save_pretrained('YOURPATH')保存文件,而不是直接下载。- cronoik
2020年10月4日21:59

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

YOURPATH = 'E:/workspace/Qwen/Qwen-7B-Chat'

name = 'Qwen/Qwen-7B-Chat'
tokenizer = AutoTokenizer.from_pretrained(name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(name, device_map="auto", trust_remote_code=True, bf16=True).eval()
tokenizer.save_pretrained(YOURPATH)
model.save_pretrained(YOURPATH)

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

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

相关文章

找不到vcomp140.dll,无法继续执行代码?别担心,解决方法在这里!

找不到vcomp140.dll,无法继续执行代码?这个问题很难解决么?在网上看到很多人在咨询这个问题,看来是很多人都遇到了缺失了vcomp140.dll文件的问题啊,小编觉得很有必要来给大家详细的科普一下vcomp140.dll文件,给大家介绍…

测试老鸟整理,Fiddle抓包实战-App数据包抓取,看这一篇就够了...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 我们在做接口测试…

在线剪辑音频教程,从零开始,轻松上手

“在线怎么剪辑音频呀?最近参加了一个线上的歌手大赛,好不容易过了初赛,复赛要求我们准备一首流行歌曲,可是我的音频出了问题,需要进行剪辑,但是我不会进行操作,想求求大家帮帮忙。” 在这个数…

不容易解的题10.7

885.螺旋矩阵III 885. 螺旋矩阵 III - 力扣(LeetCode)https://leetcode.cn/problems/spiral-matrix-iii/?envTypelist&envIdZCa7r67M模拟题的一种,说难也难,说简单也简单。模拟题有很多套路题,它们的题解差不多&…

Vue 中 KeepAlive 内置缓存使用

KeepAlive 介绍及使用场景 KeepAlive 是 vue 中的内置组件&#xff0c;当多个组件动态切换时可以对实例状态进行缓存&#xff0c;用法如下 <router-view v-slot"{ Component }"><keep-alive><component :is"Component" /></keep-al…

Adobe Photoshop2018-2024mac/win合集:轻松掌控设计世界

Adobe Photoshop&#xff0c;简称“PS”&#xff0c;是由Adobe Systems公司开发和发行的图像处理软件。Adobe Photoshop主要处理以像素所构成的数字图像。使用其众多的编修与绘图工具&#xff0c;可以有效地进行图片编辑工作。 Adobe Photoshop在图像、图形、文字、视频、出版等…

京东商品数据:8月京东环境电器行业数据分析

8月份&#xff0c;环境电器大盘市场整体下滑。鲸参谋数据显示&#xff0c;8月京东平台环境电器的大盘将近570万&#xff0c;环比下滑约29%&#xff0c;同比下滑约10%&#xff1b;销售额为25亿&#xff0c;环比下滑约23%&#xff0c;同比下滑约8%。 *数据源于鲸参谋-行业趋势分析…

数字经济和法治背景下国企合规数字化转型思考

近年来&#xff0c;数字经济的快速发展已经深刻影响了各行各业的运营方式和商业模式。在这个数字化时代&#xff0c;企业要想保持竞争力和可持续发展&#xff0c;必须紧跟时代潮流&#xff0c;进行数字化转型。而对于国有企业来说&#xff0c;数字化转型中的合规问题显得尤为重…

景联文科技:AI大模型强势赋能,助力自动驾驶迭代升级

我国一直以来都将自动驾驶作为新兴产业发展的重点领域之一&#xff0c;工信部等相关部委出台了一系列自动驾驶发展战略、规划和标准&#xff0c;一些地方政府也在积极开展关于自动驾驶的地方立法&#xff0c;为自动驾驶技术的研发和应用提供更加具体的法律保障。例如&#xff0…

记录:Unity脚本的编写3.0

目录 前言前置控制方法查看效果移动方式 前言 前面记录了一些通过脚本控制对象模型移动和通过用户的操作对模型进行变化的方法&#xff0c;那么为了让我们创造的不论是地形还是模型都拥有真实的物理引擎&#xff08;大雾&#xff09;&#xff0c;那么这次就使用脚本控制模型感…

purr map walk 学习教程 完整版

Function reference • purrrhttps://purrr.tidyverse.org/reference/index.htmlMap over multiple input simultaneously (in "parallel") — pmap • purrr

linux python 保存图形savefig import matplotlib.pyplot as plt

import matplotlib.pyplot as plt # 绘制图形 mod.plot_history(20)# 保存图形 plt.savefig("my_training_ephoes_plot.png") # 保存为PNG格式 # 保存图形并设置dpi参数 plt.savefig("my_plot.png", dpi600) # 保存为PNG格式&#xff0c;设置dpi为300

Conv1d与Conv2d函数用法

Conv1d 和 Conv2d 分别是卷积神经网络&#xff08;CNN&#xff09;中的两种卷积层操作&#xff0c;它们在处理不同维度的数据上有联系和区别&#xff0c;本文是一篇学习笔记。 本文主要包括以下内容&#xff1a; 1.联系2.区别3.Conv1d卷积4.Conv2d卷积5.图解Conv1d卷积&#x…

一文告知HTTP GET是否可以有请求体

HTTP GET是否可以有请求体 先说结论&#xff1a; HTTP协议没有规定GET请求不能携带请求体&#xff0c;但是部分浏览器会不支持&#xff0c;因此不建议GET请求携带请求体。 HTTP 协议没有为 GET 请求的 body 赋予语义&#xff0c;也就是即不要求也不禁止 GET 请求带 body。大多数…

教资一年可以考几次 教资考试每年次数介绍

教师资格证一年可以考两次。根据教师资格证考试规定&#xff0c;为了满足报考人员的工作需求&#xff0c;达到市场供求均衡的状态&#xff0c;教师资格证区别于其他的技术资格类的考试&#xff0c;会每年举行两次考试&#xff0c;分别在上半年和下半年各举行一次考试。 上半年…

设计模式 - 行为型模式考点篇:策略模式(概述 | 案例实现 | 优缺点 | 使用场景)

目录 一、行为型模式 1.1、策略模式 1.1.1、概论 1.1.2、案例实现 1.1.3、优缺点 1.1.4、使用场景 一、行为型模式 1.1、策略模式 1.1.1、概论 策略模式设计的每一个算法都封装了起来&#xff0c;使他们可以相互替换&#xff0c;通过一个对象委派不同的算法给相应的客户…

【网络安全】关于CTF那些事儿你都知道吗?

关于CTF那些事儿你都知道吗&#xff1f; 前言CTF那些事儿内容简介读者对象专家推荐 本文福利 前言 CTF比赛是快速提升网络安全实战技能的重要途径&#xff0c;已成为各个行业选拔网络安全人才的通用方法。但是&#xff0c;本书作者在从事CTF培训的过程中&#xff0c;发现存在几…

Ant Design of React 创建项目及运行环境

Ant Design of React 学习笔记&#xff08;1&#xff09; 创建项目及运行环境 本文使用 create-react-app 创建一个 TypeScript 项目&#xff0c;并引入 antd。 1.命令行cd到对应的目录&#xff0c;这里是npm下回车运行&#xff0c;其他如pnpm yarn参考官网 npx create-reac…

Java实验(头歌) -Java继承和多态接口

/*** 编写程序&#xff0c;实现两个数的求和运算和比较*/ // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码 /********** Begin **********/ // 定义一个接口类 Compute// 第一个为 sum()&#xff0c;实现两个数的相加&#xff0c;返回值为 int// 第二个为 max()…

【软件测试】APP 上架指南:iOS App Store 首次上架被拒原因分析与解决方案

目录 一、前言 二、APP 审核备案新规 &#xff08;1&#xff09;iOS 上架审核申请被拒 &#xff08;2&#xff09;苹果应用商店重大调整 &#xff08;3&#xff09;首次备案流程 ① 阿里云备案 ② 华为云备案 ③ 腾讯云备案 三、iOS 首次上架拒审原因分析 &#…