Paddle 使用paddle inference部署window 64位 C++ 灰度图 output和python端不符

jfgube3f  于 2021-12-07  发布在  Java
关注(0)|答案(3)|浏览(333)
  • 版本、环境信息:

   1)PaddlePaddle版本:1.8.5
   2)CPU:MKL
   3)Paddle inference:见下图,所有配置按照下图所示
   4)系统环境:windows 10 64 bit,Python3.6

  • 模型信息

   1)模型名称 CNN
2)使用数据集名称 分类数据集
3)使用算法名称
4)模型链接

  • 复现信息:

1)Python端训练模型
2)生成推理模型
3)下载并准备好C++端推理环境

  • 问题描述:

1)对于单通道灰度图C++端推理结果和python端结果不一致,导致错误分类,另外GetOutputNames函数只返回模型的中间卷积层名字,而实际最后一层应该是全连接层,但是GetOuputTensor拿到的似乎是正确的全连接层结果,这么想因为数据shape一致。
2)当我将所有训练数据和测试数据切换成3通道RGB图像(直接扩充维度),发现可以正常的到分类值
3)推测·是否时因为paddle inference里面的通道处理代码有误,在输入灰度图时会出现上述问题

i7uq4tfw

i7uq4tfw1#

您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网API文档常见问题历史IssueAI社区来寻求解答。祝您生活愉快~

Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the APIFAQGithub Issue and AI community to get the answer.Have a nice day!

ajsxfq5m

ajsxfq5m2#

1、您好,可以使用netron可视化下模型文件,看下模型的输入输出名称等。

2、当使用灰度图时,输出报错,请问下模型就是单通道输入的吗?正常来说应该是和python输出对齐的。

3、inference实际不包含通道的处理,只是op by op的调度

voj3qocg

voj3qocg3#

看过模型的输入输出,最后一层应该是fc_0.tmp2, 但是使用GetOutputNames没有拿到这层的名字,
模型就是单通道输入。
网络就是个简单CNN分类网络,输入是灰度图,官网下载的inference,应该可以复现

相关问题