Spacy v3 DocBin 无法保存 train.spacy 字节对象太大

问题描述 投票:0回答:1

我想在 spacy v3.0+ 中训练大数据

数据代币数量为8000000个 我每个块做了 1000000 个,最后 murge vai DocBin python 代码,但出现错误

import os
import spacy
from spacy.tokens import DocBin
from tqdm import tqdm
from spacy.util import filter_spans

merged_doc_bin = DocBin()

fiels = [
    "G:\\success-demo\\product_ner\\test\\train3.spacy",# 3000000 tokens here
    "G:\\success-demo\\product_ner\\test\\train1.spacy", # 3000000 tokens here
    "G:\\success-demo\\product_ner\\test\\train2.spacy", # 2000000 tokens here
]


for filename in fiels:
    doc_bin = DocBin().from_disk(filename)
    merged_doc_bin.merge(doc_bin)


merged_doc_bin.to_disk("G:\\success-demo\\product_ner\\test\\final\\murge.spacy")

无法将 vai 保存到_disk

还有其他方法吗

python-3.x named-entity-recognition spacy-3 spacy-transformers
1个回答
0
投票

这是 msgpack 的限制,单个文件不能大于 2GB。

不过,您不需要合并这些文件。您可以为

.spacy
提供目录而不是单个
spacy train
文件:

spacy train config.cfg --paths.train train/ --paths.dev dev/

它将递归加载目录中的所有

.spacy
文件。

© www.soinside.com 2019 - 2024. All rights reserved.