#1320 ValueError: Requested float16 compute type, but the target device or backend do not support efficient float16 computatio

2401:c080* Posted at: 5 months ago 👁328

Traceback (most recent call last):
File "videotrans\process\_overall.py", line 45, in run
File "faster_whisper\transcribe.py", line 675, in init
ValueError: Requested float16 compute type, but the target device or backend do not support efficient float16 computation.


=
system:Windows-10-10.0.22621-SP0
version:v3.84
frozen:True
language:zh
root_dir:D:/win-videotrans-v3.84

11 Replies

这个错误是由于您的硬件或CUDA环境不支持 float16 计算类型导致的。请按以下步骤解决:

  1. 取消勾选 CUDA 加速

    • 在主界面右上角,取消勾选 "CUDA加速" 选项。
    • 这将强制软件使用 CPU 进行计算,虽然速度会慢一些,但可以解决兼容性问题。
  2. 如果希望继续使用 GPU 加速

    • 更新您的 NVIDIA 显卡驱动到最新版本。
    • 确保安装了与您显卡兼容的 CUDA 工具包(建议 CUDA 12.x)。
    • 如果更新后问题依旧,说明您的显卡可能确实不支持 float16 计算,建议使用第一步的 CPU 方案。

完成设置后,请重新尝试处理视频。

我已经取消了CUDA之后弹出来的报错

请提供取消 CUDA 后弹出的具体报错信息,以便进一步诊断问题。

Traceback (most recent call last):
File "videotrans\process\stt_fun.py", line 346, in faster_whisper
File "faster_whisper\transcribe.py", line 689, in init
ValueError: Requested float16 compute type, but the target device or backend do not support efficient float16 computation.

Traceback (most recent call last):
File "videotrans\task\_only_one.py", line 44, in run
File "videotrans\task\trans_create.py", line 360, in recogn
File "videotrans\recognition\__init__.py", line 292, 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 289, in _new_process
RuntimeError: Traceback (most recent call last):
File "videotrans\process\stt_fun.py", line 346, in faster_whisper
File "faster_whisper\transcribe.py", line 689, in init

ValueError: Requested float16 compute type, but the target device or backend do not support efficient float16 computation.

system:Windows-10-10.0.26200-SP0
version:v3.98
frozen:True
language:zh
root_dir:C:/Users/demon/Desktop/AI翻译软件

问题核心是 faster-whisper 模型在初始化时,其内部默认的 float16 计算类型与您的硬件或CUDA环境不兼容。即使您在主界面取消了“CUDA加速”,模型内部可能仍尝试使用此计算类型。

请按以下步骤解决:

  1. 修改高级选项中的 CUDA 数据类型

    • 点击软件顶部菜单栏的 工具/选项 -> 高级选项
    • 在“语音识别参数”区域,找到 CUDA数据类型 下拉框。
    • 将其从默认的 defaultfloat16 修改为 float32int8
    • 点击“保存”并关闭高级选项窗口。
  2. 再次确认主界面设置

    • 在主界面右上角,确保 CUDA加速 复选框未勾选
    • 在“语音识别”渠道中,尝试将模型从 large-v3 更换为更小的模型,例如 mediumsmall,以降低对硬件的要求。
  3. 重启软件并重试

    • 完成上述设置后,关闭并重新启动 pyVideoTrans。
    • 再次尝试处理视频。

如果以上步骤仍无法解决问题,可能是您的显卡驱动或CUDA环境存在更深层次的不兼容。您可以尝试更新NVIDIA显卡驱动至最新版本。

请查阅相关文档:

我刚才关闭了CUDA 并设置了float32的确解析了视频 但我现在重新打开10分钟以上的视频卡在了STT use large-v3 starting

这是正常现象。使用 large-v3 模型进行语音识别(STT)时,首次加载模型需要较长时间,特别是对于长视频。请耐心等待几分钟,让模型加载完成。如果等待超过5分钟仍无进展,可以尝试以下步骤:强制关闭软件并重启。在“语音识别”渠道中,将模型从 large-v3 更换为更小的模型,例如 mediumsmall,以加快加载和处理速度。如果问题持续,请检查软件安装目录下的 logs 文件夹,查看最新的日志文件以获取更详细的错误信息。

[DEBUG] [FFMPEG-CMD]:
ffmpeg -hide_banner -ignore_unknown -threads 0 -y -i C:/Users/demon/Desktop/AIAI/YQ9055/1-26.mp4 -vn -ac 1 -ar 16000 -c:a pcm_s16le C:/Users/demon/Desktop/AI翻译软件/tmp/20824/e19305e112/en.wav

[DEBUG] [recognition]__init__:kwargs={'detect_language': 'en', 'audio_file': 'C:/Users/demon/Desktop/AI翻译软件/tmp/20824/e19305e112/en.wav', 'cache_folder': 'C:/Users/demon/Desktop/AI翻译软件/tmp/20824/e19305e112', 'model_name': 'large-v3', 'uuid': 'e19305e112', 'is_cuda': False, 'subtitle_type': 1, 'recogn_type': 0, 'max_speakers': -1, 'llm_post': False, 'recogn2pass': False}
[DEBUG] BaseRecogn 初始化

[DEBUG] 最终配置信息:self.cfg=TaskCfgVTT(is_cuda=True, uuid='733b71d3b5', cache_folder='C:/Users/demon/Desktop/AI翻译软件/tmp/20824/733b71d3b5', target_dir='C:/Users/demon/Videos/_video_out/1-26-mp4', source_language='英语', source_language_code='en', source_sub='C:/Users/demon/Videos/_video_out/1-26-mp4/en.srt', source_wav='C:/Users/demon/Desktop/AI翻译软件/tmp/20824/733b71d3b5/en.wav', source_wav_output='C:/Users/demon/Videos/_video_out/1-26-mp4/en.m4a', target_language='简体中文', target_language_code='zh-cn', target_sub='C:/Users/demon/Videos/_video_out/1-26-mp4/zh-cn.srt', target_wav='C:/Users/demon/Desktop/AI翻译软件/tmp/20824/733b71d3b5/target.wav', target_wav_output='C:/Users/demon/Videos/_video_out/1-26-mp4/zh-cn.m4a', name='C:/Users/demon/Desktop/AIAI/YQ9055/1-26.mp4', noextname='1-26', basename='1-26.mp4', ext='mp4', dirname='C:/Users/demon/Desktop/AIAI/YQ9055', shound_del_name=None, translate_type=0, tts_type=0, volume='+0%', pitch='+0Hz', voice_rate='+0%', voice_role='YunJhe(Male/TW)', voice_autorate=True, video_autorate=False, remove_silent_mid=False, align_sub_audio=True, detect_language='en', recogn_type=0, model_name='large-v3', shibie_audio=None, remove_noise=False, enable_diariz=False, nums_diariz=0, rephrase=0, fix_punc=False, subtitle_language=None, app_mode='biaozhun', subtitles='', targetdir_mp4='C:/Users/demon/Videos/_video_out/1-26-mp4/1-26.mp4', novoice_mp4='C:/Users/demon/Desktop/AI翻译软件/tmp/20824/733b71d3b5/novoice.mp4', is_separate=False, embed_bgm=False, instrument=None, vocal=None, back_audio='', clear_cache=True, background_music=None, subtitle_type=1, only_out_mp4=False, recogn2pass=False, output_srt=0, copysrt_rawvideo=False)
[DEBUG] [FFMPEG-CMD]:
ffmpeg -hide_banner -ignore_unknown -threads 0 -y -fflags +genpts -i C:/Users/demon/Desktop/AIAI/YQ9055/1-26.mp4 -an -c:v copy novoice.mp4

[DEBUG] [FFMPEG-CMD]:
ffmpeg -hide_banner -ignore_unknown -threads 0 -y -i C:/Users/demon/Desktop/AIAI/YQ9055/1-26.mp4 -vn -ac 1 -ar 16000 -c:a pcm_s16le C:/Users/demon/Desktop/AI翻译软件/tmp/20824/733b71d3b5/en.wav

[DEBUG] [recognition]__init__:kwargs={'detect_language': 'en', 'audio_file': 'C:/Users/demon/Desktop/AI翻译软件/tmp/20824/733b71d3b5/en.wav', 'cache_folder': 'C:/Users/demon/Desktop/AI翻译软件/tmp/20824/733b71d3b5', 'model_name': 'large-v3', 'uuid': '733b71d3b5', 'is_cuda': True, 'subtitle_type': 1, 'recogn_type': 0, 'max_speakers': -1, 'llm_post': False, 'recogn2pass': False}
[DEBUG] BaseRecogn 初始化

[DEBUG] faster-whisper模式下,对large-v3模型返回的断句结果重新修正
等待 uuid_signal 线程退出
正在等待线程 PrepareVideo 结束...
正在等待线程 DiarizSpeaker 结束...
正在等待线程 DubbingSrt 结束...
正在等待线程 SpeechToText2 结束...
正在等待线程 AlignVieoAudioSrt 结束...
正在等待线程 AssembVideoAudioSrt 结束...
正在等待线程 TaskDone 结束...
Successfully killed ffmpeg processes using taskkill

从日志来看,软件在语音识别阶段(STT)卡住,是因为首次加载 large-v3 模型需要较长时间,并且日志显示 is_cuda: True,表明软件仍在尝试使用 CUDA 加速,这与您之前关闭 CUDA 的设置不符。

请按以下步骤彻底解决:

  1. 强制关闭并重启软件:确保所有后台进程已结束。
  2. 确认主界面设置:启动软件后,在主界面右上角,务必取消勾选“CUDA加速”
  3. 修改高级选项

    • 点击顶部菜单栏的 工具/选项 -> 高级选项
    • 在“语音识别参数”区域,将 CUDA数据类型 设置为 float32
    • 在“通用设置”区域,将 GPU同时任务数[重启生效] 设置为 1
    • 点击“保存”并关闭窗口。
  4. 更换更小的模型:在“语音识别”渠道中,将模型从 large-v3 更换为 mediumsmall,以显著减少加载时间和资源消耗。
  5. 重新尝试:完成以上设置后,重新选择视频进行处理。首次使用新模型时仍需等待加载,但时间会缩短。

如果问题依旧,请提供软件 logs 文件夹中最新日志文件的底部约30行内容。

请查阅相关文档:


Application started at 2026-04-13 05:25:56

First searching GPU...
NVIDIA_GPU_NUMS=1
Found 1 GPUs, cost=2s
start workers...
process_max_gpu=1
multi_gpus=False
Concurrent task_nums=1
process_max=1
start 9 jobs
ended workers
[DEBUG] 返回缓存的编解码器 Windows-264: h264_nvenc
[DEBUG] 返回缓存的编解码器 Windows-265: hevc_nvenc
[DEBUG] 最终配置信息:self.cfg=TaskCfgVTT(is_cuda=False, uuid='71229e6d99', cache_folder='C:/Users/demon/Desktop/AI翻译软件/tmp/18180/71229e6d99', target_dir='C:/Users/demon/Desktop/AIAI/YQ9055/_video_out/1-26-mp4', source_language='英语', source_language_code='en', source_sub='C:/Users/demon/Desktop/AIAI/YQ9055/_video_out/1-26-mp4/en.srt', source_wav='C:/Users/demon/Desktop/AI翻译软件/tmp/18180/71229e6d99/en.wav', source_wav_output='C:/Users/demon/Desktop/AIAI/YQ9055/_video_out/1-26-mp4/en.m4a', target_language='简体中文', target_language_code='zh-cn', target_sub='C:/Users/demon/Desktop/AIAI/YQ9055/_video_out/1-26-mp4/zh-cn.srt', target_wav='C:/Users/demon/Desktop/AI翻译软件/tmp/18180/7
......
ine 403, in __get_result
File "videotrans\configure\_base.py", line 285, 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.
[ERROR] Model:large-v3 GPU0
Traceback (most recent call last):
File "videotrans\configure\_base.py", line 285, in _new_process
File "concurrent\futures\_base.py", line 458, in result
File "concurrent\futures\_base.py", line 403, in __get_result
File "videotrans\configure\_base.py", line 285, 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.
[ERROR] Model:large-v3 GPU0
Traceback (most recent call last):
File "videotrans\configure\_base.py", line 285, in _new_process
File "concurrent\futures\_base.py", line 458, in result
File "concurrent\futures\_base.py", line 403, in __get_result
File "videotrans\configure\_base.py", line 285, in _new_process
File "concurrent\futures\_base.py", line 458, in result
File "concurrent\futures\_base.py", line 403, in __get_result
File "videotrans\configure\_base.py", line 285, 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.
[ERROR] Model:large-v3 GPU0
Traceback (most recent call last):
File "videotrans\configure\_base.py", line 285, in _new_process
File "concurrent\futures\_base.py", line 458, in result
File "concurrent\futures\_base.py", line 403, in __get_result
File "videotrans\configure\_base.py", line 285, in _new_process
File "concurrent\futures\_base.py", line 458, in result
File "concurrent\futures\_base.py", line 403, in __get_result
File "videotrans\configure\_base.py", line 285, 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.
[DEBUG] [语音识别]渠道0,large-v3:共耗时:445s
[DEBUG] [语音识别]渠道0,large-v3:共耗时:1087s
[DEBUG] [语音识别]渠道0,large-v3:共耗时:788s
[DEBUG] faster-whisper模式下,对large-v3模型返回的断句结果重新修正
等待 uuid_signal 线程退出
正在等待线程 PrepareVideo 结束...
正在等待线程 SpeechToText 结束...
正在等待线程 DiarizSpeaker 结束...
正在等待线程 TranslationSRT 结束...
正在等待线程 DubbingSrt 结束...
正在等待线程 SpeechToText2 结束...
正在等待线程 AlignVieoAudioSrt 结束...
正在等待线程 AssembVideoAudioSrt 结束...
正在等待线程 TaskDone 结束...
Successfully killed ffmpeg processes using taskkill

问题核心是使用 large-v3 模型进行语音识别时,由于模型过大或系统资源不足,导致子进程异常终止。日志显示 is_cuda=False,说明已关闭CUDA加速,但CPU处理 large-v3 模型仍可能导致内存不足。请按以下步骤解决:更换更小的语音识别模型:在主界面的“语音识别”渠道中,将模型从 large-v3 更换为 medium 或 small。这是最直接有效的解决方案。调整高级选项中的内存相关设置:点击顶部菜单栏的 工具/选项 -> 高级选项。在“通用设置”区域,将 最大进程数[重启生效] 设置为 1。在“语音识别参数”区域,将 识别准确度beam_size 和 识别准确度best_of 都从默认的 5 改为 1。点击“保存”并关闭窗口。重启软件并重试:完成设置后,关闭并重新启动 pyVideoTrans。再次尝试处理视频。如果以上步骤仍无法解决问题,请考虑将视频分割成更短的片段(例如5分钟一段)分别处理。请查阅相关文档:faster和openai识别模式

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