Closed Taichipeace closed 1 year ago
可能原因是虽然名字都叫PPLCNet,但不一定模型结构一样。可以自行下载FD中提供的PPLCNet和你自己的PPLCNet,通过Netron打开可视化看他们的输入输出是否一样
可能原因是虽然名字都叫PPLCNet,但不一定模型结构一样。可以自行下载FD中提供的PPLCNet和你自己的PPLCNet,通过Netron打开可视化看他们的输入输出是否一样
佳军老师您好,FD的PaddleClas模型是resnet50_vd_ptq,输入输出如下:
我使用的特征提取模型为:general_PPLCNetV2_base_pretrained_v1.0.pdparams,导出后模型的输入输出为:
他们输入输出都是float32,请问会不会是因为推理代码里自动先将模型转成了int8,才会有如上的报错? 那在代码里该如何修改呢?
那么就是预处理的infer.yml文件内容差异导致
那么就是预处理的infer.yml文件内容差异导致
您说的这一点确实我也觉得奇怪,我用这个命令导出模型时,并没有同时生成infer.yml文件。
python tools/export_model.py -c ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml -o Global.pretrained_model=../general_PPLCNetV2_base_pretrained_v1.0 -o Global.device=cpu use_shared_conv=False
之前使用PaddleDetection时,使用export_model.py导出模型是会同时生成infer.yml的。
所以,这次我就直接把 PaddleClas/ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml 当做 infer.yml使用了,附件是FD的resnet50_vd_ptq的inference_cls.yaml 文件:inference_cls.zip
请问在导出PaddleClas的模型时,如何才能同时获得内容正确的 inference_cls.yaml 文件呢? 是要在导出时设置什么参数么?
问题解决了。 如果是PaddleClas的模型,可以直接通用resnet50_vd_ptq的inference_cls.yaml 文件。 谢谢佳军老师!
PP-ShiTuV2的特征提取用fastdeploy什么接口呢,用 fastdeploy::vision::faceid::ArcFace提特征吗,但好像这个接口报错
问题日志及出现问题的操作流程
【模型跑不通】
已经按照FD官方文档跑通 PaddleClas A311D 开发板 C++ 部署示例。
我的目的是在A311D上部署PP-ShiTuV2,主体检测部分已经部署成功,目前是部署特征提取模型时,遇到了问题。直接采用的特征提取模型为:general_PPLCNetV2_base_pretrained_v1.0.pdparams,并且通过如下命令导出模型:
python tools/export_model.py -c ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml -o Global.pretrained_model=../general_PPLCNetV2_base_pretrained_v1.0 -o Global.device=cpu use_shared_conv=False
导出模型的文件里,并没有inference_cls.yaml文件,所以直接使用这个yaml文件:https://github.com/PaddlePaddle/PaddleClas/blob/release/2.5/ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml
用到的文件和模型已经打包上传source_code.zip,其中包含:
提示看是模型精度的问题,但是不知道该如何设置,请大佬指点。