使用Huggingface在矩池云快速加载预训练模型和数据集
作为NLP领域的著名框架,Huggingface(HF)为社区提供了众多好用的预训练模型和数据集。本文介绍了如何在矩池云使用Huggingface快速加载预训练模型和数据集。
1.环境
HF支持Pytorch,TensorFlow和Flax。您可以根据HF官方文档安装对应版本,也可以使用矩池云HuggingFace镜像(基于Pytorch),快速启动。

如果使用其他镜像,你需要手动安装 transformers 和 datasets 两个包:
pip install transformers datasets
HF具体使用方式和代码请参考官方https://github.com/huggingface/transformers
2.预训练模型
2.1 预训练模型简介
HF里有非常多的预训练模型,支持不同软件版本,可用于Pipeline和模型微调。你可以选择从HF官方Model Hub下载预训练模型(可能耗时较长),另外矩池云提供了部分常用的预训练模型。访问路径:/public/model/nlp/
预训练模型名称(定时更新,也可以联系矩池云小助手补充):
| 模型名称 |
|---|
| albert-base-v2 |
| albert-xxlarge-v2 |
| bert-base-cased |
| bert-base-chinese |
| bert-base-uncased |
| bert-large-uncased |
| xlm-roberta-base |
| chinese-bert-wwm-ext |
| chinese-electra-180g-base-discriminator |
| chinese-roberta-wwm-ext |
| clip-vit-base-patch32 |
| code_trans_t5_small_program_synthese_transfer_learning_finetune |
| deberta-v3-base |
| deberta-v3-large |
| distilbart-cnn-12-6 |
| distilbert-base-uncased-finetuned-sst-2-english |
| distilgpt2 |
| gpt2-chinese-cluecorpussmall |
| gpt2 |
| roberta-base |
| t5-base |
| xlm-roberta-base |
2.2 预训练模型使用方法
首先需要将自己需要使用的预训练模型zip文件解压到矩池云网盘或者机器中其他目录(存到网盘后下次可以直接使用),使用模型时填入本地存储路径即可调用。
以使用albert-base-v2模型为例子:
- 解压
unzip /public/model/nlp/albert-base-v2.zip -d /mnt/
- 代码中使用
如果环境中没有transformers包,可以先pip install transformers安装。
from transformers import AutoModel
model = AutoModel.from_pretrained('/mnt/albert-base-v2')
# 注意 /mnt/albert-base-v2 是你解压后模型文件所在路径
3.数据集
3.1 数据集简介
数据集存放路径:/public/data/nlp
数据集名称(定时更新,也可联系矩池云小助手):
| 名称 | 描述 |
|---|---|
| dbpedia_14 | 基于DBpedia2014的14个不重叠的分类数据集,包含40,000训练样本和5,000测试样本。源自维基百科的语义词条 |
| glue | 通用语言理解评估基准,面向9项任务的数据集,参考gluebenchmark |
| newsgroup | 用于文本分类、文本挖据和信息检索研究的国际标准数据集之一。数据集收集了大约20,000左右的新闻组文档,均匀分为20个不同主题的新闻组集合 |
| squad | 斯坦福问答数据集,一个阅读理解数据集 |
| super_glue | 更新版的Glue数据集 |
| wikitext | 英语词库数据是由Salesforce MetaMind 策划的包含1亿个词汇的大型语言建模语料库。这些词汇都是从维基百科一些经典文章中提取得到 |
| yahooAnswers | 数据集源于 Yahoo!Answers Comprehensive Questions and Answers 1.0 的 10 个主要分类数据,每个类别分别包含 140000 个训练样本和 5000 个测试样本 |
| yelp_review_full | 这个数据集是Yelp业务、评论和用户数据的一个子集。包含大量的评论、业务、用户、提示和签到数据 |
3.2 数据集使用方法
首先需要将自己需要使用的数据集zip文件解压到矩池云网盘或者机器中其他目录(存到网盘后下次可以直接使用),使用数据集时在代码抬头添加代码from datasets import load_from_disk,并将代码中加载数据集函数load_dataset更改为load_from_disk(数据集存放路径)即可。部分数据集需指定Subset。
以使用dbpedia_14数据集为例子:
- 解压,将数据集解压到网盘中(确保网盘空间足够)
unzip /public/data/nlp/dbpedia_14.zip -d /mnt/
- 代码中使用
如果环境中没有datasets包,可以先pip install datasets安装。
from datasets import load_from_disk
data = load_from_disk('/mnt/dbpedia_14')
# 注意 /mnt/dbpedia_14 是你解压后数据集文件所在路径
使用Huggingface在矩池云快速加载预训练模型和数据集的更多相关文章
- [Pytorch]Pytorch加载预训练模型(转)
转自:https://blog.csdn.net/Vivianyzw/article/details/81061765 东风的地方 1. 直接加载预训练模型 在训练的时候可能需要中断一下,然后继续训练 ...
- pytorch中修改后的模型如何加载预训练模型
问题描述 简单来说,比如你要加载一个vgg16模型,但是你自己需要的网络结构并不是原本的vgg16网络,可能你删掉某些层,可能你改掉某些层,这时你去加载预训练模型,就会报错,错误原因就是你的模型和原本 ...
- pytorch加载预训练模型参数的方式
1.直接使用默认程序里的下载方式,往往比较慢: 2.通过修改源代码,使得模型加载已经下载好的参数,修改地方如下: 通过查找自己代码里所调用网络的类,使用pycharm自带的函数查找功能(ctrl+鼠标 ...
- Tensorflow加载预训练模型和保存模型(ckpt文件)以及迁移学习finetuning
转载自:https://blog.csdn.net/huachao1001/article/details/78501928 使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我 ...
- Tensorflow加载预训练模型和保存模型
转载自:https://blog.csdn.net/huachao1001/article/details/78501928 使用tensorflow过程中,训练结束后我们需要用到模型文件.有时候,我 ...
- 在矩池云使用Disco Diffusion生成AI艺术图
在 Disco Diffusion 官方说明的第一段,其对自身是这样定义: AI Image generating technique called CLIP-Guided Diffusion.DD ...
- 矩池云上cifar10使用说明
矩池云将 keras 预训练模型保存目录为 /public/keras_pretrained_model/ 使用方法: 先执行命令,创建目录 mkdir -p ~/.keras/models/ 然后将 ...
- 如何使用 PuTTY 远程连接矩池云主机
PuTTY 是一款开源的连接软件,用来远程连接服务器,支持 SSH.Telnet.Serial 等协议. 矩池云的主机支持 SSH 登录,以下为使用 PuTTY 连接矩池云 GPU 的使用教程. 如您 ...
- 矩池云 | 高性价比的GPU租用深度学习平台
矩池云是一个专业的国内深度学习云平台,拥有着良好的深度学习云端训练体验.在性价比上,我们以 2080Ti 单卡为例,36 小时折扣后的价格才 55 元,每小时单价仅 1.52 元,属于全网最低价.用户 ...
随机推荐
- 『现学现忘』Git基础 — 24、Git中查看历史版本记录
目录 1.查看详细的历史版本记录 2.简化显示历史版本记录 3.历史版本记录常用操作 (1)指定查看最近几次提交的内容 (2)以简单图形的方式查看分支版本历史 (3)翻页与退出 4.查看分支相关的版本 ...
- Golang 函数 方法 接口的简单介绍
函数 函数是基本的代码块,通常我们会将一个功能封装成一个函数,方便我们调用,同时避免代码臃肿复杂. 函数的基本格式 func TestFunc(a int, b string) (int, strin ...
- uniapp封装request方法及调用
export default { doRequest(method, url, data) { // 如果data为空 if (!data) var data = [] var arr = [] ar ...
- JavaSE_多线程入门 线程安全 死锁 状态 通讯 线程池
1 多线程入门 1.1 多线程相关的概念 并发与并行 并行:在同一时刻,有多个任务在多个CPU上同时执行. 并发:在同一时刻,有多个任务在单个CPU上交替执行. 进程与线程 进程:就是操作系统中正在运 ...
- golang 方法接收者
[定义]: golang的方法(Method)是一个带有receiver的函数Function,Receiver是一个特定的struct类型,当你将函数Function附加到该receiver, 这个 ...
- 『忘了再学』Shell基础 — 24、Shell正则表达式的使用
目录 1.正则表达式说明 2.基础正则表达式 3.练习 (1)准备工作 (2)*练习 (3).练习 (4)^和$练习 (5)[]练习 (6)[^]练习 (7)\{n\}练习 (8)\{n,\}练习 ( ...
- 技术分享 | 想做App测试就一定要了解的App结构
本文节选自霍格沃兹测试开发学社内部教材 app 的结构包含了 APK 结构和 app 页面结构两个部分 APK结构 APK 是 Android Package 的缩写,其实就是 Android 的安装 ...
- ES6 伪数组转真数组
更新日志 2022年6月13日 发布. 2022年5月19日 笔记迁移到博客. 直接上代码 [...a];
- MongoDB学习总览
第1部分: MongoDB入门(第1~6章) 该部分介绍MongoDB的基本概念及入门知识. 通过该部分的学习,读者可对MongoDB自身的技术全貌形成一定的认识. 第2部分: MongoDB微服务开 ...
- [自制操作系统] 第04回 完善MBR
目录 一.前景回顾 二.改写MBR 三.实现loader 一.前景回顾 在之前我们说到,MBR的作用便是加载操作系统内核到指定位置.而MBR需要通过读取硬盘来获得操作系统内核.在上一回我们已经讲解了硬 ...