PaddleDetection
PaddleDetection copied to clipboard
使用PaddleDetection2.5报错:AttributeError: module 'paddle.vision.ops' has no attribute 'generate_proposals'
问题确认 Search before asking
- [X] 我已经搜索过问题,但是没有找到解答。I have searched the question and found no related answer.
请提出你的问题 Please ask your question
Load load_state_dict....
[09/15 09:15:48] ppdet.utils.checkpoint INFO: Finish loading model weights: /lzl/PaddleDetection-release-2.5/output/cascade_rcnn_vit_base_hrfpn_cae_1x_coco/best_model.pdparams
loading annotations into memory...
Done (t=0.04s)
creating index...
index created!
[09/15 09:15:48] ppdet.engine INFO: Export inference config file to ./output_inference/cascade_rcnn_vit_base_hrfpn_cae_1x_coco/infer_cfg.yml
Traceback (most recent call last):
File "tools/export_model.py", line 108, in
File "/lzl/PaddleDetection-release-2.5/ppdet/modeling/architectures/cascade_rcnn.py", line 136, in get_pred
bbox_pred, bbox_num, mask_pred = self._forward()
File "/lzl/PaddleDetection-release-2.5/ppdet/modeling/architectures/cascade_rcnn.py", line 104, in _forward
rois, rois_num, _ = self.rpn_head(body_feats, self.inputs)
File "/lzl/PaddleDetection-release-2.5/ppdet/modeling/proposal_generator/rpn_head.py", line 141, in forward
rois, rois_num = self._gen_proposal(scores, deltas, anchors, inputs)
File "/lzl/PaddleDetection-release-2.5/ppdet/modeling/proposal_generator/rpn_head.py", line 198, in _gen_proposal
# Generate proposals for each level and each batch.
# Discard batch-computing to avoid sorting bbox cross different batches.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
for i in range(batch_size):
rpn_rois_list = []
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/convert_call_func.py", line 258, in convert_call
converted_call = convert_to_static(call_func)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 140, in convert_to_static
static_func = _FUNCTION_CACHE.convert_with_cache(function)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 77, in convert_with_cache
static_func = self._convert(func)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/program_translator.py", line 115, in _convert
root_wrapper = self._dygraph_to_static.get_static_ast(root)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/ast_transformer.py", line 58, in get_static_ast
self.static_analysis_visitor = StaticAnalysisVisitor(root)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/static_analysis.py", line 207, in __init__
self.run(ast_root)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/static_analysis.py", line 215, in run
self.dfs_visit(ast_root)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/static_analysis.py", line 241, in dfs_visit
func_type = self.dfs_visit(child)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/static_analysis.py", line 244, in dfs_visit
self.dfs_visit(child)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/static_analysis.py", line 244, in dfs_visit
self.dfs_visit(child)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/static_analysis.py", line 244, in dfs_visit
self.dfs_visit(child)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/static_analysis.py", line 247, in dfs_visit
cur_wrapper.node_var_type = self._get_node_var_type(cur_wrapper)
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/static_analysis.py", line 359, in _get_node_var_type
if is_dygraph_api(node):
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/utils.py", line 201, in is_dygraph_api
if is_api_in_module(node, DYGRAPH_TO_STATIC_MODULE_PREFIX):
File "/Envs/lzl/lib/python3.6/site-packages/paddle/fluid/dygraph/dygraph_to_static/utils.py", line 193, in is_api_in_module
module_prefix))
File "<string>", line 1, in <module>
AttributeError: module 'paddle.vision.ops' has no attribute 'generate_proposals'
+++++++++++++++++++++ 在使用[PaddleDetection2.5版本的时候 使用cascade_rcnn_vit_base_hrfpn_cae_1x_coco进行训练然后 进行导出模型的时候报错。使用环境paddle2.2.2 python3.6.8 命令使用:python tools/export_model.py -c configs/vitdet/cascade_rcnn_vit_base_hrfpn_cae_1x_coco.yml --output_dir=./output_inference -o weights=/lzl/PaddleDetection-release-2.5/output/cascade_rcnn_vit_base_hrfpn_cae_1x_coco/best_model.pdparams 请问是什么原因
请拉取最新代码。 https://github.com/PaddlePaddle/PaddleDetection/blob/develop/docs/tutorials/INSTALL.md https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/ppdet/modeling/proposal_generator/proposal_generator.py#L65
请拉取最新代码。 https://github.com/PaddlePaddle/PaddleDetection/blob/develop/docs/tutorials/INSTALL.md https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/ppdet/modeling/proposal_generator/proposal_generator.py#L65
########## 拉取新版本后 依旧报错 错误还是一样的,请问有解决办法吗?
一样的报错,有办法解决了吗
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.4/ppdet/modeling/proposal_generator/proposal_generator.py#L65 paddle2.2.2版本太低了,ppdet请换到2.4分支使用
https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.4/ppdet/modeling/proposal_generator/proposal_generator.py#L65 paddle2.2.2版本太低了,ppdet请换到2.4分支使用
我也是同样问题,用paddle2.2.2是因为,用paddle2.4会报内存不够的错误。ppdet现在是2.5, 您是让换到2.4?用2.2.2的paddle+2.4的ppdet? 我参考您分享的链接(https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.4/ppdet/modeling/proposal_generator/proposal_generator.py#L65),把您标注的部分粘到对应的文件,同时注释了 if else部分。 结果报错从没有'generate_proposals', 变成了没有'distribute_fpn_proposals'
https://github.com/PaddlePaddle/PaddleDetection/blob/develop/docs/tutorials/INSTALL.md 请先尝试按照这个版本说明去安装环境。 自测cascade rcnn训练测试导出均ok:PaddleDetection 2.5,paddle 2.3.2,linux。 此外develop分支的PaddleDetection + develop版本的paddle每天都是有CI流程监测的肯定是没问题的。可以参考下。