首页 > 其他分享 >HuggingFace | 如何下载预训练模型

HuggingFace | 如何下载预训练模型

时间:2023-07-05 12:44:24浏览次数:43  
标签:bert 文件 模型 uncased HuggingFace base 下载

本例我们在Linux上进行下载,下载的模型是bert-base-uncased

下载网址为:https://www.huggingface.co/bert-base-uncased

huggingface的transformers框架,囊括了BERT、GPT、GPT2、ToBERTa、T5等众多模型,同时支持pytorch和tensorflow 2,代码非常规范,使用也非常简单,但是模型使用的时候,要从他们的服务器上去下载模型,那么有没有办法,把这些预训练模型下载好,在使用时指定使用这些模型呢?答案是肯定的。

总览

总体是,将所需要的预训练模型、词典等文件下载至本地文件夹中 ,然后加载的时候model_name_or_path参数指向文件的路径即可。

下载方法

说明:我这三种下载方法都亲自尝试过,若你不成功请重复尝试,如果卡住,把下载一半的文件删掉,在重启一下重新尝试。

方法一:代码直接下载

我们在第一次执行BertTokenizer BertModel中的某个模型的from_pretrained函数的时候,将会自动下载预训练模型的相关文件。Linux中默认下载到~/.cache/huggingface/transformers中。

代码如下:

from transformers import BertTokenizer, BertModel
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
model = BertModel.from_pretrained("bert-base-uncased")

# ...一系列操作
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
print(output)

方法二:网址下载

首先打开网址:https://huggingface.co/models 这个网址是huggingface/transformers支持的所有模型,目前一直在增长。搜索bert-base-uncased(其他的模型类似,比如gpt2等),并点击进去。

点击页面中的Files and versions,可以看到模型的所有文件。

通常我们需要保存的是三个文件及一些额外的文件,第一个是配置文件;config.json。第二个是词典文件,vocab.json。第三个是预训练模型文件,如果你使用pytorch则保存pytorch_model.bin文件,如果你使用tensorflow 2,则保存tf_model.h5

额外的文件,指的是tokenizer.jsontokenizer_config.json等,这几类是tokenizer需要使用的文件,如果出现的话,也需要保存下来。没有的话,就不必在意。如果不确定哪些需要下,哪些不需要的话,可以把上图中类似的文件或全部文件全都下载下来。

下载到本地文件夹bert-base-uncased,同时这些名称务必注意保证与图中的名称完全一致。然后从本地上传至自己的服务器想要存储的位置。

文件结构:

|- bertLearning 项目目录
|---->bert-base-uncased  下载好的bert-base-uncased预训练模型的文件,放在名为bert-base-uncased文件夹下
|---->run.py  加载执行预训练模型的文件

run.py代码如下:

from transformers import BertTokenizer, BertModel
tokenizer = BertTokenizer.from_pretrained("./bert-base-uncased")
model = BertModel.from_pretrained("./bert-base-uncased")

# ...一系列操作
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
print(output)

我们可以看出from_pretrained函数的参数是一个字符串类型的路径,例子中使用的路径是相对路径。意思是运行的这个py文件的文件夹中的bert-base-uncased文件。然后,就会自动在这个文件夹下去寻找相应的文件去加载tokenizer和model。

方法三:添加cache_dir参数

我们在第一次执行BertTokenizer BertModel中的某个模型的from_pretrained函数的时候,将会自动下载预训练模型的相关文件。但是我们还在函数中增加了cache_dir参数,这个参数的作用是你要下载到自己想要指定的一个文件夹下。

代码如下:

from transformers import BertTokenizer, BertModel
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased",cache_dir="/home/user/path/to/bertLearning/cache/")
model = BertModel.from_pretrained("bert-base-uncased",cache_dir="/home/user/path/to/bertLearning/cache/")

# ...一系列操作
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
print(output)

下载完,我们创建的cache文件夹中的预训练模型的文件如下:

总结:

  • 千万不要把三个方法混着用,可能你最后都不知道到底哪个文件夹加载起了作用。(在全都下载的情况下,可能存在优先级查找)
  • 上面的三种方法亲身实验,如果不成功,删除和重启从新下载文件。

标签:bert,文件,模型,uncased,HuggingFace,base,下载
From: https://www.cnblogs.com/zhangxuegold/p/17528233.html

相关文章

  • 【ABAP】下载模板文件进行批导程序
    日常开发中遇到的批导开发程序,都是通过tcode:SMW0将模板excel文件上传到服务器界面上放置下载模板的工具栏按钮,用户使用时下载模板并编辑数据,然后上传文件进行导入处理程序如下REPORTzfile_upload.TABLES:sscrfields.SELECTION-SCREENFUNCTIONKEY1.SELECTION-SCRE......
  • android studio下载地址
    AndroidStudio3.0下载地址——高速下载https://www.androiddevtools.cn/ 谷歌2017发布会更新了挺多内容的,而且也发布了AndroidStudio3.0预览版,一些功能先睹为快。下载地址:https://developer.android.google.cn/studio/archive.html选择显示全部即可看到下载地址,这里给出来了。Wi......
  • 【AI新趋势期刊#2】AI发明计算机算法,如何给大模型排行,照片秒变二维码,视频一键动漫风
    前言每天都要浏览大量AI相关新闻,是不是感到信息量爆炸,有效信息少?这么多新产品和新工具,到底哪些是真正是有价值的,哪些只是浮躁的一时热点?想参与AI产品和工具的开发,从哪里能够获得大量的灵感和思路?我会把AI相关的新趋势、新想法、新思路,和成熟AI产品、工具、模型等整理在这里,帮......
  • Hadoop版本下载和介绍
    1下载地址1.1官网:官网下载1.2旧版本下载(官方的archive地址):旧版本下载1.3清华大学开源软件镜像站下载(速度较快,只有新版本):清华大学开源软件镜像站2common\core\client的区别2.1Hadoop-commonHadoop-Common是指支持Hadoop模块的常用实用程序和库.2.2Hadoop-core......
  • 【paddlepaddle速成】paddlepaddle图像分类从模型自定义到测试
    这是给大家准备的paddlepaddle与visualdl速成例子这一次我们讲讲paddlepadle这个百度开源的机器学习框架,一个图像分类任务从训练到测试出结果的全流程。将涉及到paddlepaddle和visualdl,git如下:https://github.com/PaddlePaddle相关的代码、数据都在我们Git上,希望大家Follow一下......
  • 【本周特惠课程】深度学习6大模型部署场景(Pytorch+NCNN+MNN+Tengine+TensorRT+微信小
    前言欢迎大家关注有三AI的视频课程系列,我们的视频课程系列共分为5层境界,内容和学习路线图如下:第1层:掌握学习算法必要的预备知识,包括Python编程,深度学习基础,数据使用,框架使用。第2层:掌握CV算法最底层的能力,包括模型设计基础,图像分类,模型分析。第3层:掌握CV算法最核心的方向,包括图像分......
  • 【总结】超100期经典GAN模型的解读,从结构设计到应用,你不动心吗?
    GAN无疑是这几年深度学习领域里最酷的技术,不管是理论的研究,还是GAN在图像生成,图像翻译,语音图像等基础领域的应用,都非常的丰富。我们公众号输出过非常多的GAN相关资源,本次做一个简单汇总,并重点介绍其中的各类GAN模型解读的专题。内容包括生成模型基础,自编码器与变分自编码器,生成对抗......
  • 【模型解读】深度学习网络只能有一个输入吗
    平常我们所见的深度学习模型,都是输入一个图像或者视频序列,输出分类,分割,目标检测等结果,但是还有一种模型需要输入两张,或者多张图片,这就是多输入网络结构。作者|言有三编辑|言有三01多输入网络的应用背景首先我们说说在什么情况下,需要多个输入,只以纯图像应用为例。1.1图像验证与......
  • STM32芯片包下载
    下载地址:https://www.keil.arm.com/devices/?page=2ArmKeil|Devices  随便点一个   ......
  • macsc软件下载资源- Lightroom Classic 2023(摄影后期图像编辑处理工具)
    哪里可以下载 macsc软件下载资源-LightroomClassic2023(摄影后期图像编辑处理工具)呢?AdobeLightroomClassic2023激活版是一款专业的数字照片处理软件,它可以帮助摄影师对照片进行分类、编辑、调整和输出。它具有强大的图像处理功能,可以对RAW格式的照片进行处理,支持多种文件......