nlp - 如何解决与 zstandard 中使用的帧相关的错误,它需要太多内存来解码
问题描述
要下载与问题和答案相关的数据,我正在关注facebook/ELI5上的脚本。
那里说运行命令:python download_reddit_qalist.py -Q
。在运行此命令时,我在 python 文件“download_reddit_qalist.py”的第 70 行收到错误,其中枚举了 zstandardDecompressor 对象。错误日志说:
zstd.ZstdError: Zstd 解压缩错误:帧需要太多内存来解码
考虑到内存问题,我为容器分配了 32 GB 内存以及 8 个 CPU。但是错误仍然存在。
当我用 ElementTree.iterparse() 替换 enumerate 函数时,伴随着这个错误,另一条消息加起来:
对于 ET.iterparse(f) 中的 i,l:
文件“/anaconda3/lib/python3.8/xml/etree/ElementTree.py”,第 1229 行,在迭代器中
数据 = source.read(100 * 2048)
zstd.ZstdError: zstd decompress error: Frame需要太多内存来解码
有没有人面临类似的错误?我在 slurm 集群上运行了 docker 容器。如果您需要更多信息,请告诉我。
解决方案
zstdDecompressor(max_window_size=2147483648)
将来,如果有人遇到此错误,那么以上是纠正它的方法。
在文件 download_reddit_qalist.py 的第 66 行,可以更改。
推荐阅读
- machine-learning - 是否有关于检测乐器是否演奏正确音符的论文或模型?
- ios - 播放 Apple Music Song 时出现问题,playbackStoreID
- javascript - 是什么导致我对 IndexOf 数组的单元测试出现此 AssertionError 失败
- typescript - Typescript - 如何只从一个文件夹编译
- html - 如何制作一个填充 100% 主要内容的水平条?
- python - Python 从导入根包中引用子模块
- ag-grid - ag-grid nativescript-vue 组件未注册
- php - 如果超过两年,请检查帖子的发布日期
- emacs - 如何注册递归“加载路径”?
- python - Python 如何将列表的值与文件进行比较,然后将值保存到新文件中?