解决方案:
主要由于Tensorflow 版本过低导致的问题 。 之前看过其他的技术文章,他们的建议是使用 Tensorflow 2.2.0 。 但是,我个人的想法是: 由于机器学习是个日新月异的东西,并且Tensorflow 2 也是一个正式出道没多久的工具。大家还是尽量保持版本的最新。 这东西,甚至关系到性能问题,不是一两倍。甚至有可能达到几万倍,几十万倍都是有可能。 当前问题下: 升级前 : 十分钟到二十分钟,甚至三十分钟不等 升级后: 五到八秒返回结果
机型: 2016年购买的游戏本 CPU: 酷睿 i5 -6200U 内存:12G
项目场景:
这几日,心血来潮准备搭建一个完成一点的Tensorflow 图像识别道具。 在千辛万苦之后,项目终于完成。 但是,却在性能上,产生了完全无法可视的问题。接口延迟长达二三十分钟。
解决问题的过程:
过程是很艰难的,因为发现根本你没有一个专用的地方寻求帮助。 无论实在 CSDN上还是Tensorflow 官网上 。你都没有一个专门的地方快速找到问题的所在。 都已经死马当活马医了,准备在CSDN问答上,发问答帖。 在写的时候,突然想到前几天看到的视频,他让我们保持版本在 2.2.0 。 因此我就想,会不会是版本问题呢?方正都没办法了,不如更新一下版本。 说实话,自己电脑上的 Tensorflow 还是 2019年下载的 2.0.0 。。。 于是在更新到当前最新的版本 2.6.0 之后重新运行加载 性能上达到了很可观的改善
问题,到这里就结束了。 但是,我们还是有需要进一步探索的问题点,如
- 当前虽然接口的返回效率为5-8秒返回结果,但是最为后端服务器,这样的性能似乎还是处于能让所有人都满意的阶段。那么这个性能问题是机器的问题,还是模型的问题呢?
- 该模型是否能够通过Tensorflow.js 以及 Tensorflow Lite 布置在前端上呢?如果效率还是坚持在这个速率 ,那么应该放在什么样的业务上,保持程序的正常执行。
|