Jos*_*bel 4 machine-learning transformer-model flask amazon-elastic-beanstalk huggingface-transformers
我想在 Flask 应用程序中执行文本生成任务并将其托管在 Web 服务器上,但是在下载 GPT 模型时,弹性 beantalk 管理的 EC2 实例崩溃,因为下载需要太多时间和内存
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")
Run Code Online (Sandbox Code Playgroud)
这些是导致问题的相关线路。GPT 大约为 445 MB。我正在使用变压器库。我没有在这一行下载模型,而是想知道是否可以对模型进行腌制,然后将其捆绑为存储库的一部分。这个图书馆可以吗?否则我如何预加载这个模型以避免我遇到的问题?
Zab*_*azi 10
方法一:
从此链接下载模型:
pytorch 模型:https ://s3.amazonaws.com/models.huggingface.co/bert/openai-gpt-pytorch_model.bin
张量流模型: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 模型.h5和config.json文件),将其放在model
存储库中的文件夹中(假设为)。(您可以尝试压缩模型,然后在需要时在 ec2 实例中解压缩)
然后,您可以直接从路径而不是下载(model
包含.h5
和 的文件夹config.json
)在您的网络服务器中加载模型:
model = TFOpenAIGPTLMHeadModel.from_pretrained("model")
# model folder contains .h5 and config.json
tokenizer = OpenAIGPTTokenizer.from_pretrained("openai-gpt")
# this is a light download
Run Code Online (Sandbox Code Playgroud)
方法二:
您可以使用常规方法将模型下载到本地机器中,而不是使用链接下载。
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")
Run Code Online (Sandbox Code Playgroud)
这将下载模型。现在您可以使用save_pretrained
函数将权重保存在文件夹中。
model.save_pretrained('/content/') # saving inside content folder
现在,内容文件夹应该包含一个 .h5 文件和一个 config.json。
只需将它们上传到存储库并从中加载。
归档时间: |
|
查看次数: |
5627 次 |
最近记录: |