#3622 转文字只用集显 不用独显 报显存不足怎么破

39.144* Posted at: 8 hours ago 👁30

如题, 移动版5070ti 显卡 12g显存 32g内存 都没看到独显占用都报错啦。
我也设置强制用独显开启软件。 但是貌似没啥用

11 Replies

这是由于软件在语音识别(如 faster-whisper)时默认尝试使用 CUDA 加速,但可能因环境配置问题未能正确调用独立显卡,导致进程尝试使用集成显卡的显存,而集成显卡显存不足,从而报错。

解决方案:

  1. 验证 CUDA 环境:在命令行(CMD)中分别输入 nvcc -Vnvidia-smi,确认 CUDA 版本是否为 12.8 及以上,并确认您的移动版 RTX 5070 Ti 显卡被系统识别且驱动正常。
  2. 检查软件设置:在 pyVideoTrans 主界面,确保已勾选 CUDA加速 选项。
  3. 调整高级选项:进入 菜单-工具-高级选项

    • 在【语音识别参数】区域,将 CUDA数据类型 设置为 float16int8int8 消耗显存更少,速度更快,但精度略低)。
    • 识别准确度beam_size识别准确度best_of 都设置为 1,以最低显存消耗运行。
    • GPU同时任务数[重启生效] 设置为 1
    • 修改后重启软件生效。
  4. 选择更小模型:在语音识别渠道下拉菜单中,如果当前使用的是 large-v3 模型,可尝试切换为 large-v3-turbolarge-v2medium 模型,以降低显存需求。
  5. 检查进程占用:使用任务管理器,在“性能”选项卡中查看“GPU 1”(通常是独显)的“专用 GPU 内存”是否在运行软件时有所增加,以确认独显是否被调用。

如果以上步骤仍无法解决问题,可能是 CUDA/cuDNN 环境变量未正确配置,导致 PyTorch 等库无法找到独显。请参考相关文档进行环境检查。

请查阅相关文档:

我记得我之前独显是gpu1 但是今天发现 变成gpu0了 这个你能再软件里面指定独显吗 ,大概率就是一直用集显的原因

您的问题核心是系统显卡顺序发生了变化,导致软件可能错误地使用了集成显卡(GPU 0)而非独立显卡(GPU 1),从而引发显存不足的错误。

pyVideoTrans 软件本身不提供在图形界面中直接指定使用哪一张物理显卡的功能。其“CUDA加速”选项依赖于系统环境变量(如 CUDA_VISIBLE_DEVICES)和 PyTorch/CTranslate2 等底层库的默认行为来调用 CUDA 设备。

解决方案如下:

  1. 设置系统环境变量(推荐)

    • 这是最直接的方法,可以强制 CUDA 程序只看到您指定的显卡。
    • 在 Windows 上,右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
    • 在“系统变量”或“用户变量”中,点击“新建”。
    • 变量名CUDA_VISIBLE_DEVICES
    • 变量值:根据您的 nvidia-smi 显示,如果您的 5070 Ti 现在是 GPU 0,则填写 0;如果它是 GPU 1,则填写 1。这个数字是 nvidia-smi 命令输出中最左侧的序号。
    • 点击“确定”保存所有设置。
    • 重要:设置完成后,必须完全关闭并重新启动 pyVideoTrans 软件,新的环境变量才会生效。
  2. 验证环境变量效果

    • 设置好环境变量并重启软件后,可以打开任务管理器,在“性能”选项卡中观察您指定的“GPU 0”(即您的 5070 Ti)的“专用 GPU 内存”使用率。当软件执行语音识别任务时,该使用率应该显著上升,这证明独显已被成功调用。
  3. 检查软件内设置

    • 确保主界面已勾选 CUDA加速
    • 进入 菜单-工具-高级选项,确认 GPU同时任务数[重启生效] 设置为 1多显卡模式[重启生效] 未勾选(除非您有多张同型号独显)。修改后需重启软件。

如果通过设置 CUDA_VISIBLE_DEVICES 环境变量后问题依旧,请提供软件 logs 目录下最新日志文件的底部约30行内容,以便进一步分析。

请查阅相关文档:

还是提示内存不足啊 软件的资源利用率这块能否加强下。一半占用都不到 就报错。大概率是软件运行不稳定报错吧。

根据您的描述,问题核心可能并非纯粹的显存容量不足,而是软件在分配或管理 GPU 资源时不稳定,导致在显存占用未达一半时就报错。这通常与 CUDA 环境、软件内部并发设置或特定模型/任务的资源峰值需求有关。解决方案如下:调整软件高级设置以降低资源压力:进入 菜单-工具-高级选项。在【通用设置】区域:将 GPU同时任务数[重启生效] 设置为 1。确保 多显卡模式[重启生效] 未勾选。在【语音识别参数】区域:将 CUDA数据类型 设置为 int8。这是最节省显存的选项。将 识别准确度beam_size 和 识别准确度best_of 都设置为 1。将 启用上下文感知 取消勾选。修改后,必须完全关闭并重启 pyVideoTrans 软件以使设置生效。优化任务处理方式:在翻译视频时,如果处理的是长视频,可以尝试先使用“批量语音转字幕”功能单独生成字幕,保存为 SRT 文件。然后,在“翻译视频或音频”界面,点击“选择音频或视频”后,在弹出窗口中同时选中视频文件和上一步生成的 SRT 字幕文件。这样软件会跳过语音识别阶段,直接使用现有字幕,可以完全规避语音识别阶段的 GPU 资源问题。检查 CUDA 和驱动兼容性:虽然您已安装 CUDA,但请确认其版本与 PyTorch 等深度学习库兼容。可以尝试在命令行中运行一个简单的 Python 测试:python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))" 这应返回 True 和您的显卡型号。如果报错或返回 False,说明 PyTorch 的 CUDA 版本与您安装的 CUDA 运行时版本不匹配,需要重新安装对应版本的 PyTorch(对于预打包版用户较复杂)。提供日志以精准定位:如果以上步骤仍无法解决,报错的根本原因需要从日志中分析。请打开软件安装目录下的 logs 文件夹,找到以当前日期命名的 .log 文件,复制其最后 30-50 行内容并提供。这能帮助判断是模型加载失败、内存溢出还是其他运行时错误。根据现有文档无法确定具体原因。请提供软件安装目录下的 logs/ 文件夹中最新的日志文件(复制底部约30行报错信息)以便分析。

语音识别阶段出错 [faster-whisper(本地)] 出错了,可能内存或显存不足
A process in the process pool was terminated abruptly while the future was running or pending.
Traceback (most recent call last):
File "videotrans\configure\_base.py", line 284, in _new_process
File "concurrent\futures\_base.py", line 458, in result
File "concurrent\futures\_base.py", line 403, in __get_result
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "videotrans\task\job.py", line 105, in run
File "videotrans\task\_speech2text.py", line 152, in recogn
File "videotrans\recognition\__init__.py", line 265, in run
File "videotrans\recognition\_base.py", line 143, in run
File "videotrans\recognition\_overall.py", line 33, in _exec
File "videotrans\recognition\_overall.py", line 105, in _faster
File "videotrans\configure\_base.py", line 294, in _new_process
RuntimeError: 出错了,可能内存或显存不足
A process in the process pool was terminated abruptly while the future was running or pending.
TaskCfgSTT(is_cuda=True, uuid='f746d08d2f', cache_folder='D:/soft/AI/win-pyvideotrans-v3.98-314/tmp/16004/f746d08d2f', target_dir='D:/soft/AI/win-pyvideotrans-v3.98-314/output/recogn', source_language=None, source_language_code=None, source_sub=None, source_wav=None, source_wav_output=None, target_language=None, target_language_code=None, target_sub='D:/soft/AI/win-pyvideotrans-v3.98-314/output/recogn/1.srt', target_wav=None, target_wav_output=None, name='D:/1.mp4', noextname='1', basename='1.mp4', ext='mp4', dirname='D:/', shound_del_name=None, detect_language='zh-cn', recogn_type=0, model_name='distil-large-v3.5', shibie_audio='D:/soft/AI/win-pyvideotrans-v3.98-314/tmp/16004/f746d08d2f/1-1773576061.6627564.wav', remove_noise=False, enable_diariz=False, nums_diariz=0, rephrase=0, fix_punc=False)

根据您提供的日志,问题核心是 语音识别进程池中的子进程被意外终止,直接原因是 内存或显存不足。从配置 TaskCfgSTT 中可以看到,您使用了 distil-large-v3.5 模型,这是一个仅支持英语识别的蒸馏模型。如果您识别的视频是中文,使用此模型必然导致识别失败和资源异常。同时,进程池崩溃也常与系统内存(RAM)或虚拟内存不足有关。解决方案如下:检查并更换语音识别模型:distil-large-v3.5 模型仅能识别英语发音。请确认您的视频 1.mp4 的发音语言。如果是中文,必须更换模型。在软件主界面的“语音识别”下拉菜单中,选择适用于您视频语言的模型:中文视频:推荐选择 qwen-asr(本地)faster-whisper(本地) 下的 large-v3 模型。英文视频:可继续使用 distil-large-v3.5,但建议先尝试以下优化步骤。优化软件高级设置以降低资源消耗:进入 菜单-工具-高级选项。在【通用设置】区域:将 最大进程数[重启生效] 设置为 2 或 3(不要超过您 CPU 物理核心数)。确保 GPU同时任务数[重启生效] 设置为 1。在【语音识别参数】区域:将 CUDA数据类型 设置为 int8。将 识别准确度beam_size 和 识别准确度best_of 都设置为 1。将 启用上下文感知 取消勾选。修改后,必须完全关闭并重启 pyVideoTrans 软件。增加系统虚拟内存:由于错误提示也涉及“内存不足”,请确保 Windows 系统的虚拟内存(页面文件)设置充足。建议设置为物理内存(32GB)的 1.5 到 2 倍,即 48GB - 64GB,并设置在 SSD 硬盘上。验证 CUDA 环境变量:确保已按照上一条回复设置了 CUDA_VISIBLE_DEVICES 环境变量,并已重启电脑和软件。如果以上步骤执行后问题依旧,请尝试使用更小的模型(如 medium)进行测试,以排除模型本身对显存要求过高的问题。请查阅相关文档:总是提示显存不足语音识别模型介绍与选择

语音识别阶段出错 [faster-whisper(本地)] Traceback (most recent call last):
File "videotrans\process\stt_fun.py", line 452, in faster_whisper
File "faster_whisper\transcribe.py", line 1851, in restore_speech_timestamps
File "faster_whisper\transcribe.py", line 1279, in generate_segments
File "faster_whisper\transcribe.py", line 1590, in add_word_timestamps
File "faster_whisper\transcribe.py", line 1709, in find_alignment
RuntimeError: cuBLAS failed with status CUBLAS_STATUS_NOT_SUPPORTED

Traceback (most recent call last):
File "videotrans\task\job.py", line 105, in run
File "videotrans\task\_speech2text.py", line 152, in recogn
File "videotrans\recognition\__init__.py", line 265, in run
File "videotrans\recognition\_base.py", line 143, in run
File "videotrans\recognition\_overall.py", line 33, in _exec
File "videotrans\recognition\_overall.py", line 105, in _faster
File "videotrans\configure\_base.py", line 288, in _new_process
RuntimeError: Traceback (most recent call last):
File "videotrans\process\stt_fun.py", line 452, in faster_whisper
File "faster_whisper\transcribe.py", line 1851, in restore_speech_timestamps
File "faster_whisper\transcribe.py", line 1279, in generate_segments
File "faster_whisper\transcribe.py", line 1590, in add_word_timestamps
File "faster_whisper\transcribe.py", line 1709, in find_alignment
RuntimeError: cuBLAS failed with status CUBLAS_STATUS_NOT_SUPPORTED
TaskCfgSTT(is_cuda=True, uuid='795b5f7da7', cache_folder='D:/soft/AI/win-pyvideotrans-v3.98-314/tmp/14548/795b5f7da7', target_dir='D:/soft/AI/win-pyvideotrans-v3.98-314/output/recogn', source_language=None, source_language_code=None, source_sub=None, source_wav=None, source_wav_output=None, target_language=None, target_language_code=None, target_sub='D:/soft/AI/win-pyvideotrans-v3.98-314/output/recogn/1.srt', target_wav=None, target_wav_output=None, name='D:/1.mp4', noextname='1', basename='1.mp4', ext='mp4', dirname='D:/', shound_del_name=None, detect_language='zh-cn', recogn_type=0, model_name='large-v3', shibie_audio='D:/soft/AI/win-pyvideotrans-v3.98-314/tmp/14548/795b5f7da7/1-1773576552.4368925.wav', remove_noise=False, enable_diariz=False, nums_diariz=0, rephrase=0, fix_punc=False)

根据您提供的日志,问题核心是 cuBLAS 库不支持当前操作,具体错误为 CUBLAS_STATUS_NOT_SUPPORTED。这是一个已知问题,通常发生在使用 NVIDIA 50 系列(如您的 5070 Ti)或更新架构的显卡上运行 faster-whisper 时,因为其内置的 ctranslate2 库可能尚未完全适配新显卡的某些计算特性。

解决方案如下:

  1. 修改 CUDA 数据类型(首要步骤)
    进入 菜单-工具-高级选项 -> 语音识别参数 区域。
    CUDA数据类型 从默认的 defaultfloat16 修改为 int8
    int8 量化模式使用不同的计算路径,可以绕过导致此错误的特定 cuBLAS 调用。
    修改后,必须完全关闭并重启 pyVideoTrans 软件
  2. 如果步骤1无效,尝试禁用特定优化
    菜单-工具-高级选项 -> 语音识别参数 区域,进行以下设置:

    • 确保 CUDA数据类型int8
    • 识别准确度beam_size识别准确度best_of 都设置为 1
    • 取消勾选 启用上下文感知
    • Whisper预分割音频? 取消勾选。
      这些设置会降低计算复杂度,可能避免触发有问题的 cuBLAS 函数。
  3. 备用方案:切换语音识别渠道
    如果上述调整后问题依旧,说明当前 faster-whisper 库与您的 50 系显卡兼容性暂时不佳。

    • 对于中文视频:请切换到 qwen-asr(本地) 渠道,它对中文支持好,且不依赖 ctranslate2 库。
    • 对于其他语言:可以尝试切换到 openai-whisper(本地) 渠道(使用 PyTorch 原版 Whisper),虽然速度较慢,但兼容性更好。
  4. 长期解决方案(等待库更新)
    此问题的根本解决需要 ctranslate2faster-whisper 库发布针对 50 系显卡的更新。您可以关注项目的 GitHub 页面。

请优先执行步骤1(将 CUDA 数据类型改为 int8 并重启软件),这有很高概率能解决问题。

请查阅相关文档:

怎么让qwen-asr转文字的速度提起来呢 设置哪些

要让 qwen-asr(本地) 语音识别的速度提起来,核心在于充分利用您的 NVIDIA 5070 Ti 显卡进行 GPU 加速,并优化相关参数。qwen-asr 本身支持 CUDA 加速,但需要正确配置。解决方案如下:确保 CUDA 环境已正确配置并启用:在软件主界面,务必勾选 CUDA加速 选项。确认您已按照之前的建议设置了 CUDA_VISIBLE_DEVICES 环境变量,并已重启软件。调整高级选项中的关键参数:进入 菜单-工具-高级选项。在【语音识别参数】区域:将 语音阈值 适当提高(例如从 0.5 改为 0.6),可以减少对微弱噪音的误判,从而减少需要处理的音频片段数量,提升速度。将 最长语音持续秒数 设置为一个合理的值(例如 10-15 秒)。过长的片段会增加单次处理负担,过短则会增加片段数量。建议 10 秒左右。将 静音分割持续毫秒 适当增大(例如从 500 改为 800 或 1000),可以减少因短暂静音而产生的过多片段分割,从而提升处理效率。在【通用设置】区域:确保 GPU同时任务数[重启生效] 设置为 1。对于 qwen-asr,单任务 GPU 处理通常是最稳定的。如果您的 CPU 核心数较多(例如 8 核以上),可以尝试将 最大进程数[重启生效] 设置为 2 或 3,以利用多核进行音频预处理等任务。修改后,必须完全关闭并重启 pyVideoTrans 软件以使设置生效。优化输入音频质量:如果原始视频背景噪音较大,可以在主界面勾选 降噪 选项。这虽然会增加一些预处理时间,但能提高识别准确率,减少因识别错误而需要反复处理的时间。对于非常长的视频,可以考虑先使用其他工具(如格式工厂)将视频转换为单声道、16kHz 采样率的 WAV 音频文件,再用软件处理这个音频文件,有时可以避免视频解码带来的额外开销。如果以上设置后速度仍不理想,且您确认 CUDA 已被调用(通过任务管理器观察 GPU 使用率),那么速度瓶颈可能在于 qwen-asr 模型本身的计算效率。对于追求极致速度的场景,您可以权衡后尝试 faster-whisper(本地) 渠道(使用 int8 量化并调整参数以避免之前的 cuBLAS 错误),它通常比 qwen-asr 更快。请查阅相关文档:Qwen-MT/Qwen3-ASR作为翻译模型和语音识别模型语音识别中的VAD参数调整

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