#2784 Traceback (most recent call last): File "videotrans\process\_overall.py", line 229, in run File "faster_whisper\transc

91.149* Posted at: 5 days ago 👁26

Traceback (most recent call last):
File "videotrans\process\_overall.py", line 229, in run
File "faster_whisper\transcribe.py", line 1851, in restore_speech_timestamps
File "faster_whisper\transcribe.py", line 1190, in generate_segments
File "faster_whisper\transcribe.py", line 1400, in encode
RuntimeError: parallel_for failed: cudaErrorNoKernelImageForDevice: no kernel image is available for execution on the device

1 Replies

这个错误 cudaErrorNoKernelImageForDevice 表明您的 CUDA 版本与 faster-whisper 模型要求的 CUDA 版本不兼容。faster-whisper 底层依赖的 ctranslate2 库需要特定版本的 CUDA 驱动和运行时。

核心原因与解决方案:

1. 检查并升级 CUDA 驱动(最可能的原因)

  • 原因:您显卡的 CUDA 驱动版本过低,无法运行当前 faster-whisper 所需的 ctranslate2 内核。
  • 解决

    • 打开命令行,输入 nvidia-smi 查看右上角的 CUDA Version。这显示的是您的驱动支持的最高 CUDA 版本
    • 访问 NVIDIA 驱动下载页面,根据您的显卡型号,下载并安装最新版的 Game Ready 或 Studio 驱动。

2. 降级 ctranslate2 库(如果驱动已最新或无法升级)

  • 原因:预打包版软件内置的 ctranslate2 版本(通常是 4.x)需要 CUDA 12+。如果您的驱动较旧(例如只支持 CUDA 11.8),则会出现此错误。
  • 解决

    • 如果您是源码部署用户,可以在项目目录下执行:

      pip uninstall ctranslate2 -y
      pip install ctranslate2==3.24.0
    • 如果您是Windows 预打包版用户,降级操作较为复杂,建议优先尝试方案1(升级驱动)。如果必须降级,需要自行在 Python 环境中操作,对于大多数用户而言,升级驱动是更简单直接的方法。

3. 临时使用 CPU 模式(快速验证)

  • 在软件主界面,取消勾选 CUDA加速 选项,然后重新运行任务。如果任务能正常完成(速度会慢很多),则进一步确认是 CUDA 环境问题。

操作优先级建议:

  1. 首先尝试升级显卡驱动。这是解决此类兼容性问题最根本、最推荐的方法。
  2. 如果升级驱动后问题依旧,或者您的硬件确实只支持旧版 CUDA,再考虑为源码部署环境降级 ctranslate2
  3. 使用 CPU 模式仅作为临时测试或最终备选方案。

请查看更多参考文档:

Post Your Reply