我想在 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
还有其他方法吗
这是 msgpack 的限制,单个文件不能大于 2GB。
不过,您不需要合并这些文件。您可以为
.spacy
提供目录而不是单个 spacy train
文件:
spacy train config.cfg --paths.train train/ --paths.dev dev/
它将递归加载目录中的所有
.spacy
文件。