#944 RuntimeError: CUDA failed with error out of memory

240e:341* Posted at: 7 months ago

Traceback (most recent call last):

File "videotrans\process\_overall.py", line 77, in run

File "faster_whisper\transcribe.py", line 1809, in restore_speech_timestamps

File "faster_whisper\transcribe.py", line 1171, in generate_segments

File "faster_whisper\transcribe.py", line 1404, in generate_with_fallback

RuntimeError: CUDA failed with error out of memory

=====

Windows-10-10.0.19045-SP0

version:v3.81

frozen:True

language:zh

9 Replies

本条内容由 Gemini 回复
您遇到的 RuntimeError: CUDA failed with error out of memory 错误表明您的 NVIDIA 显卡在执行 faster-whisper 语音识别时,显存(GPU 内存)不足以处理当前任务。

请尝试以下解决方案:

1. 选择更小的 faster-whisper 模型:

  • 在主界面“语音识别渠道”中,如果您选择了 faster-whisper(本地),请尝试选择一个更小的模型(例如,从 largemedium 切换到 smallbase)。较小的模型占用更少的显存。首次选择时可能需要下载新模型。

2. 关闭其他占用显存的程序:

  • 在运行 pyVideoTrans 之前,请关闭其他可能大量占用显存的应用程序,例如游戏、视频编辑软件或深度学习应用。

3. 取消勾选 CUDA加速 (如果前两步无效):

  • pyVideoTrans 主界面,找到并取消勾选“CUDA加速”选项。这将强制程序使用 CPU 进行计算,虽然处理速度会大幅降低,但可以避免显存不足的问题。

如果问题依然存在,请提供您的显卡型号和显存大小,以便我们进一步分析。

使用faster-whisper 独显使用率才百分之十几,是不是没有充分利用啊

这是 GPU 未被充分利用的常见现象,主要由 faster-whisper 的任务调度和显存限制导致。可以尝试以下优化:

  1. 进入高级选项调整参数

    • 菜单 → 工具/选项 → 高级选项 → 语音识别参数
    • CUDA数据类型 设为 float16(减少显存占用,同时加速计算)
    • beam_sizebest_of 从默认的 1 提高到 3~5(越大越耗显存,但能提高利用率和准确度)
    • 取消勾选 启用上下文感知(该选项会增加额外开销,利用率反而可能下降)
    • 启用 Whisper预分割音频(可让模型更密集地处理片段,提升 GPU 占用)
  2. 检查主界面:确保已勾选 CUDA加速
  3. 增大并行任务数

    • 在高级选项 → 通用设置 中,将 GPU同时任务数 设为 2 或 3(取决于你的显存大小,>=8GB 可尝试 2,>12GB 可尝试 3)。修改后需重启软件生效。
  4. 确认模型大小:如果使用 tinybase 等小模型,GPU 计算量本身较低,利用率也会偏低。建议至少使用 large-v3 模型来压榨 GPU。

若调整后仍无法显著提升,可查阅详细文档:

float16 这个调整多少合适,我的独显是3060ti,我看了下参数,占用内存4g,使用率超不过10%

CUDA数据类型 直接设为 float16 即可,没有其他数值可选。对于 RTX 3060 Ti(8GB 显存),这是最适合的选项,能平衡速度与显存占用,不应继续尝试其他类型。

使用率不足 10% 通常由以下原因造成:

  1. 模型太小:如果选择 tiny、base 或 small 模型,计算量极低,GPU 无法满载。建议切换到 large-v3 模型,才能压榨显卡性能。
  2. 参数保守:进入 菜单 → 工具/选项 → 高级选项 → 语音识别参数,将 beam_sizebest_of 从默认值提高到 3~5,同时确保已取消勾选“启用上下文感知”(该选项在低显存下反而降低效率)。
  3. 未启用预分割:勾选“Whisper预分割音频”,让模型以片段方式持续处理,能提高 GPU 占用率。
  4. 确认 CUDA 加速已勾选:检查主界面右上角的CUDA加速复选框必须打勾。

调整后如果使用率仍低于 30%,可在 高级选项 → 通用设置 中将 GPU同时任务数 设为 2(显存 8GB 足够),修改后重启软件生效,此时 GPU 使用率会明显上升。

请查阅相关文档:

启用whisper预分割视频,对于断句有影响吗?如果有影响,是好还是不好

对于断句有影响,影响好坏取决于你的使用场景:

启用 Whisper 预分割音频 时:

  • 软件会先用 VAD(语音活动检测)把音频切分成短暂的语音片段,再把每个片段交给 Whisper 模型识别。
  • 优点:每段字幕长度更短、更可控,尤其适合需要“原音色克隆”的场景(参考音频时长要求在 3~10 秒),并且能明显降低长语音导致的显存压力。
  • 缺点:由于强行走 VAD 切割,可能破坏原本自然连贯的句意,导致句子被切碎,出现不自然的断句。

不启用(默认)时:

  • Whisper 模型自行决定断句位置,通常语法更自然、句子更长。
  • 缺点:容易生成过长的字幕(超过 10 秒),导致后续语音克隆或音画同步困难。

结论

  • 如果你更看重配音效果(特别是需要声音克隆),或者总是遇到显存不足,建议启用。
  • 如果你只追求字幕阅读连贯自然、不关心配音长度,建议关闭,断句效果更好。
  • 如果要启用,建议同时将高级选项中的“最短语音持续毫秒”设为 3000、“最长语音持续秒数”设为 6~10,“合并过短字幕到邻近”也打开,以平衡切碎问题。

TTS supertonic-2 这个是什么,好用吗

SuperTonic 是 pyVideoTrans 内置的一个轻量级 TTS(文字转语音)引擎,无需联网、无需部署额外服务,开箱即用。它主要提供中/英双语预定义发音角色。

客观评价(基于技术特性):

  • 优点

    1. 完全本地、免费:不消耗 API 费用,不依赖外部服务,适合离线场景。
    2. 角色丰富:内置多种可选声音(包括基于真实语音的克隆角色),在中英文场景下音色自然度表现良好。
  • 缺点

    1. 不支持自定义声音克隆:你无法像 F5-TTS 或 CosyVoice 那样上传自己的音频来克隆音色,只能使用软件内置的角色。
    2. 主要为中英双语优化:对其他语言(如日语、韩语、法语)的合成效果可能不如 Edge-TTS 或某些专业 API。
  • 是否好用:如果你的视频翻译目标语言主要是中文或英文,且不需要原音色克隆,SuperTonic 是一个稳定、易用的选择。建议直接在软件中选中该渠道,试听不同角色的音色效果。 如果效果满足要求,就很好用;如果对自然度或非中文语言有极高要求,可考虑其他渠道。

请查阅相关文档:

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Related resource

Similar issues already exist