首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何预下载变压器模型

如何预下载变压器模型
EN

Stack Overflow用户
提问于 2020-06-11 05:52:57
回答 2查看 10.1K关注 0票数 5

我希望在一个烧瓶应用程序中执行文本生成任务,并将其托管在web服务器上,但是当下载GPT模型时,弹性豆茎托管EC2实例会崩溃,因为下载需要花费太多的时间和内存。

代码语言:javascript
复制
from transformers.tokenization_openai import OpenAIGPTTokenizer
from transformers.modeling_tf_openai import TFOpenAIGPTLMHeadModel
model = TFOpenAIGPTLMHeadModel.from_pretrained("openai-gpt")
tokenizer = OpenAIGPTTokenizer.from_pretrained("openai-gpt")

这些都是引起这一问题的原因。GPT大约为445 MB。我在用变压器库。我不想在这一行下载模型,而是想知道是否可以对模型进行筛选,然后将其打包成存储库的一部分。这个图书馆有这个可能吗?否则,我如何能够预加载这个模型,以避免我有问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-11 06:15:00

方法1:

在这里搜索模型:https://huggingface.co/models

从此链接下载模型:

火把-模型:https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-pytorch_model.bin

tensorflow模型:https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-tf_model.h5

配置文件:https://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-config.json

来源:https://huggingface.co/transformers/_modules/transformers/configuration_openai.html#OpenAIGPTConfig

您可以手动下载模型(在您的示例中是TensorFlow model .h5config.json文件),将其放在存储库中的一个文件夹(例如model)中。(您可以尝试压缩模型,然后在需要时在ec2实例中解压缩)

然后,您可以直接从路径加载web服务器中的模型,而不是下载(包含.h5config.jsonmodel文件夹):

代码语言:javascript
复制
model = TFOpenAIGPTLMHeadModel.from_pretrained("model") 
# model folder contains .h5 and config.json
tokenizer = OpenAIGPTTokenizer.from_pretrained("openai-gpt") 
# this is a light download

方法2:

不用使用链接来下载,您可以使用传统的方法在本地机器中下载模型。

代码语言:javascript
复制
from transformers.tokenization_openai import OpenAIGPTTokenizer
from transformers.modeling_tf_openai import TFOpenAIGPTLMHeadModel
model = TFOpenAIGPTLMHeadModel.from_pretrained("openai-gpt")
tokenizer = OpenAIGPTTokenizer.from_pretrained("openai-gpt")

这将下载模型。现在,您可以使用save_pretrained函数将权重保存在文件夹中。

model.save_pretrained('/content/') # saving inside content folder

现在,内容文件夹应该包含一个.h5文件和一个config.json。

只需将它们上传到存储库并从中加载即可。

票数 9
EN

Stack Overflow用户

发布于 2020-10-09 13:20:07

打开https://huggingface.co/models并搜索您想要的模型。单击模型名称,最后单击“列出模型中的所有文件”。您将得到一个文件列表,您可以下载。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62317931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档