预测时报错
Created by: mcl-stone
https://paddlex.readthedocs.io/zh_CN/latest/quick_start.html 按照文档训练了图片分类模型,训练正常,不同是使用自己的数据集,但使用 import paddlex as pdx model = pdx.load_model('output/mobilenetv2/epoch_8') result = model.predict('vegetables_cls/bocai/100.jpg', topk=3) print("Predict Result:", result) 预测时报错: [root@72b2d0dbbbe6 classification]# python3 infer.py W0624 07:30:16.347707 9900 device_context.cc:252] Please NOTE: device: 0, CUDA Capability: 75, Driver API Version: 10.2, Runtime API Version: 10.0 W0624 07:30:16.352710 9900 device_context.cc:260] device: 0, cuDNN Version: 7.6. 2020-06-24 07:30:18 [INFO] Model[MobileNetV2] loaded. /usr/local/lib64/python3.6/site-packages/paddle/fluid/executor.py:1070: UserWarning: The following exception is not an EOF exception. "The following exception is not an EOF exception.") Traceback (most recent call last): File "infer.py", line 3, in result = model.predict('1.jpg', topk=3) File "/usr/local/lib/python3.6/site-packages/paddlex/cv/models/classifier.py", line 292, in predict use_program_cache=True) File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/executor.py", line 1071, in run six.reraise(*sys.exc_info()) File "/usr/local/lib/python3.6/site-packages/six.py", line 703, in reraise raise value File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/executor.py", line 1066, in run return_merged=return_merged) File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/executor.py", line 1154, in _run_impl use_program_cache=use_program_cache) File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/executor.py", line 1232, in _run_program False) paddle.fluid.core_avx.EnforceNotMet:
C++ Call Stacks (More useful to developers):
0 std::string paddle::platform::GetTraceBackString<char const*>(char const*&&, char const*, int) 1 paddle::platform::EnforceNotMet::EnforceNotMet(std::__exception_ptr::exception_ptr, char const*, int) 2 paddle::operators::CUDNNConvOpKernel::Compute(paddle::framework::ExecutionContext const&) const 3 std::_Function_handler<void (paddle::framework::ExecutionContext const&), paddle::framework::OpKernelRegistrarFunctor<paddle::platform::CUDAPlace, false, 0ul, paddle::operators::CUDNNConvOpKernel, paddle::operators::CUDNNConvOpKernel, paddle::operators::CUDNNConvOpKernelpaddle::platform::float16 >::operator()(char const*, char const*, int) const::{lambda(paddle::framework::ExecutionContext const&)#1}>::_M_invoke(std::_Any_data const&, paddle::framework::ExecutionContext const&) 4 paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, paddle::platform::Place const&, paddle::framework::RuntimeContext*) const 5 paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, paddle::platform::Place const&) const 6 paddle::framework::OperatorBase::Run(paddle::framework::Scope const&, paddle::platform::Place const&) 7 paddle::framework::Executor::RunPartialPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, long, long, bool, bool, bool) 8 paddle::framework::Executor::RunPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, bool, bool, bool)
Python Call Stacks (More useful to users):
File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/framework.py", line 2610, in append_op attrs=kwargs.get("attrs", None)) File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/layer_helper.py", line 43, in append_op return self.main_program.current_block().append_op(*args, **kwargs) File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/layers/nn.py", line 2933, in conv2d "data_format": data_format, File "/usr/local/lib/python3.6/site-packages/paddlex/cv/nets/mobilenet_v2.py", line 149, in conv_bn_layer bias_attr=False) File "/usr/local/lib/python3.6/site-packages/paddlex/cv/nets/mobilenet_v2.py", line 60, in call name='conv1_1') File "/usr/local/lib/python3.6/site-packages/paddlex/cv/nets/init.py", line 90, in mobilenetv2 return model(input) File "/usr/local/lib/python3.6/site-packages/paddlex/cv/models/classifier.py", line 64, in build_net net_out = model(image, num_classes=self.num_classes) File "/usr/local/lib/python3.6/site-packages/paddlex/cv/models/load_model.py", line 61, in load_model mode='test') File "infer.py", line 2, in model = pdx.load_model('output/mobilenetv2/best_model')
Error Message Summary:
ExternalError: Cudnn error, CUDNN_STATUS_EXECUTION_FAILED at (/paddle/paddle/fluid/operators/conv_cudnn_op.cu:300) [operator < conv2d > error] [root@72b2d0dbbbe6 classification]# python3 infer.py W0624 07:47:27.601330 10003 device_context.cc:252] Please NOTE: device: 0, CUDA Capability: 75, Driver API Version: 10.2, Runtime API Version: 10.0 W0624 07:47:27.606433 10003 device_context.cc:260] device: 0, cuDNN Version: 7.6. 2020-06-24 07:47:29 [INFO] Model[MobileNetV2] loaded. /usr/local/lib64/python3.6/site-packages/paddle/fluid/executor.py:1070: UserWarning: The following exception is not an EOF exception. "The following exception is not an EOF exception.") Traceback (most recent call last): File "infer.py", line 3, in result = model.predict('1.jpg', topk=3) File "/usr/local/lib/python3.6/site-packages/paddlex/cv/models/classifier.py", line 292, in predict use_program_cache=True) File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/executor.py", line 1071, in run six.reraise(*sys.exc_info()) File "/usr/local/lib/python3.6/site-packages/six.py", line 703, in reraise raise value File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/executor.py", line 1066, in run return_merged=return_merged) File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/executor.py", line 1154, in _run_impl use_program_cache=use_program_cache) File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/executor.py", line 1232, in _run_program False) paddle.fluid.core_avx.EnforceNotMet:
C++ Call Stacks (More useful to developers):
0 std::string paddle::platform::GetTraceBackString<char const*>(char const*&&, char const*, int) 1 paddle::platform::EnforceNotMet::EnforceNotMet(std::__exception_ptr::exception_ptr, char const*, int) 2 paddle::operators::CUDNNConvOpKernel::Compute(paddle::framework::ExecutionContext const&) const 3 std::_Function_handler<void (paddle::framework::ExecutionContext const&), paddle::framework::OpKernelRegistrarFunctor<paddle::platform::CUDAPlace, false, 0ul, paddle::operators::CUDNNConvOpKernel, paddle::operators::CUDNNConvOpKernel, paddle::operators::CUDNNConvOpKernelpaddle::platform::float16 >::operator()(char const*, char const*, int) const::{lambda(paddle::framework::ExecutionContext const&)#1}>::_M_invoke(std::_Any_data const&, paddle::framework::ExecutionContext const&) 4 paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, paddle::platform::Place const&, paddle::framework::RuntimeContext*) const 5 paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, paddle::platform::Place const&) const 6 paddle::framework::OperatorBase::Run(paddle::framework::Scope const&, paddle::platform::Place const&) 7 paddle::framework::Executor::RunPartialPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, long, long, bool, bool, bool) 8 paddle::framework::Executor::RunPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, bool, bool, bool)
Python Call Stacks (More useful to users):
File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/framework.py", line 2610, in append_op attrs=kwargs.get("attrs", None)) File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/layer_helper.py", line 43, in append_op return self.main_program.current_block().append_op(*args, **kwargs) File "/usr/local/lib64/python3.6/site-packages/paddle/fluid/layers/nn.py", line 2933, in conv2d "data_format": data_format, File "/usr/local/lib/python3.6/site-packages/paddlex/cv/nets/mobilenet_v2.py", line 149, in conv_bn_layer bias_attr=False) File "/usr/local/lib/python3.6/site-packages/paddlex/cv/nets/mobilenet_v2.py", line 60, in call name='conv1_1') File "/usr/local/lib/python3.6/site-packages/paddlex/cv/nets/init.py", line 90, in mobilenetv2 return model(input) File "/usr/local/lib/python3.6/site-packages/paddlex/cv/models/classifier.py", line 64, in build_net net_out = model(image, num_classes=self.num_classes) File "/usr/local/lib/python3.6/site-packages/paddlex/cv/models/load_model.py", line 61, in load_model mode='test') File "infer.py", line 2, in model = pdx.load_model('output/mobilenetv2/best_model')
Error Message Summary:
ExternalError: Cudnn error, CUDNN_STATUS_EXECUTION_FAILED at (/paddle/paddle/fluid/operators/conv_cudnn_op.cu:300) [operator < conv2d > error] 貌似环境报错,但训练过程没问题,而且使用检查环境的命令也正常。