卷积层通道剪裁报错
在使用slim.prune进行剪裁时会报错,模型可以正常推理。
errror信息如下:
[12-03 16:06:43 MainThread @logger.py:224] Argv: paddle_pruning.py
/home/zgq/anaconda3/envs/paddle/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 192 from C header, got 216 from PyObject
return f(*args, **kwds)
FLOPs: 37047296.0
2020-12-03 16:06:44,036-INFO: pruning: x2paddle_convolution_W
Traceback (most recent call last):
File "paddle_pruning.py", line 52, in
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::framework::OpDesc::InferShape(paddle::framework::BlockDesc const&) const
Python Call Stacks (More useful to users):
File "/home/zgq/anaconda3/envs/paddle/lib/python3.7/site-packages/paddle/fluid/framework.py", line 2679, in _prepend_op
attrs=kwargs.get("attrs", None))
File "/home/zgq/anaconda3/envs/paddle/lib/python3.7/site-packages/paddle/fluid/io.py", line 1048, in prepend_feed_ops
attrs={'col': i})
File "/home/zgq/anaconda3/envs/paddle/lib/python3.7/site-packages/paddle/fluid/io.py", line 1247, in save_inference_model
prepend_feed_ops(main_program, feeded_var_names)
File "/home/zgq/anaconda3/envs/paddle/lib/python3.7/site-packages/x2paddle/core/op_mapper.py", line 193, in save_inference_model
params_filename=None)
File "/home/zgq/anaconda3/envs/paddle/lib/python3.7/site-packages/x2paddle/convert.py", line 184, in onnx2paddle
mapper.save_inference_model(save_dir, params_merge)
File "/home/zgq/anaconda3/envs/paddle/lib/python3.7/site-packages/x2paddle/convert.py", line 306, in main
onnx2paddle(args.model, args.save_dir, params_merge)
File "/home/zgq/anaconda3/envs/paddle/bin/x2paddle", line 8, in
Error Message Summary:
Error: feed's infer_shape has not been registered at (/paddle/paddle/fluid/framework/op_desc.cc:686) [operator < feed > error]
请问有什么建议吗
@zhuguiqian 您是x2paddle转换过来的模型,再使用PaddleSlim的裁剪吗?
@zhuguiqian 您是x2paddle转换过来的模型,再使用PaddleSlim的裁剪吗?
我用 load_inference_model 了一个paddle模型 剪枝也会出这个错.