Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conv input and filter dimensions do not match #937

Closed
wojtuss opened this issue May 28, 2018 · 6 comments
Closed

Conv input and filter dimensions do not match #937

wojtuss opened this issue May 28, 2018 · 6 comments
Assignees
Labels

Comments

@wojtuss
Copy link

wojtuss commented May 28, 2018

When running the eval.py script for MobileNet-SSD with pascalvoc or coco dataset and a model trained accordingly on the dataset on CPU, the following exception is being thrown:

paddle.fluid.core.EnforceNotMet: enforce in_dims.size() == filter_dims.size() failed, 4 != 1
Conv input dimension and filter dimension should be the same. at [/paddle/paddle/fluid/operators/conv_op.cc:49]

How can I fix this?

PaddlePaddle call stack:

0       0x7f59ac396b38p paddle::platform::EnforceNotMet::EnforceNotMet(std::__exception_ptr::exception_ptr, char const*, int) + 466
1       0x7f59acdb896ep paddle::operators::ConvOp::InferShape(paddle::framework::InferShapeContext*) const + 1602
2       0x7f59acf7201bp paddle::framework::OperatorWithKernel::RunImpl(paddle::framework::Scope const&, boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, paddle::platform::CUDAPinnedPlace, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&) const + 127
3       0x7f59acf6fa76p paddle::framework::OperatorBase::Run(paddle::framework::Scope const&, boost::variant<paddle::platform::CUDAPlace, paddle::platform::CPUPlace, paddle::platform::CUDAPinnedPlace, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_, boost::detail::variant::void_> const&) + 254
4       0x7f59ac4f7920p paddle::framework::Executor::RunPreparedContext(paddle::framework::ExecutorPrepareContext*, paddle::framework::Scope*, bool, bool) + 698
5       0x7f59ac4f4387p paddle::framework::Executor::Run(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool) + 137
6       0x7f59ac3c9380p pybind11::cpp_function::cpp_function<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}::operator()(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool) const + 144
7       0x7f59ac42d9eap void pybind11::detail::argument_loader<paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool>::call_impl<void, pybind11::cpp_function::cpp_function<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}&, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul>(pybind11::cpp_function::cpp_function<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}&, pybind11::detail::index_sequence<0ul, 1ul, 2ul, 3ul, 4ul, 5ul>) + 212
8       0x7f59ac4031ffp std::enable_if<std::is_void<void>::value, pybind11::detail::void_type>::type pybind11::detail::argument_loader<paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool>::call<void, pybind11::cpp_function::cpp_function<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}&>(pybind11::cpp_function::cpp_function<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}&) + 69
9       0x7f59ac3e9927p void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}, void, paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}&&, void (*)(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::detail::function_call) const + 201
10      0x7f59ac3e9d91p void pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}, void, paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(pybind11::cpp_function::initialize<void, paddle::framework::Executor, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool, pybind11::name, pybind11::is_method, pybind11::sibling>(void (paddle::framework::Executor::*)(paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool)#1}&&, void (*)(paddle::framework::Executor*, paddle::framework::ProgramDesc const&, paddle::framework::Scope*, int, bool, bool), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call) + 29
11      0x7f59ac3a4bbep pybind11::cpp_function::dispatcher(_object*, _object*, _object*) + 2581
12            0x4c37edp PyEval_EvalFrameEx + 31165
13            0x4b9ab6p PyEval_EvalCodeEx + 774
14            0x4c16e7p PyEval_EvalFrameEx + 22711
15            0x4b9ab6p PyEval_EvalCodeEx + 774
16            0x4c1e6fp PyEval_EvalFrameEx + 24639
17            0x4b9ab6p PyEval_EvalCodeEx + 774
18            0x4c1e6fp PyEval_EvalFrameEx + 24639
19            0x4b9ab6p PyEval_EvalCodeEx + 774
20            0x4eb30fp
21            0x4e5422p PyRun_FileExFlags + 130
22            0x4e3cd6p PyRun_SimpleFileExFlags + 390
23            0x493ae2p Py_Main + 1554
24      0x7f59d09eb830p __libc_start_main + 240
25            0x4933e9p _start + 41
@baiyfbupt baiyfbupt self-assigned this May 29, 2018
@luotao1 luotao1 added the intel label May 29, 2018
@baiyfbupt
Copy link
Contributor

Have you set model_dir? This script does not automatically get the model.
You can set this parameter like:

$ python eval.py --use_gpu False --model_dir model/best_model
----------- Configuration Arguments -----------
ap_version: 11point
batch_size: 32
data_dir: data/pascalvoc
dataset: pascalvoc
mean_value_B: 127.5
mean_value_G: 127.5
mean_value_R: 127.5
model_dir: model/best_model
nms_threshold: 0.45
resize_h: 300
resize_w: 300
test_list: test.txt
use_gpu: 0

@baiyfbupt
Copy link
Contributor

Maybe we can add some check about this? @qingqing01 To make the cause of this problem more clear.

@wojtuss
Copy link
Author

wojtuss commented May 29, 2018

@baiyfbupt Yes, I have set the model_dir option to a folder with a model saved during the training.

@baiyfbupt
Copy link
Contributor

baiyfbupt commented May 29, 2018

Ok, can you paste your Configuration Arguments here to locate the problem. Because I use the above configuration works fine. Thanks

@qingqing01
Copy link
Collaborator

@baiyfbupt We can add check in eval.py.

@wojtuss
Copy link
Author

wojtuss commented May 30, 2018

@baiyfbupt , my fault, my path set by the model_dir option was too short. Now everything works fine. Thanks and sorry for the false alarm.

@wojtuss wojtuss closed this as completed May 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants