如何在不使用包的情况下将BERT模型下载到本地?

Posted

技术标签:

【中文标题】如何在不使用包的情况下将BERT模型下载到本地?【英文标题】:How to download BERT model locally, without use of package? 【发布时间】:2021-07-08 19:34:01 【问题描述】:

公司防火墙似乎阻止我使用

model = AutoModel.from_pretrained("sentence-transformers/bert-base-nli-stsb-mean-tokens")

所以我需要在本地下载这个模型,然后将其读入 Python。 找不到直接的 AWS 链接,似乎通常采用这种形式:但没有用

https://s3.amazonaws.com/models.huggingface.co/bert/bert-base-nli-stsb-mean-tokens-pytorch_model.bin

尝试了这些类似的问题/解决方案here 但没有奏效,因为我无法运行第一行从 Python 中预训练的下载,我需要一个外部解决方案

【问题讨论】:

here 【参考方案1】:

你可以试试这个,例如:

from transformers import AutoTokenizer, TFAutoModel

tokenizer = AutoTokenizer.from_pretrained('bert-base-multilingual-uncased')
bert=TFAutoModel.from_pretrained('bert-base-multilingual-uncased')

tokenizer.save_pretrained("./models/tokenizer/")
bert.save_pretrained("./models/tokenizer/")

【讨论】:

【参考方案2】:

如果使用了某些模型,则有 .cache 文件夹,您可以将其复制/粘贴到您想要的位置,并在 SentenceTransformer(path/to/your/folder/with/model) 中使用 我使用的是 Linux,所以 .cache 文件夹位于 /home/username/.cache/torch/sentence-transformers。

【讨论】:

以上是关于如何在不使用包的情况下将BERT模型下载到本地?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ROOM 库在不阻塞 UI 的情况下将数千条记录从本地数据库加载到 recyclerview

在不使用经典 RPyC 的情况下将 RPyC 的标准输出重定向到本地客户端

如何在不创建 Mongoose 模型的情况下将 GraphQL 与 Mongoose 和 MongoDB 一起使用

在不使用 Terraform 文件配置器的情况下将本地文件部署到实例

如何在不使用共享首选项的情况下将数据存储为颤动的对象[关闭]

如何在不将图像保存在本地的情况下将捕获的图像(Surface View)传递给另一个片段?