torch在视频处理时出现 FIND was unable to find an engine to execute this computation after trying 6 plans.

部署运行你感兴趣的模型镜像

错误代码

[09:08:32] Load source image from                                                                 gradio_pipeline.py:387
           C:\Users\Administrator\AppData\Local\Temp\gradio\04a5523d1f8b3a6482d6f46614cffbf8f0819
           4d8\s5.jpeg.
[09:08:35] Calculating eyes-open and lip-open ratios successfully!                                gradio_pipeline.py:395
D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\nn\modules\conv.py:456: UserWarning: Plan failed with a CuDNNError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED
Exception raised from run_conv_plan at ..\aten\src\ATen\native\cudnn\Conv_v8.cpp:375 (most recent call first):
00007FFB0198366200007FFB01983600 c10.dll!c10::Error::Error [<unknown file> @ <unknown line number>]
00007FF9CA53776600007FF9CA534DD0 torch_cuda.dll!at::native::_fft_r2c_cufft_out [<unknown file> @ <unknown line number>]
00007FF9CA5723E000007FF9CA5417E0 torch_cuda.dll!at::native::cudnn_convolution_transpose [<unknown file> @ <unknown line number>]
00007FF9CA578C9500007FF9CA5417E0 torch_cuda.dll!at::native::cudnn_convolution_transpose [<unknown file> @ <unknown line number>]
00007FF9CA573E5E00007FF9CA5417E0 torch_cuda.dll!at::native::cudnn_convolution_transpose [<unknown file> @ <unknown line number>]
00007FF9CA571D1B00007FF9CA5417E0 torch_cuda.dll!at::native::cudnn_convolution_transpose [<unknown file> @ <unknown line number>]
00007FF9CA5410EB00007FF9CA53FA80 torch_cuda.dll!at::native::cudnn_convolution_add_relu [<unknown file> @ <unknown line number>]
00007FF9CA53FA3B00007FF9CA53F6B0 torch_cuda.dll!at::native::cudnn_convolution [<unknown file> @ <unknown line number>]
00007FF9CC0A2CC400007FF9CC0871B0 torch_cuda.dll!at::cuda::where_outf [<unknown file> @ <unknown line number>]
00007FF9CBFCC1FA00007FF9CBF63B30 torch_cuda.dll!at::cuda::bucketize_outf [<unknown file> @ <unknown line number>]
00007FFA49F4EDE600007FFA49F41700 torch_cpu.dll!at::_ops::vsplit_int::redispatch [<unknown file> @ <unknown line number>]
00007FFA49FC7AF500007FFA49FC7810 torch_cpu.dll!at::_ops::cudnn_convolution::call [<unknown file> @ <unknown line number>]
00007FFA4955729000007FFA49556490 torch_cpu.dll!at::native::_convolution [<unknown file> @ <unknown line number>]
00007FFA4A3D995D00007FFA4A3D89D0 torch_cpu.dll!at::compositeexplicitautograd::view_copy_symint_outf [<unknown file> @ <unknown line number>]
00007FFA4A3AA5DE00007FFA4A36D610 torch_cpu.dll!at::compositeexplicitautograd::bucketize_outf [<unknown file> @ <unknown line number>]
00007FFA49AE0C6400007FFA49AC0CD0 torch_cpu.dll!at::TensorMaker::make_tensor [<unknown file> @ <unknown line number>]
00007FFA49B81A0200007FFA49B81620 torch_cpu.dll!at::_ops::_convolution::call [<unknown file> @ <unknown line number>]
00007FFA4955646B00007FFA495551C0 torch_cpu.dll!at::native::sym_size [<unknown file> @ <unknown line number>]
00007FFA4956285B00007FFA495626F0 torch_cpu.dll!at::native::convolution [<unknown file> @ <unknown line number>]
00007FFA4A3DAE9300007FFA4A3D89D0 torch_cpu.dll!at::compositeexplicitautograd::view_copy_symint_outf [<unknown file> @ <unknown line number>]
00007FFA4A3AA6EF00007FFA4A36D610 torch_cpu.dll!at::compositeexplicitautograd::bucketize_outf [<unknown file> @ <unknown line number>]
00007FFA49AE0B0000007FFA49AC0CD0 torch_cpu.dll!at::TensorMaker::make_tensor [<unknown file> @ <unknown line number>]
00007FFA49B621DC00007FFA49AC0CD0 torch_cpu.dll!at::TensorMaker::make_tensor [<unknown file> @ <unknown line number>]
00007FFA49C355EC00007FFA49C354A0 torch_cpu.dll!at::_ops::convolution::redispatch [<unknown file> @ <unknown line number>]
00007FFA4B30873C00007FFA4B288640 torch_cpu.dll!torch::autograd::CopySlices::~CopySlices [<unknown file> @ <unknown line number>]
00007FFA4B2FEB6500007FFA4B288640 torch_cpu.dll!torch::autograd::CopySlices::~CopySlices [<unknown file> @ <unknown line number>]
00007FFA49AE0B0000007FFA49AC0CD0 torch_cpu.dll!at::TensorMaker::make_tensor [<unknown file> @ <unknown line number>]
00007FFA49BADF9600007FFA49BADC60 torch_cpu.dll!at::_ops::convolution::call [<unknown file> @ <unknown line number>]
00007FFA4956138D00007FFA49561030 torch_cpu.dll!at::native::conv2d_symint [<unknown file> @ <unknown line number>]
00007FFA4A56D5A800007FFA4A56B0B0 torch_cpu.dll!at::compositeimplicitautograd::where [<unknown file> @ <unknown line number>]
00007FFA4A550A4000007FFA4A518970 torch_cpu.dll!at::compositeimplicitautograd::broadcast_to_symint [<unknown file> @ <unknown line number>]
00007FFA49AE08DB00007FFA49AC0CD0 torch_cpu.dll!at::TensorMaker::make_tensor [<unknown file> @ <unknown line number>]
00007FFA4A0CABBF00007FFA4A0CA900 torch_cpu.dll!at::_ops::conv2d::call [<unknown file> @ <unknown line number>]
00007FFA4934C13700007FFA4933F120 torch_cpu.dll!at::autocast::cached_cast [<unknown file> @ <unknown line number>]
00007FFA49356E1500007FFA4933F120 torch_cpu.dll!at::autocast::cached_cast [<unknown file> @ <unknown line number>]
00007FFA49AE08DB00007FFA49AC0CD0 torch_cpu.dll!at::TensorMaker::make_tensor [<unknown file> @ <unknown line number>]
00007FFA4A0CABBF00007FFA4A0CA900 torch_cpu.dll!at::_ops::conv2d::call [<unknown file> @ <unknown line number>]
00007FFA4811CEF900007FFA48063540 torch_python.dll!THPPointer<THPGenerator>::release [<unknown file> @ <unknown line number>]
00007FFA4816E8F500007FFA48063540 torch_python.dll!THPPointer<THPGenerator>::release [<unknown file> @ <unknown line number>]
00007FFB270B140D00007FFB270B06B0 python310.dll!PyCFunction_GetFlags [<unknown file> @ <unknown line number>]
00007FFB2706C2A800007FFB2706C170 python310.dll!PyObject_MakeTpCall [<unknown file> @ <unknown line number>]
00007FFB27180E0200007FFB27180A20 python310.dll!PyEval_GetFuncDesc [<unknown file> @ <unknown line number>]
00007FFB2717D14D00007FFB2717A370 python310.dll!PyEval_EvalFrameDefault [<unknown file> @ <unknown line number>]
00007FFB2717F4DF00007FFB2717A370 python310.dll!PyEval_EvalFrameDefault [<unknown file> @ <unknown line number>]
00007FFB2706C65E00007FFB2706C620 python310.dll!PyFunction_Vectorcall [<unknown file> @ <unknown line number>]
00007FFB2706E94100007FFB2706E540 python310.dll!PyCell_Set [<unknown file> @ <unknown line number>]
00007FFB2706EAED00007FFB2706EA30 python310.dll!PyMethod_Self [<unknown file> @ <unknown line number>]
00007FFB2717889100007FFB271787C0 python310.dll!PyOS_URandomNonblock [<unknown file> @ <unknown line number>]
00007FFB27180E0200007FFB27180A20 python310.dll!PyEval_GetFuncDesc [<unknown file> @ <unknown line number>]
00007FFB2717D14D00007FFB2717A370 python310.dll!PyEval_EvalFrameDefault [<unknown file> @ <unknown line number>]
00007FFB2717F4DF00007FFB2717A370 python310.dll!PyEval_EvalFrameDefault [<unknown file> @ <unknown line number>]
00007FFB2706C65E00007FFB2706C620 python310.dll!PyFunction_Vectorcall [<unknown file> @ <unknown line number>]
00007FFB2706E94100007FFB2706E540 python310.dll!PyCell_Set [<unknown file> @ <unknown line number>]
00007FFB2706EB8A00007FFB2706EA30 python310.dll!PyMethod_Self [<unknown file> @ <unknown line number>]
00007FFB2718100200007FFB27180A20 python310.dll!PyEval_GetFuncDesc [<unknown file> @ <unknown line number>]
00007FFB2717BF6000007FFB2717A370 python310.dll!PyEval_EvalFrameDefault [<unknown file> @ <unknown line number>]
00007FFB2717F4DF00007FFB2717A370 python310.dll!PyEval_EvalFrameDefault [<unknown file> @ <unknown line number>]
00007FFB2706C65E00007FFB2706C620 python310.dll!PyFunction_Vectorcall [<unknown file> @ <unknown line number>]
00007FFB2706E94100007FFB2706E540 python310.dll!PyCell_Set [<unknown file> @ <unknown line number>]
00007FFB2706EB8A00007FFB2706EA30 python310.dll!PyMethod_Self [<unknown file> @ <unknown line number>]
00007FFB2718100200007FFB27180A20 python310.dll!PyEval_GetFuncDesc [<unknown file> @ <unknown line number>]
00007FFB2717BF6000007FFB2717A370 python310.dll!PyEval_EvalFrameDefault [<unknown file> @ <unknown line number>]
00007FFB2717F4DF00007FFB2717A370 python310.dll!PyEval_EvalFrameDefault [<unknown file> @ <unknown line number>]
00007FFB2706C65E00007FFB2706C620 python310.dll!PyFunction_Vectorcall [<unknown file> @ <unknown line number>]
 (Triggered internally at ..\aten\src\ATen\native\cudnn\Conv_v8.cpp:855.)
  return F.conv2d(input, weight, bias, self.stride,
Traceback (most recent call last):
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\gradio\queueing.py", line 541, in process_events
    response = await route_utils.call_process_api(
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\gradio\route_utils.py", line 276, in call_process_api
    output = await app.get_blocks().process_api(
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\gradio\blocks.py", line 1928, in process_api
    result = await self.call_function(
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\gradio\blocks.py", line 1514, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\anyio\to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\anyio\_backends\_asyncio.py", line 2470, in run_sync_in_worker_thread
    return await future
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\anyio\_backends\_asyncio.py", line 967, in run
    result = context.run(func, *args)
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\gradio\utils.py", line 833, in wrapper
    response = f(*args, **kwargs)
  File "G:\source\python\LivePortrait\app.py", line 64, in gpu_wrapped_execute_image_retargeting
    return gradio_pipeline.execute_image_retargeting(*args, **kwargs)
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "G:\source\python\LivePortrait\src\gradio_pipeline.py", line 260, in execute_image_retargeting
    self.prepare_retargeting_image(
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "G:\source\python\LivePortrait\src\gradio_pipeline.py", line 370, in prepare_retargeting_image
    f_s_user = self.live_portrait_wrapper.extract_feature_3d(I_s)
  File "G:\source\python\LivePortrait\src\live_portrait_wrapper.py", line 127, in extract_feature_3d
    feature_3d = self.appearance_feature_extractor(x)
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "G:\source\python\LivePortrait\src\modules\appearance_feature_extractor.py", line 42, in forward
    out = self.down_blocks[i](out)
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "G:\source\python\LivePortrait\src\modules\util.py", line 135, in forward
    out = self.conv(x)
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl
    return forward_call(*args, **kwargs)
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\nn\modules\conv.py", line 460, in forward
    return self._conv_forward(input, self.weight, self.bias)
  File "D:\OpenSource\anaconda3\envs\LivePortrait_CUDA118\lib\site-packages\torch\nn\modules\conv.py", line 456, in _conv_forward
    return F.conv2d(input, weight, bias, self.stride,
RuntimeError: FIND was unable to find an engine to execute this computation after trying 6 plans.

解决方法
对torch 启用混合精度,添加torch.cuda.amp.autocast()代码

live_portrait_pipeline.py

 with torch.cuda.amp.autocast():    
                x_s_info = self.live_portrait_wrapper.get_kp_info(I_s)
                x_c_s = x_s_info['kp']
                R_s = get_rotation_matrix(x_s_info['pitch'], x_s_info['yaw'], x_s_info['roll'])
                f_s = self.live_portrait_wrapper.extract_feature_3d(I_s)
                x_s = self.live_portrait_wrapper.transform_keypoint(x_s_info)



with torch.cuda.amp.autocast():  # 启用混合精度
                    f_s = self.live_portrait_wrapper.extract_feature_3d(I_s)

live_portrait_wrapper.py

with torch.no_grad(), torch.cuda.amp.autocast():  # 启用混合精度

您可能感兴趣的与本文相关的镜像

PyTorch 2.6

PyTorch 2.6

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

### YOLOv8 中 AKConv 的 `RuntimeError` 问题分析 YOLOv8 是一种高效的实目标检测框架,而 AKConv(Adaptive Kernel Convolution)是一种自适应卷积方法,在某些场景下可以提升模型性能。然而,当尝试在 YOLOv8 中集成 AKConv ,可能会遇到诸如 `'GET was unable to find an engine'` 这样的运行错误。 此错误通常与 CUDA 或 cuDNN 配置有关,具体可能涉及以下几个方面: #### 错误原因分析 1. **CUDA 版本不匹配** 如果使用的 PyTorch 和 CUDA 版本之间存在兼容性问题,则可能导致无法找到合适的引擎来执行特定操作[^1]。例如,PyTorch 可能编译了一个针对较新版本 CUDA 的算子,但在实际环境中却使用了旧版 CUDA。 2. **cuDNN 库配置不当** 自定义层(如 AKConv)依赖于 cuDNN 提供的高度优化算法。如果 cuDNN 安装有问题或者未正确加载到环境变量中,也会引发类似的错误消息[^2]。 3. **GPU 设备初始化失败** 当 GPU 资源不足或设备不可用,部分张量运算会回退至 CPU 执行模式。这种切换过程中可能出现异常情况,从而抛出该类错误提示信息[^3]。 4. **AKConv 实现中的潜在缺陷** 若 AKConv 层本身实现存在问题,比如未能适配当前硬件架构特性或是忽略了某些边界条件处理逻辑,则同样会引起此类 runtime error[^4]。 #### 解决方案建议 以下是几种可行的方法用于排查并修复上述提到的 RuntimeError: ##### 方法一: 更新软件栈组件 确保所安装的所有相关工具链均为最新稳定发行版本, 并且相互间保持良好协作关系. - 升级 NVIDIA Driver 至官方推荐支持对应显卡型号之驱动程序; - 下载最新的 CUDA Toolkit 包含完整功能集以及修补过的 bugfixes ; - 同步更新 cuDNN 到相匹配的 release tag , 注意遵循 nvidia 文档指导完成设置过程. ```bash # Example commands for updating packages on Ubuntu system with APT package manager sudo apt update && sudo apt upgrade -y wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu$(lsb_release -sr | tr '.' '_')/x86_64/cuda-keyring_1.0-1_all.deb sudo dpkg -i cuda-keyring_*.deb sudo apt-get install --no-install-recommends \ cuda-drivers \ libcudnn8=8.*.* ``` ##### 方法二: 修改代码以增强健壮性 通过调整源码使得其能够更加灵活应对不同计算平台差异带来的挑战. - 添加额外的日志记录机制以便定位确切发生位置及刻; - 对敏感函数调用增加 try-except 块捕获异常状况作出相应处置措施; ```python try: output = self.akconv(input_tensor) except RuntimeError as e: logging.error(f"Encountered exception during forward pass of AKConv layer: {e}") fallback_output = input_tensor.clone() # Or some other reasonable default value finally: return output or fallback_output ``` ##### 方法三: 测试简化模型结构 构建一个仅包含基础模块的小型网络来进行单独验证测试, 排除其他干扰因素影响最终结论得出准确性. - 移除非必要分支路径减少复杂度便于观察现象变化规律; - 使用合成数据代替真实样本快速迭代寻找根本诱因所在之处. ```python import torch.nn as nn class MinimalTestModel(nn.Module): def __init__(self): super().__init__() self.conv = nn.Conv2d(3, 64, kernel_size=(7,7), stride=2) def forward(self,x): out=self.conv(x) return out test_model=MinimalTestModel().cuda() dummy_input=torch.randn((1,3,224,224)).cuda() with torch.no_grad(): result=test_model(dummy_input) print(result.shape) ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值