You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用rembg移除图片背景反复触发ONNXRuntimeError求助

移除图片背景时出现ONNXRuntimeError的问题及解决办法

问题场景

运行以下代码移除图片背景时,反复触发ONNXRuntimeError:

from rembg.bg import remove
import numpy as np
import io
from PIL import Image

input_path = 'crop.jpeg'
output_path = 'out.png'

f = np.fromfile(input_path)
result = remove(f)
img = Image.open(io.BytesIO(result)).convert("RGBA")
img.save(output_path)

报错信息(翻译后)

C:\Sauhard\Internships\TEST IMAGES>python -u "c:\Sauhard\Internships\TEST IMAGES\a.py"
Traceback (most recent call last):
  File "c:\Sauhard\Internships\TEST IMAGES\a.py", line 10, in <module>
    result = remove(f)
  File "C:\Users\Sauhard Saini\AppData\Local\Programs\Python\Python39\lib\site-packages\rembg\bg.py", line 133, in remove
    session = new_session("u2net")
  File "C:\Users\Sauhard Saini\AppData\Local\Programs\Python\Python39\lib\site-packages\rembg\session_factory.py", line 60, in new_session
    ort.InferenceSession(
  File "C:\Users\Sauhard Saini\AppData\Local\Programs\Python\Python39\lib\site-packages\onnxruntime\capi\onnxruntime_inference_collection.py", line 347, in __init__
    self._create_inference_session(providers, provider_options, disabled_optimizers)
  File "C:\Users\Sauhard Saini\AppData\Local\Programs\Python\Python39\lib\site-packages\onnxruntime\capi\onnxruntime_inference_collection.py", line 395, in _create_inference_session
    sess.initialize_session(providers, provider_options, disabled_optimizers)
RuntimeError: D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1029 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : 失败 : 尝试加载 "C:\Users\Sauhard Saini\AppData\Local\Programs\Python\Python39\lib\site-packages\onnxruntime\capi\onnxruntime_providers_tensorrt.dll" 时,LoadLibrary调用失败,错误码126

问题原因

报错核心是加载TensorRT相关的ONNXRuntime插件失败,常见诱因:

  • 未正确配置TensorRT、CUDA、cuDNN等GPU加速依赖,版本不兼容
  • ONNXRuntime默认尝试启用TensorRT GPU加速,但系统缺少必要运行库
  • 缺失微软Visual C++运行时库,导致无法加载DLL文件

解决办法

方法1:强制使用CPU运行(快速修复)

绕过GPU加速逻辑,直接用CPU执行,修改代码如下:

from rembg.bg import remove
from rembg.session_factory import new_session  # 新增导入
import numpy as np
import io
from PIL import Image

input_path = 'crop.jpeg'
output_path = 'out.png'

f = np.fromfile(input_path)
# 指定使用CPU执行器
result = remove(f, session=new_session("u2net", providers=['CPUExecutionProvider']))
img = Image.open(io.BytesIO(result)).convert("RGBA")
img.save(output_path)

方法2:修复GPU加速依赖(若需GPU支持)

  1. 确认你的NVIDIA GPU支持TensorRT,前往NVIDIA官网下载并安装对应版本的CUDA、cuDNN和TensorRT,注意三者版本必须相互兼容
  2. 卸载现有ONNXRuntime,安装GPU适配版本:
pip uninstall onnxruntime -y
pip install onnxruntime-gpu

方法3:安装VC++运行时库

下载并安装对应系统版本的Microsoft Visual C++ Redistributable for Visual Studio,修复DLL加载依赖问题。

内容的提问来源于stack exchange,提问作者Sauhard Saini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 02:30:53