浅谈AI深度学习的模型训练和推理

简介: 本文主要是为介绍openvino框架实现模型库的训练和推理引擎技术,实现我司在智能超市等领域的场景应用。
在 2021 年,我们开始部署“EdgeX 智慧超市”解决方案,目的在于实现超市的全智能化运营,和连锁超市内用户数据实时同步。数据同步就是后台管理中心和接入的各个超市的 EdgeX 微服务平台,数据共享,不言而喻,分布式思维,我们是云边协同的新形态框架思维。超市的运营管理是这个解决方案的技术核心,也是业界一直在探索的焦点。目前的超市能称得上智能化的只有结算台,但通常也需要有客服在旁边指引监管,也没省下人力成本,所以我们把结算和管理流程紧密的结合在一起。那么运营就剩下秩序管理这一块了,也是全智能化的技术核心,用投资人的角度来说:“怎么去监管顾客在超市内行为,比如插队、破坏、攀爬、咋骗、争吵等行为”,其实就是 AI 深度学习的目标检测,行为分析和识别,这就是本文要介绍的地方。在音视频领域,AI 深度学习主要是做模型训练和推理引擎。不论是早期的人脸识别,还是后来的图像声音检测,都需要与模型做对比,所以模型训练至关重要,可以说是 AI 深度学习的基础。市面上各种运营 AI 深度学习框架的平台首先玩的就是他们训练的模型库,推理引擎则是实现目标的动作。目前全世界最流行的 AI 深度学习框架有 Google 的 TensorFlow 和 Keras、Microsoft 的 CNTK 和 ONNX、百度的 PaddlePaddle、FaceBook 的 PyTorch、BVLC 的 Caffe 等。

我不精通所有的框架,而国内市场目前的口号是“内容为王、数据为王...”,很难见到技术的精髓,也就是用几行 python 命令行就实现 AI 深度学习的完整过程,事实上只会在这个平台上跑这个流程,所有的技术都不会。甚至很多云平台开发上,日志都看不到,我就想,现在开发靠猜来判断吗?!声明下:这不能算喷,只是感慨下,与君共勉。这种虚有其表的技术显然没有前途的,根本不能满足我这种技术追求极致的人,所以我就选了另外一个从底层框架到场景应用完全开源的框架套件 openVINO,在中国主要是由 Intel 在运营,我选这个套件是还有商业目的,这里就不跑题了,openVINO 的框架如图 1 所示:从流程图上来看,左边支持大多数主流的其它 AI 深度学习框架,右边兼容各种算力插件,这很表面,就是装一堆的插件,然后几行代码跑全程的那种,这也是 Intel 的一种运营模式。

这个框架的开源里,直接明了的把模型训练 openCV 和推理引擎框架完整开放,开发者能基于 openCV 库写模型库和模型训练过程代码,也能基于 Inference Engine 库写推理过程代码,而其它的库用于写场景应用过程代码,也就是说这种情况下,想怎么发挥就怎么发挥,不受命令行或框架的约束。我在采用之前调研了下行业形势,各 AI 深度学习框架的短板除了客观的网络带宽的外部因素限制外,主要集中在模型训练精度低及识别和推理时间过长。造成这个问题的主要因素就是各套件广泛的去集成了各种插件,然后再用一个甚至是多个令行插件去把这些插件集成起来,达到低代码及 0 代码的目的,这里不发表评论,大家自己想。大家都知道每个插件和库文件,编译器都要去编译一遍才能识别出来,因此,时长就是这么增加的,性能损耗就是这样升高的,当然,这样同时也能提升通货膨胀,带动经济发展,计划经济的主要思想...。

至贸易战后,全球经济呈现衰退趋势...,各种坑也越演越烈,这里主要描述下开源的坑,华为曾旗帜鲜明的喊出了“不再使用开源”的口号。就拿这里来说吧,openCV 从此没有了 CV::face 的 namespace,官方说是因为不稳定,因此推出了另一个开源 contrib,然后 2 个开源源码重新编译成新的库文件,我以轻量级的方式重新编译了下,生成了 1G 多的新库文件。10 年技术我都没有调用过这么大内存的库文件,而目的只是为了去集成一个 namespace,一直以来的开源我们都是在维护 issue 后升级。再来说说代码,首先做模型库训练,openCV 是通过 csv 文件来读取模型库中的文件,模型库里存放的就是训练好的目标图片。有必要解释下训练好的概念,就是标记分类并处理好,用作对比的库存图片,比如人脸、物体和文字等,opencv 会把从摄像头采集来的图片转灰度化 cvtColor(fe, fe_gray, COLOR_BGR2GRAY),以减少运算,然后用一个循环来设定目标物体拍照的数量 for (int i = 0; i < faces.size(); i++),将其处理标记好。在 csv 中是用 2 个容器分别存储图像和标签 vector label,至此模型库就做好了,对目标识别时,摄像头采集到目标数据,通过读取 csv 文件的记录,就能找到训练库中的数据做对比,所以,识别的精度和时长就看图像数据和 csv 文件中的标签做的好不好。这个时候要注意,采集的图片也必须转化为灰度图做对比。对比的结果可以直接显示在测试图像界面中 putText(fm, str, text_lb, FONT_HERSHEY_COMPLEX, 1, Scalar(0, 0, 255)),如图 2 所示,图像上显示的结果就是标签中的标记。openCV 的整个过程只需要一个 xml 的分类器 CascadeClassifier,就能实现各个流程,至此,模型训练的库文件和 csv 文件就全完成了。openVINO 的推理引擎需要调用一对 xml 和 bin 模型文件,读取测试数据,读取网络权重和配置输入输出参数后,就可以启动 AI 推理计算设备进行推理了,openVINO 能实现同步推理和异步推理,通常采用异步推理 sync_infer_request->Infer()。推理就是对目标数据做分析或预测,比如通过人脸的特征来分析 zhe'g 这个人的年龄、健康、情绪等等。就目前的技术而言,AI 还是通过读取记忆来模仿人的思维的,是无自主意识行为,不会像大脑一样,在没有记忆的情况下能自主进行分析和判断。在代码中,我们会抛异常和出错终止程序的运行,如果没有,也不会像业外人士预测那样,产生新的意识,最后替代人类或毁灭世界。不论什么情况下,机器语言的最基本是不能有一点错误的,有错运行就会结束,甚至没有回光返照,机器终究是没有生命的。
最后,以介绍下我们公司结尾:绿视(上海)信息技术有限公司是音视频解决方案供应商,致力于流媒体和 AI 深度学习领域,助力从底层框架到场景应用的完整技术开发。欢迎关注下面公众号,持续关注关注我们的动态。

目录
相关文章
|
8天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品加工优化的深度学习模型
使用Python实现智能食品加工优化的深度学习模型
102 59
|
3天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品市场预测的深度学习模型
使用Python实现智能食品市场预测的深度学习模型
20 5
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的Transformer模型
探索深度学习中的Transformer模型
10 1
|
5天前
|
机器学习/深度学习 算法 开发者
探索深度学习中的优化器选择对模型性能的影响
在深度学习领域,优化器的选择对于模型训练的效果具有决定性作用。本文通过对比分析不同优化器的工作原理及其在实际应用中的表现,探讨了如何根据具体任务选择合适的优化器以提高模型性能。文章首先概述了几种常见的优化算法,包括梯度下降法、随机梯度下降法(SGD)、动量法、AdaGrad、RMSProp和Adam等;然后,通过实验验证了这些优化器在不同数据集上训练神经网络时的效率与准确性差异;最后,提出了一些基于经验的规则帮助开发者更好地做出选择。
|
5天前
|
机器学习/深度学习 算法 数据可视化
使用Python实现深度学习模型:智能食品配送优化
使用Python实现深度学习模型:智能食品配送优化
16 2
|
4天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
19 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
4天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
20 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
9天前
|
机器学习/深度学习 数据采集 数据库
使用Python实现智能食品营养分析的深度学习模型
使用Python实现智能食品营养分析的深度学习模型
35 6
|
6天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品储存管理的深度学习模型
使用Python实现智能食品储存管理的深度学习模型
20 2
|
7天前
|
机器学习/深度学习 算法
深度学习中的模型优化策略
【10月更文挑战第35天】在深度学习的海洋中,模型优化是那把能够引领我们抵达知识彼岸的桨。本文将从梯度下降法出发,逐步深入到动量、自适应学习率等高级技巧,最后通过一个实际代码案例,展示如何应用这些策略以提升模型性能。

热门文章

最新文章