NLP学习与踩坑记录(持续更新版)

NLP学习与踩坑记录(持续更新版)

  • OSError: Can't load tokenizer for 'bert-base-uncased'.
  • google.protobuf.message.DecodeError: Error parsing message
  • Deepspeed

本博客记录了博主在学习NLP时遇到了各种各样的问题与解决方法,供大家参考,希望踩过的坑不踩第二次!

OSError: Can’t load tokenizer for ‘bert-base-uncased’.

tokenizer = BertTokenizer.from_pretrained("bert-base-uncased", truncation_side=truncation_side)

博主在调用上述代码时出现此报错,原因是在国内因为网络问题无法下载huggingface上的模型。
解决办法一:检查自己的网络,在国内需要使用VPN保证可以访问huggingface,然后重新运行代码。若不行,将模型下载到本地,再重新运行代码。

huggingface-cli download --resume-download google-bert/bert-base-cased --local-dir /home/user/bert-base-cased

解决办法二:使用modelscope上的镜像,速度较快,但可能存在一些huggingface上的模型modelscope上没有。

# pip install modelscope
from modelscope.hub.snapshot_download import snapshot_download
llm = snapshot_download('AI-ModelScope/bert-base-uncased')
tokenizer = BertTokenizer.from_pretrained(llm, truncation_side=truncation_side)

解决办法三:Colab下载转移至Google Drive上,再从Google Drive上下载。

google.protobuf.message.DecodeError: Error parsing message

原因是通过git clone命令直接下载,并没有下载到正确的模型参数文件,只是一个文本文档,解决方法是下载huggingface上的模型需要使用huggingface-cli工具。

# 错误的下载方式
git clone https://huggingface.co/bert-base-uncased
# 正确的下载方式
pip install huggingface_hub
huggingface-cli download --resume-download [model_name] --local-dir [local path] 
# eg: huggingface-cli download --resume-download google-bert/bert-base-cased --local-dir /home/user/

Deepspeed

  • Deepspeed 在训练代码中如果单卡无法加载,初始化需要用init context,参考huggingface的trainer(training argument在模型加载前)https://huggingface.co/docs/transformers/v4.34.1/en/main_classes/deepspeed#constructing-massive-models
  • 数据并行data parallelism (zero3 cuts model horizontally)、流水线并行pipeline parallelism (cuts model vertically)
    https://huggingface.co/docs/transformers/v4.35.2/en/perf_train_gpu_many#zero-data-parallelism–pipeline-parallelism–tensor-parallelism
  • zero++ 优化通信策略 https://www.deepspeed.ai/tutorials/zeropp/#three-components-of-zero

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

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

相关文章

JS最新的关键字和保留字

在JavaScript中,关键字和保留字是用于定义语言语法和特性的特殊标识符。这些关键字和保留字不能被用作变量名、函数名或其他标识符。以下是JavaScript中最新的关键字和保留字的分点表示和归纳: 关键字(Keywords) JavaScript中的…

oracle SCHEDULER

从Oracle 10g开始,推荐使用DBMS_SCHEDULER包,因为它提供了更强大的功能和灵活性,包括更复杂的调度规则、依赖管理和事件驱动等 1. 用法 DBMS_SCHEDULER.CREATE_JOB (job_name IN VARCHAR2,job_type IN VARCHAR2,job…

软件测试流派:深入比较与总结

软件测试流派:深入比较与总结 前言1. 分析流派2. 标准流派3. 质量流派4. 上下文驱动流派5. 敏捷流派流派比较与总结 前言 在现代软件开发中,不同的软件测试流派代表了各自独特的方法论、实践重点和案例应用。理解这些流派的差异有助于选择适合特定项目需…

温度传感器NST175手册阅读

温度传感器NST175手册阅读 首先看芯片的输入和输出:主要关注IIC接口,毕竟是要驱动这个芯片读取温度。在编写此博客时还未对改温度传感器进行调试,只是阅读手册,把需要重点关注的地方标记出来。 一、芯片管脚 二、温度输出格式 …

618大促背后:优秀制造企业如何精准备货?

618这场年中购物盛宴点燃了消费者的热情。而在背后,是许许多多的制造企业在默默发力,对于他们来说,这不仅仅是一个促销的机会,更是一个检验供应链响应速度、库存管理能力以及市场洞察力的关键时刻。那么,优秀的制造企业…

WACV2024检测Detection论文49篇速览

WACV2024 Detection论文摘要速览49篇 Paper1 CLRerNet: Improving Confidence of Lane Detection With LaneIoU 摘要小结: 车道线检测是自动驾驶和驾驶辅助系统中的关键组成部分。现代基于锚点的深度车道检测方法在车道检测基准测试中表现出色。通过初步的实验,我们…

前端菜鸡流水账日记 -- 各类网站(持续更新版)

哈喽大家,这篇文章主要是打算用来放一些我们平时用的到的连接之类的,大多数都是我自己收藏了的,现在和之后如果有新增都会放到这里,持续更新的~~~~ (各种类型的都有) -----------------------------------…

5.卷积神经网络

目录 1.从全连接到卷积分类猫和狗的图片总结2.卷积层一维卷积,二维卷积,三维卷积总结基础卷积的代码实现3.卷积层里的填充和步幅填充步幅总结4.卷积层里的多输入多输出通道多个输入通道多个输出通道多个输入和输出通道1 * 1卷积层总结5.池化层二维最大池化池化层的填充,步幅…

macbook屏幕录制技巧,这2个方法请你收好

在当今数字化时代,屏幕录制成为了一项不可或缺的技能,无论是教学演示、游戏直播,还是软件操作教程,屏幕录制都能帮助我们更直观地传达信息。MacBook作为苹果公司的标志性产品,其屏幕录制功能也备受用户关注。本文将详细…

区区微服务,何足挂齿?

背景 睿哥前天吩咐我去了解一下微服务,我本来想周末看的,结果周末没带电脑,所以只能周一看了。刚刚我就去慕课网看了相关的视频,然后写一篇文章总结一下。这篇文章算是基础理论版,等我之后进行更多的实践,…

Cesium4Unreal - # 011A Http通信

文章目录 Http通信1 思路2 步骤2.1 添加依赖模块2.2 实现Http客户端2.2.1 MyHttpActor.h2.2.1 MyHttpActor.cpp2.3 蓝图代码2.4 数据Http通信 1 思路 在 Unreal Engine中接收 Http数据,我们可以使用Unreal Engine自带的Http支持。 2 步骤 2.1 添加依赖模块 在项目的 Your…

帕金森患者在饮食上需要注意什么

帕金森病患者在饮食上应该遵循以下几个基本原则: 饮食清淡:应多吃新鲜的水果和蔬菜,如苹果、芹菜、菠菜等,以补充维生素和促进胃肠道蠕动。营养均衡:应多吃富含优质蛋白的食物,如鸡蛋、牛奶,以…

Swift开发——元组

Swift语言的数据类型包括整型、浮点型、字符串、布尔型、数组、元组、集合和字典等,本文将详细介绍元组。 01、元组 严格意义上,元组不属于数据类型,而属于数据结构。元组将一些变量或常量或字面量组织成一个有序的序列,索引号从0开始,用圆括号“()”括起来,各个元素间用…

hive 安装 嵌入模式 笔记

$ hive $ HIVE_HOME/bin/schematool -dbType derby –initSchema $ schematool -verbose -validate -dbType derby $HIVE_HOME/bin/hiveserver2 这个启动了先不要关闭,再打开一个终端进行下面的步骤 Beeline -u (用自己的名字和密码) show d…

redis每日一题:Redis哨兵是如何工作的

状态感知: (1)哨兵要知道整个集群的拓扑关系,因此每隔10秒会向master节点发送info命令,返回信息中,包含了每个slave节点的端口号。 (2)向每个master节点特殊的pubsub中发送master当…

毕业答辩PPT:如何在短时间内高效准备?

提起PPT,大家的第一反应就是痛苦。经常接触PPT的学生党和打工人,光看到这3个字母,就已经开始头痛了: 1、PPT内容框架与文案挑战重重,任务艰巨,耗费大量精力。 2、PPT的排版技能要求高,并非易事…

眼镜片怎么洗?眼镜清洗有哪些方法?超声波清洗机能洗眼镜吗?

现在戴眼镜的人有很多,但是所谓的戴眼镜容易,清洗眼镜却是比较难的一件事!不要以为眼镜好像看着不脏,然后随便用眼镜布擦一下就完事了……其实不是的! 眼镜片上面有细小的灰尘颗粒,而随着我们用眼镜布擦眼…

css之sprite

css之sprite 图片整合 sprite 优势 整合的方法 ps 新建图层(名字为英文、给定宽高、选择像素、背景内容设置透明、创建)ctrlc复制小图 ctrlv 粘贴 选择工具移动位置裁剪工具,剪掉下方多余的位置 enter导出(PNG) 精灵…

【自动驾驶】从零开始做ROS小车

文章目录 ROS机器人整体介绍运动底盘的控制(串口通信控制)运动底盘(运动学分析)ROS相关的ubuntu基础教程ROS基础干货ROS应用电机PID控制轮式机器人运动学分析自主导航图像处理深度学习语音识别 ROS机器人整体介绍 【自动驾驶】RO…

MySQL多表查询操作

一对多SQL表创建 -- 创建部门表(父表) create table dept(id int auto_increment comment ID primary key,name varchar(50) not null comment 部门名称 ) comment 部门表;-- 给部门表插入数据 insert into dept (name) values (研发部),(市场部),(财务部),(销售部),(总经办);-…