前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一头栽进了tensorflow lite的巨坑里

一头栽进了tensorflow lite的巨坑里

作者头像
云水木石
发布于 2019-07-01 09:42:09
发布于 2019-07-01 09:42:09
1.2K0
举报

之前写过一篇《这个中秋,我开发了一个识别狗狗的app》。图片识别可以算作是深度学习领域烂大街的主题,几乎每本书和教程都会拿来作为入门示例。移动端的图片识别的教程也很多,大多数都脱胎于Google的教程《TensorFlow for Poets》和《TensorFlow for Poets 2: Android》。有了现成的教程,我对实现狗狗的图像识别信心满满,认为重点在于信息的展示及狗狗信息的收集。

然而多年的开发经验告诉我,真正自己做起来,一定会碰到问题,特别是像tensorflow lite这种频繁迭代的产品。果然,我就一头栽进了tensorflow lite 的巨坑里。下面我就说道说道这个坑。

参考上面提到的教程,将基本功能实现出来还算顺利。然而,等代码build出来,安装到手机上一测试,拿一张狗狗的图片识别,结果的top 1概率都是0.0 ~ 0.02之间,使用训练的图片测试也是如此。为了更好的进行测试,我写了一个测试用例:predictSingleImage(),直接测试sd卡上的图片。排查问题过程如下:

  1. 确认传递给ImageClassifier的bitmap是正常的,这个可以通过将bitmap保存到文件确认。经过人眼观察,送到ImageClassifier的bitmap中狗狗的图像还是很明显的。
  2. 确认模型问题。我开始采用的是Google Inception V3模型,换成教程中使用的mobilenet模型,问题依旧。将我训练出来的mobilenet模型放到TensorFlow for Poets 2: Android的示例代码中,工作正常,虽然准确率不高,但至少top 1的概率大于0.4。可以确认模型没有问题。
  3. 确认代码,基本上复制的TensorFlow for Poets 2: Android示例代码,不可能出现问题。

到了这一步,就非常郁闷了,于是上网搜索,看有没有和我碰到同样问题的。果然,有个哥们在stackoverflow上提了一个问题:Accuracy score of inceptionV3 tflite model is not good as of retrained_graph.pb file,链接在此:https://stackoverflow.com/questions/49952165/accuracy-score-of-inceptionv3-tflite-model-is-not-good-as-of-retrained-graph-pb

这个帖子将问题步骤描述得很详细,最后贴出了测试结果:

然而,这个问题没有人回答。这一下子又陷入了困顿,有一阵子甚至开始怀疑人生:识别静态照片和camer流中一帧图像难道有本质区别吗?

一次搜索中,我无意中看到一个帖子:TfLite Image classification score is not consistent it keeps increasing for same image untill it reaches to some saturation(actual score)。链接地址:https://groups.google.com/a/tensorflow.org/forum/#!topic/tflite/fREwHb4rAPM

外国人提问题都比较严谨,这个帖子也贴了代码,大意就是说对于同一张图片,Tflite的图片分类的结果不一样,每识别一次,top 1概率就会提升,直到到达一个固定值。

看到这里,我才恍然大悟。回想我的代码和教程代码不同之处就在于:我只调用了一次识别过程,而教程是针对图像帧进行识别,会反复调用识别过程,可能之前的概率很低,但很快被后面的结果给覆盖了。

开始,我猜测是代码中tensorflow lite没有初始化好就调用其识别过程。但我在测试代码中加入延时,没有效果。加入循环,对一个图片反复识别几次,后面的识别就正常了。值得一提的是,不需要反复识别同一图片,换几个图片识别,后面再换其他的图片识别一样没问题。为此我添加了predictImages()方法,测试一系列图片,可以看到开始的top 1 score很低,但识别了几张之后,后面的top 1概率就正常了。

这时,我算是明白,我真的跌进tensorflow lite的巨坑里面了。Tensorflow Lite出现这样一个问题也真是匪夷所思,同样的输入和同样的处理,输出结果却不同,真的颠覆了我对编程的理解。

当年爱因斯坦面对量子力学,提出了“上帝是在执骰子吗?”的疑问。

深度学习也是如此?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云水木石 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
宁德时代的储能野心
继百度、小米、滴滴造车之后,创维、360等企业也于近日先后宣布下场造车了。新能源汽车下游产业链的持续热火,极大地刺激了上游储能产业的发展,作为国内储能产业龙头的宁德时代,更是凭借其在储能市场超高的市占率,成了这波造车热潮下的最大受益者。
刘旷
2021/05/05
3110
AIGC席卷,抖快、阅文、知乎大战网文圈
经历了二十几个夏秋秋冬,网文市场形成了阅文、晋江、七猫、番茄等平台割据一方稳定的市场格局。后来暗自布局网文市场的知乎、抖音、快手等新玩家开始浮出水面,未来的市场纷争下或许会诞生出新的网文强者。
刘旷
2023/04/24
2850
手机代工成利润增长点,“霸主”比亚迪要退位了?
2020年,新能源汽车板块大爆发。特斯拉十倍市值的增长神话,一道带动了蔚来、小鹏、等国内新能源车企,比亚迪的表现也同样不俗。
用户2908108
2021/04/26
3990
手机代工成利润增长点,“霸主”比亚迪要退位了?
Q2财报:百度AI破茧化蝶?
头部互联网巨头中,因为广告业务更为依赖中小企业,百度受疫情的负面影响是最大的,受损失程度可能比美团还高。不过在疫情得到有效控制的二季度,百度算是恢复了一些元气。
金融外参
2020/08/17
3480
Q2财报:百度AI破茧化蝶?
2019年报腾讯的业绩跷跷板:B端升起C端落下
2019年已经过去,作为“930改革”之后的第一个完整财年,腾讯交出了一份差强人意的答卷。
刘旷
2020/03/23
7790
2019年报腾讯的业绩跷跷板:B端升起C端落下
科大讯飞:百亿营收难解AI巨头心慌
近来由于疫情的影响,两大股市的情况备受关注。而现在美股和A股处在一个涨上去,另一个又跌下去的循环中,两大股市的频繁动荡,也反应了众多企业在突如其来的疫情当中日子并不好过。体量大如已经成立二十一年的科大讯飞,在“史上最惨财报季”中也没有能独善其身。
金融外参
2020/05/06
1K0
科大讯飞:百亿营收难解AI巨头心慌
斗鱼财报:内容竞争依然坎坷、云游戏突围打响
近日,斗鱼发布了企业一季度财报。不出意料,斗鱼一季度的营收表现良好,并在净利润、付费用户、MAU等多项利润上实现了大幅度增长。
刘旷
2020/05/29
4480
斗鱼财报:内容竞争依然坎坷、云游戏突围打响
百事可乐财报:营收、净利差强人意,2020年“鸭梨山大”
近日,百事公司旗下的食品公司大兴磁魏路分厂,出现新冠确诊病例的消息不胫而走,百事可乐也被牵连其中。既使,百事中国再三强调:“百事可乐饮料工厂未出现确诊病例,全国正常生产供货”,但此次事件仍对百事可乐饮品安全产生负面影响。
金融外参
2020/07/20
4000
百事可乐财报:营收、净利差强人意,2020年“鸭梨山大”
万达体育走到新的十字路口
从2020年一季度财报数据来看,当年王健林提出的“万达体育2020年净利润要做到十位数(10亿)甚至几十个十位数”的目标,恐怕要落空。
刘旷
2020/06/16
3130
宁德时代迎阵痛期
补贴退坡、原材料(钴、锂)涨价、外企入场......多方面因素的影响下,国内动力电池企业的日子并不好过。
刘旷
2020/11/05
4260
惠普财报:营收三连降,昔日IT巨头无力回春?
早前,关于惠普巨头陨落、断臂求生的消息沸沸扬扬。原因在于,市值仅有惠普三分之一的打印机巨头施乐,向惠普提出22美元/股的收购方案,颇有恶意收购的嫌疑。再有,惠普去年又宣布“未来三年内从约5.5万名员工中缩减7000到9000个工作岗位”,被外界理解为“强弩之末”。
刘旷
2020/09/11
5960
云集焦虑的财报:主力军不给力,预备役不温不火
疫后经济复苏的口号,带动了“地摊经济”发展,男女老少齐出门捞金。而注册成为电商会员、线上分享好物赚外快的“线上地摊经济”——会员制电商市场也迎来新机。
刘旷
2020/06/10
6460
云集焦虑的财报:主力军不给力,预备役不温不火
2020:利润收割机分众传媒水逆之年
4月15日,分众传媒发布2020年第一季度业绩预告,预计一季度净利润为2800万元到4200万元,同比下降87.66%-91.77%。
刘旷
2020/04/20
4010
2020:利润收割机分众传媒水逆之年
360数科华丽财报下的增长困局
8月24日,360数科发布了2020年第二季度财报,这也是自8月7日360金融升级为360数科之后的第一份财报。
刘旷
2020/08/28
5450
吉利的2020年,还算“吉利”吗?
3月23日,国产车企“自主三强”之一的吉利,发布了2020财年年报,也是“三强”中首位公布其成绩单的车企。
用户2908108
2021/04/09
3170
吉利的2020年,还算“吉利”吗?
石头科技的独立之殇
近年来,在神经网络技术和AI算法不断取得突破的情况下,人工智能产业迎来了飞速发展。与此同时,AI产业的进步,也使得越来越多的智能产品进入公众视野,开始服务于人们的日常生活,代替人做一些重复性的劳动。例如,智能扫地机器人的出现,就为房间清洁省去了不少麻烦。
金融外参
2020/09/08
3470
石头科技的独立之殇
苏宁年报:后疫情时代线下如何突围
4月17日晚间,智慧零售服务商苏宁易购今日发布2019年年度报告。报告显示,苏宁易购2019年全年营业收入2692.29亿元,相比2018年同比增长9.91%,归母净利润98.43亿元。报告期内,苏宁易购实现商品销售规模为3787.40亿元,同比增长12.47%。
刘旷
2020/04/20
3520
苏宁年报:后疫情时代线下如何突围
工业富联智能嬗变
提到代工厂,很多人很容易就想到富士康、比亚迪、立讯精密。而作为脱胎于富士康集团的工业富联,也很容易被外界贴上“代工厂”的标签。
刘旷
2020/11/09
5420
苏泊尔公布财报一季度承压,营收大幅下跌后龙头之位还稳吗?
从去年年底开始受疫情影响,家电市场逐渐呈现出“冰火两重天”,大家电市场“哀嚎一片”,小家电市场“锣鼓喧天”。
用户2908108
2020/05/11
3500
苏泊尔公布财报一季度承压,营收大幅下跌后龙头之位还稳吗?
这次财报,同程艺龙又沾了腾讯的光
5月21日,同程艺龙(0780.HK)公布了第一季度业绩公告。公告显示,同程艺龙一季度实现收入10.05亿元,经调整EBITDA为1.59亿元,调整EBITDA后利润率为15.8%。而今年第一季度经调整的净利润仍然为正,达到了7808万元,经调整净利润率为7.8%。这样的财务表现,在疫情重创旅游业的情况下,殊为难得。
刘旷
2020/05/25
3950
这次财报,同程艺龙又沾了腾讯的光
推荐阅读
相关推荐
宁德时代的储能野心
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档