如何解决与 zstandard 中使用的帧相关的错误,该错误需要太多内存进行解码

aks*_*tia 4 nlp reddit nlp-question-answering

要下载与问题和答案相关的数据,我按照facebook/ELI5上的脚本进行操作。

那里说运行命令:python download_reddit_qalist.py -Q。运行此命令时,我在 python 文件“download_reddit_qalist.py”中的第 70 行收到错误,其中枚举了 zstandardDecompressor 对象。错误日志说:

zstd.ZstdError:Zstd解压缩错误:帧需要太多内存来解码

考虑到内存问题,我为容器分配了 32 GB 内存和 8 个 CPU。但错误仍然存​​在。

当我用 ElementTree.iterparse() 替换枚举函数时,除了此错误之外,还会出现另一条消息:

对于 ET.iterparse(f) 中的 i、l:

文件“/anaconda3/lib/python3.8/xml/etree/ElementTree.py”,第 1229 行,迭代器中

数据 = 源.read(100 * 2048)

zstd.ZstdError:zstd解压缩错误:帧需要太多内存来解码

有人面临类似的错误吗?我在 slurm 集群上运行着 docker 容器。如果您需要更多信息,请告诉我。

aks*_*tia 7

zstdDecompressor(max_window_size=2147483648)

将来,如果有人遇到这个错误,那么上面就是纠正它的方法。

在文件 download_reddit_qalist.py 的第 66 行中,可以更改。