解决:bert_score无法加载本地模型

相信很多小伙伴平时都使用内网进行工作,这些网络是无法连接huggingface的,使用魔塔加载模型网络断断续续的很容易失败。但是bert_score只接收一个模型名,然后自动在huggingface下载或在本地缓存加载。这个缓存跟huggingface官方缓存是不同的。

解决办法1:修改bert_score源码。bert_score虽说是只接受模型名,但内部还是通过AutoTokenizer.from_pretrained和AutoModel.from_pretrained这两个方法加载模型,相信这两个方法大家都很熟悉了。因此只需要在源码中添加自己的model_path,并且把源码中的model_type这个参数改为model_path

源码:

def get_model(model_type, num_layers, all_layers=None):if model_type.startswith("scibert"):model = AutoModel.from_pretrained(cache_scibert(model_type))elif "t5" in model_type:from transformers import T5EncoderModelmodel = T5EncoderModel.from_pretrained(model_type)else:model = AutoModel.from_pretrained(model_type)model.eval()def get_tokenizer(model_type, use_fast=False):if model_type.startswith("scibert"):model_type = cache_scibert(model_type)if version.parse(trans_version) >= version.parse("4.0.0"):tokenizer = AutoTokenizer.from_pretrained(model_type, use_fast=use_fast)else:assert not use_fast, "Fast tokenizer is not available for version < 4.0.0"tokenizer = AutoTokenizer.from_pretrained(model_type)return tokenizer

改为:

def get_model(model_type, num_layers, all_layers=None):model_path = 'xxx'if model_type.startswith("scibert"):model = AutoModel.from_pretrained(cache_scibert(model_type))elif "t5" in model_type:from transformers import T5EncoderModelmodel = T5EncoderModel.from_pretrained(model_path)else:model = AutoModel.from_pretrained(model_path)model.eval()def get_tokenizer(model_type, use_fast=False):if model_type.startswith("scibert"):model_type = cache_scibert(model_type)model_path = 'xxx'if version.parse(trans_version) >= version.parse("4.0.0"):tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=use_fast)else:assert not use_fast, "Fast tokenizer is not available for version < 4.0.0"tokenizer = AutoTokenizer.from_pretrained(model_path)return tokenizer

解决办法2:让bert_score找到缓存模型,相信聪明的小伙伴已经在前面的代码中看到bert_score是如何加载缓存模型的。如果要加载缓存模型,model_type字段加载的模型前要加scibert-前缀。并且需要把本地模型放在指定的目录下。可以看出这个函数下载的模型有它自己的命名规则,需要根据它的规则对自己的模型文件做出相应修改。

下面给出部分源码

def cache_scibert(model_type, cache_folder="~/.cache/torch/transformers"):if not model_type.startswith("scibert"):return model_typeunderscore_model_type = model_type.replace("-", "_")cache_folder = os.path.abspath(os.path.expanduser(cache_folder))filename = os.path.join(cache_folder, underscore_model_type)

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

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

相关文章

2710.移除字符串中的尾随0

从右到左&#xff0c;找到第一个不为0的&#xff0c;然后返回字符串前面的. class Solution { public:string removeTrailingZeros(string num) {int i num.length();while(true){if (num[i-1]0){i--;}else break;}return num.substr(0, i);} };调用函数&#xff0c;string.f…

最新源支付系统源码 V7版全开源 免授权 附搭建教程

最新源支付系统源码_V7版全开源_免授权_附详细搭建教程_站长亲测 YPay是专为个人站长打造的聚合免签系统&#xff0c;拥有卓越的性能和丰富的功能。它采用全新轻量化的界面UI&#xff0c;让您能更方便快捷地解决知识付费和运营赞助的难题。同时&#xff0c;它基于高性能的thin…

TypeScript学习笔记(全)

文章目录 TypeScript入门2.编译并运行TS代码2.1.简化运行ts步骤 3.TS中的常用类型3.1.TS中的类型注解3.2.TS中的原始类型3.3.TS中的数组类型3.4.TS中的联合类型3.5.类型别名3.6.函数类型3.6.1.单独执行参数、返回值类型3.6.2.同时指定参数&#xff0c;返回值类型3.6.3.函数的vo…

网络编程:使用UDP实现数据帧的接收

目录 1、需求 2、逻辑处理 3、代码实现 4、总结 1、需求 使用java代码实现数据帧的接收需求&#xff0c;完成数据到数据库的存储。 2、逻辑处理 由于udp传输不保证数据的有序性、可靠性&#xff0c;所以在做业务开发的时候&#xff0c;要程序员自己考虑需求完善udp的缺陷。…

广东省钟表行业协会第十二届会员大会暨2024年钟表行业发展交流会

6月25日广东省钟表行业协会第十二届会员大会暨2024年钟表行业发展交流会在广州万富希尔顿酒店隆重召开。大会选举沙胜昔为广东省钟表行业协会第十二届理事会会长。 领导发言 新任会长 沙胜昔 首席荣誉会长 吴伟阳 新老会长交接仪式 本次大会&#xff0c;全国钟表大伽齐参与…

前端Web开发HTML5+CSS3+移动web视频教程 Day3 CSS 第1天

P29 - P43 从此开始进入 CSS 的学习。前面都是 HTML 的学习。 CSS 的作用&#xff1a;美化。 HTML 只是规定了网页内容有哪些&#xff0c;在网页中显示的位置默认是从上到下显示&#xff0c;还带有默认效果&#xff0c;比如超链接有颜色有下划线&#xff0c;无序列表有小圆点…

CSS Flex弹性布局

一、传统布局与flex布局 1、传统布局 2、flex布局 二、flex布局原理 1、布局原理 2、flex布局体验 三、flex布局父项常见属性 1、常见的父项属性 2、flex-direction设置主轴的方向 3、justify-content 设置主轴上的子元素排列方式 4、flex-wrap 设置子元素是否换行 …

同步的问题及解决方案

同步 同步的问题 当给狗狗食物的同时,狗狗又在吃,这会导致在运行过程中会出现食物的数据的错乱,有时候会多出数据,有时候会少出数据,这就让狗狗有时候会很吃亏,那么该如何解决呢? 实验体现 package multiThread2;public class Animal{private String name;private int…

电影票房预测管理系统设计

电影票房预测管理系统的开发涉及多个层面的设计&#xff0c;包括但不限于数据收集、数据分析、预测模型构建、用户界面设计和系统集成。以下是一个基本的系统设计框架&#xff1a; 1. 数据收集模块&#xff1a;这是整个系统的基础。需要收集的数据可能包括历史票房数据、上映电…

docker离线安装部署

docker离线安装部署 下载资源包 wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.0.tgzwget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.6.tgz安装 #1、解压dockertar -zxvf docker-24.0.6.tgz#2、将解压之后的docker文…

2024年6月GESP认证图形化编程_Python_C++真题及答案

2024年6月CCF GESP认证图形化编程_Python_C真题及答案 GESP 6月认证图形化编程一级真题 GESP 6月认证图形化编程二级真题 GESP 6月认证图形化编程三级真题 GESP 6月认证图形化编程四级真题 GESP 6月认证 C 一级真题 GESP 6月认证 C 二级真题 GESP 6月认证 C 三级真题 GE…

HTML 纯页面商城(简易版)

index.html ---- <!DOCTYPE html> <html lang"zh"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>购物商城</ti…

Memcached安装与配置:从零开始搭建高效缓存系统

Memcached 是一个高性能、分布式内存对象缓存系统&#xff0c;用于加速动态Web应用程序&#xff0c;减轻数据库负载。本文将详细介绍如何从零开始安装和配置Memcached&#xff0c;以搭建一个高效的缓存系统。 1. Memcached简介 Memcached 是一个开源的内存缓存系统&#xff0…

二叉树从根节点出发的所有路径

二叉树从根节点出发的所有路径 看上图中 二叉树结构 从根节点出发的所有路径 如下 6->4->2->1 6->4->2->3 6->4->5 6->8->7 6->8->9 逻辑思路&#xff1a; 按照先序遍历 加 回溯法 实现 代码如下 // 调用此方法&#xff0c;将根节点传递…

上位机图像处理和嵌入式模块部署(mcu 项目1:上位机编写)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面&#xff0c;我们说过要做一个报警器。如果只是简单做一个报警器呢&#xff0c;这个基本上没有什么难度。这里&#xff0c;我们就适当提高一下…

Navicat上新啦

前言 Navicat&#xff0c;在数据库界&#xff0c;几乎是一个神奇的存在&#xff0c;似乎统治了数据库开发工具的“一片天”。且看下图&#xff1a; 红的蓝的绿的橙的…&#xff0c;可以说&#xff0c;留给它的color不多了。 那么商业BI到服务监控、从云托管到云协作&#xff…

短剧App开发的全攻略

短剧App开发的全攻略可以概括为以下几个关键步骤&#xff1a; 1、市场调研与需求分析 进行市场调研&#xff0c;研究目标用户群体&#xff0c;了解他们的需求和偏好。 观察竞争对手的App&#xff0c;分析他们的优点和缺点&#xff0c;以此为基础来制定自己的开发计划。 确定App…

Apipost接口测试工具的原理及应用详解(一)

本系列文章简介&#xff1a; 随着软件行业的快速发展&#xff0c;API&#xff08;应用程序编程接口&#xff09;作为不同软件组件之间通信的桥梁&#xff0c;其重要性日益凸显。API的质量直接关系到软件系统的稳定性、性能和用户体验。因此&#xff0c;对API进行严格的测试成为…

Zookeeper节点ACL权限设置—digest模式

ACL全称为Access Control List&#xff08;访问控制列表&#xff09;&#xff0c;用于控制资源的访问权限。ZooKeeper使用ACL来控制对其znode&#xff08;ZooKeeper数据树的数据节点&#xff09;的访问。 zk利用ACL策略控制节点的访问权限: CREATE c 可以创建子节点 DELETE …

锅炉引风机控制系统原理

锅炉引风机控制系统原理 引言 现有的锅炉由蒸汽锅炉改造而成的常压热水锅炉,常压锅炉使用安全,对原材料的要求比蒸汽锅炉低,无需控制蒸汽压力,控制精度要求相对要低。目前国内外对蒸汽锅炉引风机控制的研究己经比较成熟,锅炉引风机控制数学模型基本定型,而锅炉引风机控…