快速结论:该报错通常出现在 faster-whisper 已成功初始化 CUDA 模型、但执行 model.transcribe() 时 Jupyter/Colab 内核直接崩溃的场景,优先排查 ctranslate2 版本与 OpenMP 运行库(libiomp5md.dll)冲突。
适用环境:Issue 中报告的 Python 3.10、CUDA 11.8、cuDNN 8.9、PyTorch 2.0.0、ctranslate2 4.4.0、gcc/g++ 11,Windows 与 Linux 均有人复现。
最快修复方案:降级 ctranslate2 到 4.4.0:pip install ctranslate2==4.4.0;Windows 上若存在多个 libiomp5md.dll,将 conda 环境的 Library\bin 下那份重命名或移开。
注意事项:降级 ctranslate2 属于版本回退,可能与新版 faster-whisper 的依赖声明不一致;改名 libiomp5md.dll 会破坏其他依赖该路径的程序,建议改名并保留可回滚记录,不要直接删除。
问题场景
用户在 Conda 环境中通过 PyTorch 官方源安装 CUDA 版本 PyTorch,再安装 nvidia-cublas-*、nvidia-cudnn-* 并设置 LD_LIBRARY_PATH,然后在 Jupyter Notebook(test.ipynb)里用 WhisperModel(model_path, device="cuda", compute_type="int8") 加载模型,调用 Whisper.transcribe() 时内核直接崩溃。模型初始化阶段正常,说明 CUDA 设备本身可被识别,问题发生在推理执行阶段。
报错原文
Kernel dies when trying to run model.transcribe
Kernel Restarting.
The kernel for _SHARED/test.ipynb appears to have died. It will restart automatically.
原因分析
最可能的原因是推理阶段加载的原生库发生冲突,而不是 CUDA 不可用。Issue 中多位用户确认了两类触发因素:
- ctranslate2 版本问题:多人在将 ctranslate2 降级到 4.4.0 后问题消失,说明较新版本与当前 CUDA/cuDNN 组合可能存在不兼容。
- OpenMP 运行库重复加载:系统中存在多个
libiomp5md.dll(分别来自ctranslate2、torch以及 Conda 的Library\bin),执行transcribe()时发生冲突导致进程被杀。
此外,维护者指出 pip install nvidia-cublas-* nvidia-cudnn-* 并不是切换 CUDA 版本的正常方式,因此这部分操作可能引入了额外的库路径混乱,但这属于推测。
环境排查
- 确认 Python 版本(Issue 中可用组合为 Python 3.10)。
- 确认 CUDA 版本与 cuDNN 版本(Issue 中可用组合为 CUDA 11.8 + cuDNN 8.9)。
- 确认 PyTorch 版本(Issue 中可用组合为 PyTorch 2.0.0)。
- 确认 ctranslate2 版本(Issue 中可用为 4.4.0,多人在更高版本上崩溃)。
- Windows 下搜索所有
libiomp5md.dll,记录ctranslate2、torch、CondaLibrary\bin各路径下的副本。 - 确认当前是否设置了
LD_LIBRARY_PATH,以及在 Notebook 中如何 export(Notebook 单元格里直接写export不一定生效于内核进程)。
解决步骤
- 先降级 ctranslate2 并重启内核:
pip install ctranslate2==4.4.0,然后重新执行WhisperModel(...)与transcribe()。这是 Issue 中多人确认有效的方案。 - 若降级无效,在系统中查找全部
libiomp5md.dll,例如 Windows 下 Conda 环境内典型的三个位置:envs\p04\Lib\site-packages\ctranslate2\、envs\p04\Lib\site-packages\torch\lib\、envs\p04\Library\bin\。将Library\bin下的那份重命名为libiomp5md_save.dll(保留备份),重启内核后再试。Issue 中有 Windows 与 Linux 用户均反馈此方法有效。 - 可在代码开头添加环境变量后再导入相关库,作为可优先尝试的规避方式:
import os os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"Issue 中有人反馈该设置有效,但官方文档通常不建议用此方式掩盖重复库问题,属于临时绕过。
- 有用户反馈把
.ipynb转成.py脚本运行即可,原因未明确,可作为 Notebook 环境异常时的对照测试。 - 若上述均无效,再检查
LD_LIBRARY_PATH是否在 Notebook 内核中真正生效,避免仅设置nvidia-*包而干扰既有 CUDA 环境。
验证方法
重启内核后重新执行完整流程,确认 WhisperModel(..., device="cuda") 能正常初始化,随后 transcribe() 能返回 segments 与 info,且内核不再出现 “Kernel Restarting / appears to have died”。若 CPU 推理始终正常而 CUDA 推理仍崩溃,说明库冲突未彻底解决。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


