git - 将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__'
解决方案
不能直接使用,模型从huggingface.co下载。看到这个问题,模型文件夹框架在使用transformer训练的PTM和使用sentence-transformer训练的PTM之间是不同的。
对于使用句子转换器训练的 PTM,
该文件夹应包含以下文件:
0_Transformer/
1_Pooling/
config.json
modules.json
推荐阅读
- vba - 使用 VBA 在 onenote 中创建新部分
- javascript - 如何绑定对象属性并通过 ajax 发送数据?
- python - Python Opencv2:将背景添加到网络摄像头框架后,背景出现在无背景图像上
- javascript - 使用没有 for 循环的 Javascript 更改多个元素的内容
- css - ReactJs 改变 css 属性 onclick
- vue.js - Vue.js 2:范围样式不适用于 sass/scss
- python - 熊猫在添加新列时覆盖不同的数据框
- mysql - 无服务器框架、打字稿、nodejs 和 mysql - 错误:接收到的数据包顺序错误
- javascript - Javascript 会在执行前简化语句吗?
- swift - Mac OS:在查找器属性中显示自定义文件大小并在没有内核的情况下获取信息