git - 将 bert 作为子模块添加到我的 git repo 后找不到错误 "version"

标签 git git-submodules bert-language-model

添加 BERT 作为子模块后,无法使用,配置文件中缺少版本信息。这些是主要步骤:

1- 我使用 git submodule add https://huggingface.co/bert-base-multilingual-uncased 命令将其作为子模块添加到我的存储库中 2- 我把它放在一个目录中,目录的名称是:pretrained/mbert/ 3- 我使用以下代码来使用它:

from sentence_transformers import SentenceTransformer


def embed_text(sentences, pretrained="../pretrained/mbert/bert-base-multilingual-cased"): 
    """
    Computes the embeddings of the different sentences in input.
    :param sentences: list, of sentences
    :param pretrained: str, the pretrained bert model
    :return: list, of list
    """

    model = SentenceTransformer(pretrained) 
    sentence_embeddings = model.encode(sentences)

    return [arr.tolist() for arr in sentence_embeddings]

我遇到了以下错误:

model = SentenceTransformer(pretrained)  
  File "C:\ProgramData\Anaconda3\lib\site-packages\sentence_transformers\SentenceTransformer.py", line 104, in __init__
    if config['__version__'] > __version__:
KeyError: '__version__'

最佳答案

不能直接使用,模型从huggingface.co下载。看这个issue ,模型文件夹框架在使用 transformer 训练的 PTM 和使用 sentence-transformer 训练的 PTM 之间是不同的。

对于使用句子转换器训练的 PTM,

The folder should consist these files:
0_Transformer/
1_Pooling/
config.json
modules.json

关于git - 将 bert 作为子模块添加到我的 git repo 后找不到错误 "version",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64915612/

相关文章:

git - 无法执行编辑器

git - 尝试从 github 历史记录中删除文件时出现 "' refs/heads/master ' is unchanged"错误

git - 克隆 super 项目后如何保持 git 子模块在分支上的状态?

git - Visual Studio Code 无法检测到已安装的 git

git - 无法在子模块路径中找到当前的原始版本/主版本

git - 如何在不增加主仓库大小的情况下更新浅克隆子模块

python - max_length、填充和截断参数在 HuggingFace' BertTokenizerFast.from_pretrained ('bert-base-uncased' ) 中如何工作?

python - Google Colab 中的 BERT 多类文本分类

bert-language-model - 来自转换器的 BERT 句子嵌入

Git merge 工具与差异工具