在 HAYSTACK

问题描述

我试图在 haystack FARMReader 中加载 'bert-base-multilingual-uncased' 并得到错误

(huyenv) PS D:\study\DUANCNTT2\haystack\haystack_demo> & d:/study/DUANCNTT2/haystack/haystack_demo/huyenv/Scripts/python.exe d:/study/DUANCNTT2/haystack/haystack_demo/main.py 05/21/2021 00:12:58

  • 信息 - faiss.loader - 正在加载 faiss。 05/21/2021 00:12:58 - 信息 - faiss.loader - 正在加载 faiss。 05/21/2021 00:12:59 - 信息 - farm.modeling.prediction_head - 可以实现更好的速度 从 https://www.github.com/nvidia/apex 安装的顶点。 05/21/2021 00:13:00 - 信息 - faiss.loader - 加载 faiss。 05/21/2021 00:13:00
  • 信息 - faiss.loader - 正在加载 faiss。 05/21/2021 00:13:01 - 信息 - elasticsearch - HEAD http://localhost:9200/ [状态:200 请求:0.018s] 05/21/2021 00:13:01 - 信息 - 弹性搜索 - HEAD http://localhost:9200/cv [状态:200 请求:0.005s] 05/21/2021 00:13:01 - 信息 - 弹性搜索 - 获取 http://localhost:9200/cv [状态:200 请求:0.009s] 05/21/2021 00:13:01 - 信息 - 弹性搜索
  • PUT http://localhost:9200/cv/_mapping [status:200 request:0.041s] 05/21/2021 00:13:01 - INFO - elasticsearch - HEAD http://localhost:9200/label [状态:200 请求:0.008s] 05/21/2021 00:13:01 - 信息 - farm.utils - 使用设备:cpu 05/21/2021 00:13:01
  • INFO - farm.utils - GPU 数量:0 05/21/2021 00:13:01 - INFO - farm.utils - 分布式训练:False 05/21/2021 00:13:01 - INFO
  • farm.utils - 自动混合精度:无 bert-base-multilingual-uncased 的模型检查点的某些权重在以下情况下未使用 初始化 BertForQuestionAnswering: ['cls.predictions.bias','cls.predictions.transform.dense.weight','cls.predictions.transform.dense.bias','cls.predictions.decoder.weight','cls.seq_relationship.weight','cls.seq_relationship.bias','cls.predictions.transform.Layernorm.weight','cls.predictions.transform.Layernorm.bias']
  • 如果您从在另一个任务上训练的模型的检查点或与另一个任务一起初始化 BertForQuestionAnswering,这是预期的 架构(例如初始化 BertForSequenceClassification 模型 来自 BertForPreTraining 模型)。
  • 如果您从模型的检查点初始化 BertForQuestionAnswering,这不是预期的 期望完全相同(初始化一个 BertForSequenceClassification 模型来自 BertForSequenceClassification 模型)。一些权重 BertForQuestionAnswering 未从模型初始化 bert-base-multilingual-uncased 的检查点,并且是新的 初始化:['qa_outputs.weight','qa_outputs.bias'] 你应该 可能在下游任务上训练这个模型以便能够使用它 用于预测和推理。 05/21/2021 00:13:21 - 警告 - farm.utils - ML 日志记录已关闭。没有参数、指标或 工件将被记录到 MLFlow。 05/21/2021 00:13:21 - 信息 - farm.utils - 使用设备:cpu 05/21/2021 00:13:21 - 信息 - farm.utils - GPU 数量:0 05/21/2021 00:13:21 - 信息 - farm.utils - 分布式训练:错误 05/21/2021 00:13:21 - 信息
  • farm.utils - 自动混合精度:无 2021 年 5 月 21 日 00:13:21 - INFO - farm.infer - 有 3 个并行工作人员进行推理...... 05/21/2021 00:13:21-信息-farm.infer-0 0 0 05/21/2021 00:13:21 - 信息 - farm.infer - /w\ /w\ /w\ 05/21/2021 00:13:21 - 信息-farm.infer-/'\ / \ /'\ 05/21/2021 00:13:21-信息- farm.infer - 异常被忽略:del at 0x000001BBA1DC9C10> 回溯(最近一次调用):文件 "C:\Users\Admin\AppData\Local\Programs\Python\python38\lib\multiprocessing\pool.py",第 268 行,在 del 文件中 "C:\Users\Admin\AppData\Local\Programs\Python\python38\lib\multiprocessing\queues.py",第 362 行,输入 AttributeError: 'nonetype' object has no attribute 'dumps'

这是我的 main.py 文件

from haystack.preprocessor.cleaning import clean_wiki_text from haystack.preprocessor.utils 导入 convert_files_to_dicts, fetch_archive_from_http 从 haystack.reader.farm 导入 FARMReader 从 haystack.reader.transformers 导入 TransformersReader haystack.utils 导入 print_answers

haystack.document_store.elasticsearch 导入 ElasticsearchDocumentStore

document_store = ElasticsearchDocumentStore(host="localhost",username="",password="",index="cv",embedding_dim=768,embedding_field="embedding")

haystack.retriever.sparse 导入 ElasticsearchRetriever 检索器 = ElasticsearchRetriever(document_store=document_store)

读者= FARMReader(model_name_or_path='bert-base-multilingual-uncased')

注意:我的elasticsearch服务器已经成功启动!

解决方法

似乎是 Windows 上的多处理问题。您可以像这样为 FARMReader 禁用多处理:

...
reader = FARMReader(model_name_or_path='bert-base-multilingual-uncased',num_processes=0)

另请参阅 docs 了解更多详情。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...