【hugging face】如何使用hugging face中下载的模型?

文章介绍了两种导入Huggingface中如BERT和GPT模型的方法:一种是通过配置文件初始化,另一种是直接读入完整模型。配置文件仅包含超参数和权重,而非完整模型。同时,文章提到了tokenizer在预处理中的使用。
摘要由CSDN通过智能技术生成

我们经常使用到hugging face中的模型,比如bert,GPT等等,但是在写代码的过程中发现了两种导入hugging face的方式,现在记录下来。

方式一:通过配置导入

这种方式说白了就是使用函数读入参数文件来实例化模型,官方代码示例
参数配置文件在代码执行的时候自动下载,如果您没有指定下载(缓存)路径,他会自动下载到C:\Users\{您的用户名称}\.cache\huggingface下。具体代码如下:

from transformers import BertModel, BertConfig

# Initializing a BERT bert-base-uncased style configuration
configuration = BertConfig()
# 如果你想读入本地已经下载好的文件,可以直接传入整个文件夹路径
# configuration = BertConfig(Config_path)

# Initializing a model from the bert-base-uncased style configuration
model = BertModel(configuration)

# Tokenizer容器进行预处理
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")

# Accessing the model configuration
configuration = model.config,

需要注意的是,这些文件只是记录了模型的超参数和模型的权重,并不是完整的模型。

方式二:直接读入模型

这种方式是读入完整的模型文件来实例化模型,官方代码示例。以bert-base-uncased模型为例,具体代码如下:

from transformers import BertTokenizer, BertModel
import torch

# Tokenizer容器进行预处理
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
# 如果你想读入本地已经下载好的文件,可以直接传入整个文件夹路径,但是可能存在transformers 3.x和4.x版本不兼容的问题
# tokenizer = BertTokenizer.from_pretrained(model_path)

# Bert模型
model = BertModel.from_pretrained("bert-base-uncased")
# 和上面一样可以传入本地下载好的文件夹路径
# model = BertModel.from_pretrained(model_path)

inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
outputs = model(**inputs)

last_hidden_states = outputs.last_hidden_state
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值