云社区 博客 博客详情
云社区 博客 博客详情

【每天进步一点点】在部署自己的模型时(Python版),推理结果与原模型不一致怎么办?可能是推理结果的顺序错了哦

Tianyi_Li 发表于 2020-05-24 00:23:35 05-24 00:23
Tianyi_Li 发表于 2020-05-24 00:23:35 2020/05/24
0
0

【摘要】 在Atlas 200 DK上部署自己的模型时(使用Python语言),推理结果与原模型不一致怎么办?仔细对比一下,可能是推理结果的顺序错了哦。

原因:

最近同学在尝试部署口罩检测,参考了GitHub上的口罩检测算法,链接为https://github.com/AIZOOTech/FaceMaskDetection,尝试使用了里面的TensorFlow和Caffe模型,在部署到Atlas 200 DK时,发现推理结果与原模型不一致。这一下就慌了,模型转换是成功的,预处理也正确,Log也没错误呀,一时不知道怎么办?

静下心来,一点一点调试,当尝试用相同图片推理,对比TensorFlow模型和.om模型推理结果时,发现好像推理结果的顺序不太对呀,输出虽然都是(1, 5794, 4),总的数据没什么问题,但TensorFlow的结果好像是按行排列,而.om模型结果好像是按列排列,又比对了好几行结果,好像真是这样,就像一个巨大的数组,虽然shape相同,但在TensorFlow下是按行排列,每行4个,而在.om模型推理时,确实按列排列,每行4个。赶快验证一下,.............,经过努力,终于调整好了,赶快运行,发现结果对了,居然真是这样,真是太刺激了。

不知道是不是代码或模型和转化的问题,但做了推理结果顺序的调整就好了。不过为什么和TensorFlow模型推理顺序不同呢?搞不懂,难道因为使用的是Python,而模型推理的底层用的是C++或C语言开发的,二者的存储顺序不一致?

总结:

遇到推理结果有问题,不要慌,只要模型能转化能成功,应该都可以的。看看推理结果顺序是不是和原来模型不一致也是一种可能哦

在这里分享一下,希望能帮助到遇到类似问题的人。




登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

评论 (0)


0/1000
评论

登录后可评论,请 登录注册

评论

您还没有写博客的权限!

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消