如何解决Docker 映像在 AWS ECR
首先,我对 Docker 比较陌生,我才刚刚开始掌握它的核心概念,尽管我不确定这是问题的根源。无论如何,我目前正在处理一个(python)项目,该项目涉及一个汇总模型(https://huggingface.co/sshleifer/distilbart-cnn-12-6),该模型在通过运行初始化脚本构建图像时下载。在本地构建和运行容器时,我可以看到正在下载预先训练的模型,并且一切正常。 (也许没有必要,但是:模型只需要下载一次。之后,它会定位模型并且不会在每次运行时重新下载它。)然后,我将图像推送到 AWS ECR 并将其加载到 lambda 中功能。现在,在测试该函数时,它会产生以下错误:
[ERROR] OSError: Can't load config for 'sshleifer/distilbart-cnn-12-6'. Make sure that:
- 'sshleifer/distilbart-cnn-12-6' is a correct model identifier listed on 'https://huggingface.co/models'
- or 'sshleifer/distilbart-cnn-12-6' is the correct path to a directory containing a config.json file
如错误所示,它表示无法在网站上找到预训练模型。这与在本地运行容器时的行为不同。此外,这也没有任何意义,因为模型初始化脚本已经将模型下载到图像中,因此不再需要这样做。我想它首先检查模型是否在线可用,然后检查它是否尚未下载,但我不确定......有谁知道如何解释这种不同的行为以及我如何解决这个问题?代码(标准代码,从模型网站复制,model_no
为 0 或 1):
def summarizer(text,model_no):
models = ['google/pegasus-cnn_dailymail','sshleifer/distilbart-cnn-12-6']
model = BartForConditionalGeneration.from_pretrained(models[model_no])
tokenizer = BartTokenizer.from_pretrained(models[model_no])
inputs = tokenizer([text],max_length=1024,return_tensors='pt')
summary_ids = model.generate(inputs['input_ids'],num_beams=4,max_length=5,early_stopping=True)
return [tokenizer.decode(g,skip_special_tokens=True,clean_up_tokenization_spaces=False) for g in summary_ids]
任何帮助将不胜感激! 彼得
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。