错误代码
[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(): # 启用混合精度