首页 > 解决方案 > 将bert作为子模块添加到我的git repo后找不到错误“版本”

问题描述

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

1- 我使用git submodule add https://huggingface.co/bert-base-multilingual-uncased命令将它作为子模块添加到我的 repos 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__'

标签: gitgit-submodulesbert-language-model

解决方案


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

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

该文件夹应包含以下文件:
0_Transformer/
1_Pooling/
config.json
modules.json


推荐阅读