Hi,
I trained a Fasterrcnn Resnet50 object detection model on custom dataset with PyTorch and converted it to onnx model
When ran onnxruntime against the onnx model, it managed to load the model. But when the model tried predicting on a image with session.run(), it returns the following error:
[E:onnxruntime:Default, cuda_call.cc:117 CudaCall] CUDNN failure 4: CUDNN_STATUS_INTERNAL_ERROR ; GPU=0 ; hostname=harshatejas ; expr=cudnnFindConvolutionForwardAlgorithmEx( s_.handle, s_.x_tensor, s_.x_data, s_.w_desc, s_.w_data, s_.conv_desc, s_.y_tensor, s_.y_data, 1, &algo_count, &perf, algo_search_workspace.get(), max_ws_size);
2021-07-02 16:59:04.808417944 [E:onnxruntime:, sequential_executor.cc:339 Execute] Non-zero status code returned while running Conv node. Name:‘Conv_441’ Status Message: CUDNN error executing cudnnFindConvolutionForwardAlgorithmEx( s_.handle, s_.x_tensor, s_.x_data, s_.w_desc, s_.w_data, s_.conv_desc, s_.y_tensor, s_.y_data, 1, &algo_count, &perf, algo_search_workspace.get(), max_ws_size)
terminate called after throwing an instance of ‘onnxruntime::OnnxRuntimeException’
what(): /home/onnxruntime/onnxruntime-py36/onnxruntime/core/providers/cuda/cuda_call.cc:121 bool onnxruntime::CudaCall(ERRTYPE, const char*, const char*, ERRTYPE, const char*) [with ERRTYPE = cudaError; bool THRW = true] /home/onnxruntime/onnxruntime-py36/onnxruntime/core/providers/cuda/cuda_call.cc:115 bool onnxruntime::CudaCall(ERRTYPE, const char*, const char*, ERRTYPE, const char*) [with ERRTYPE = cudaError; bool THRW = true] CUDA failure 702: the launch timed out and was terminated ; GPU=0 ; hostname=harshatejas ; expr=cudaEventDestroy(read_event_);
Aborted (core dumped)
I changed the runtime to run on cpu with session.set_providers([‘CPUExecutionProvider’])
BOOM!! The code ran successfully and predicted perfectly on the image, it took very long time to run the prediction. But i want the prediction done on gpu to able to predict in lesser time.
Thank You.