使用BERTopic的fit_transform()时Jupyter持续崩溃求助
解决BERTopic在M1 Mac上Jupyter崩溃的方案
检查BERTopic及依赖的ARM适配性
M1芯片属于ARM架构,部分x86版本的Python包易引发兼容性问题。建议:- 重新安装适配M1的核心依赖:
pip install --force-reinstall --no-cache-dir bertopic transformers sentence-transformers,确保获取PyPI上的ARM兼容wheel包。 - 若上述方法无效,改用conda-forge安装(conda-forge对M1支持更完善):
conda install -c conda-forge bertopic。
- 重新安装适配M1的核心依赖:
限制内存占用
BERTopic处理大文档集时内存消耗极高,内存不足(如8GB)易导致内核崩溃,可做如下调整:- 初始化BERTopic时缩小批量处理规模:
topic_model = BERTopic(batch_size=16)(默认批量可能更大)。 - 换用轻量预训练模型降低内存负载:
topic_model = BERTopic(embedding_model="all-MiniLM-L6-v2")。 - 关闭Jupyter外的高内存进程(如多余浏览器标签页、其他Python脚本)。
- 初始化BERTopic时缩小批量处理规模:
调整Jupyter内核资源限制
修改Jupyter配置提升资源配额:- 生成配置文件:
jupyter notebook --generate-config。 - 打开
jupyter_notebook_config.py,找到c.NotebookApp.max_buffer_size,取消注释后设置更大值,比如c.NotebookApp.max_buffer_size = 10737418240(对应10GB)。 - 重启Jupyter后重新运行代码。
- 生成配置文件:
用小数据集验证问题根源
先取少量文档(如100条)执行topics, probs = topic_model.fit_transform(small_docs):- 若能正常运行,说明是数据集过大导致的内存问题,需逐步调整处理策略;
- 若仍崩溃,大概率是依赖包兼容性问题,需重新排查安装。
切换到系统原生Python环境
部分旧版虚拟环境对M1支持不佳,尝试在系统原生Python环境下安装依赖并运行Jupyter,验证是否解决问题。
内容的提问来源于stack exchange,提问作者Jethro R. Lee
相关产品推荐
相关产品推荐

