#5304 RuntimeError: mkl_malloc: failed to allocate memory

1.164* Posted at: 1 day ago

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 1213, in generate_segments
File "faster_whisper\transcribe.py", line 1446, in generate_with_fallback
RuntimeError: mkl_malloc: failed to allocate memory


=
system:Windows-10-10.0.26100-SP0
version:v3.98
frozen:True
language:zh
root_dir:C:/Users/320124233/OneDrive - Philips/文件/win-pyvideotrans-v3.98-317

1 Replies

该错误是由于 faster-whisper 模型在内存(RAM 或显存)分配时失败导致的,常见于模型过大或系统可用内存不足。

解决方法(按推荐优先级)

  1. 降低模型尺寸
    在语音识别渠道中选择更小的模型,例如将 large-v3 改为 mediumsmall。如果使用 CUDA 加速,请确保显存足够(large-v3 需约 8GB 以上空闲显存,CPU 模式需 16GB 以上物理内存)。
  2. 调整计算数据类型
    进入 菜单 → 工具/选项 → 高级选项 → 语音识别参数,将 计算数据类型 设为 float16int8,以减少内存占用。
  3. 关闭占用内存的其他程序
    确保系统有足够空闲内存,尤其若未使用 GPU 加速,CPU 模式下大模型会消耗大量物理内存。
  4. 检查 CUDA 环境(若使用显卡)
    确认已正确安装 CUDA 12.8+ 和 cuDNN 9.x,且软件主界面勾选了 CUDA加速。若未使用 CUDA,处理速度极慢且易耗尽内存,建议配置后启用。
  5. 迁移软件解压路径
    当前路径 C:/Users/.../win-pyvideotrans-v3.98-317 包含空格和特殊字符(OneDrive - Philips),可能影响某些底层调用。建议将软件文件夹整体移动到不含中文、空格、特殊字符的路径(如 D:/pyVideoTrans)后重新运行。
  6. 增加系统虚拟内存(CPU 模式临时方案)
    Windows 设置中将虚拟内存设为物理内存的 1.5~2 倍,可缓解内存不足,但速度会显著下降。

如以上方法仍无法解决,请提供 logs/ 目录下最新的完整日志文件(约底部 30 行),以进一步分析。

Post Your Reply