xxddccaa
xxddccaa
onnx推理代码: ``` import onnxruntime as ort session = ort.InferenceSession(r'model/focal2.onnx', providers=['CUDAExecutionProvider']) # 加载模型 outputs = session.run(None, {'x': img}) # 调用模型 ```
在paddle那里的图 贴错了,我再贴一些今天测试的结果: 对于同一张图输入,paddle模型输出后sigmod是(最大的两个数值是0.10090836, 0.96171629):  而onnx模型里面带了sigmod,输出就是想要的数值(最大的两个数值是0.00439452, 0.98361409):  想不出来是哪里出了问题,是paddle转onnx之后精度差这么多吗?
今天有了新的对比发现,把图片保存为bin后利用不同模型处理多标签任务,看输出的最大值判定模型推理是否相同,我发现: (1)运行onnx的结果最大数值是 0.96299744 (2)运行paddleclas自带的推理的功能(/deploy/python/predict_cls.py)的结果最大数值是 0.9629971。 万分位以上的差别都是可以接受的,所以我觉得paddle2onnx还是OK的。 (3)运行paddleclas自带的infer推理(tools/infer.py)的结果最大数值是0.94861。那么问题就出在paddle的动态模型转到paddle的推理模型上。 我在paddlecls的项目里也提一下这个问题,希望能得到解决。
你好,我把文件传百度云了,他们都是一一对应的: 链接:https://pan.baidu.com/s/1sscJwEJVflt06I-5fPNKBg?pwd=y9v3 提取码:y9v3 
这个issues里还有一些其他描述,如有需要可以查看:https://github.com/PaddlePaddle/Paddle2ONNX/issues/832
是否有新进展呢?我提一下yaml配置: ``` # global configs Global: checkpoints: null # pretrained_model: ./output/intent3/MobileNetV2/latest pretrained_model: null # output_dir: ./output/intent4/ output_dir: ./output/local/ device: cpu save_interval: 1 eval_during_train: True eval_interval: 1 epochs: 20 print_batch_step: 10...
是前者。 paddle的infer.py和paddle的inference推理没对上。
我试了一下,还是不行,我详细写一下我操作过程,看看哪里有问题。 我的local.yaml文件: ``` # global configs Global: checkpoints: null # pretrained_model: ./output/intent3/MobileNetV2/latest pretrained_model: null # output_dir: ./output/intent4/ output_dir: ./output/local/ device: cpu save_interval: 1 eval_during_train: True eval_interval: 1 epochs: 20 print_batch_step:...
希望能像我这样操作一把试试,从而找到问题根源。 此外,还希望paddleclas在未来给出一些数据增强示例、训练在线可视化的一些东西。
好的呀,已添加,叫Kevin。