浅谈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 深度学习领域,助力从底层框架到场景应用的完整技术开发。欢迎关注下面公众号,持续关注关注我们的动态。

目录
相关文章
|
6天前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型的分布式训练
使用Python实现深度学习模型的分布式训练
116 73
|
1天前
|
人工智能
AniDoc:蚂蚁集团开源 2D 动画上色 AI 模型,基于视频扩散模型自动将草图序列转换成彩色动画,保持动画的连贯性
AniDoc 是一款基于视频扩散模型的 2D 动画上色 AI 模型,能够自动将草图序列转换为彩色动画。该模型通过对应匹配技术和背景增强策略,实现了色彩和风格的准确传递,适用于动画制作、游戏开发和数字艺术创作等多个领域。
30 16
AniDoc:蚂蚁集团开源 2D 动画上色 AI 模型,基于视频扩散模型自动将草图序列转换成彩色动画,保持动画的连贯性
|
11天前
|
人工智能 安全 测试技术
EXAONE 3.5:LG 推出的开源 AI 模型,采用 RAG 和多步推理能力降低模型的幻觉问题
EXAONE 3.5 是 LG AI 研究院推出的开源 AI 模型,擅长长文本处理,能够有效降低模型幻觉问题。该模型提供 24 亿、78 亿和 320 亿参数的三个版本,支持多步推理和检索增强生成技术,适用于多种应用场景。
62 9
EXAONE 3.5:LG 推出的开源 AI 模型,采用 RAG 和多步推理能力降低模型的幻觉问题
|
13天前
|
机器学习/深度学习 人工智能
SNOOPI:创新 AI 文本到图像生成框架,提升单步扩散模型的效率和性能
SNOOPI是一个创新的AI文本到图像生成框架,通过增强单步扩散模型的指导,显著提升模型性能和控制力。该框架包括PG-SB和NASA两种技术,分别用于增强训练稳定性和整合负面提示。SNOOPI在多个评估指标上超越基线模型,尤其在HPSv2得分达到31.08,成为单步扩散模型的新标杆。
55 10
SNOOPI:创新 AI 文本到图像生成框架,提升单步扩散模型的效率和性能
|
13天前
|
人工智能 搜索推荐 开发者
Aurora:xAI 为 Grok AI 推出新的图像生成模型,xAI Premium 用户可无限制访问
Aurora是xAI为Grok AI助手推出的新图像生成模型,专注于生成高逼真度的图像,特别是在人物和风景图像方面。该模型支持文本到图像的生成,并能处理包括公共人物和版权形象在内的多种图像生成请求。Aurora的可用性因用户等级而异,免费用户每天能生成三张图像,而Premium用户则可享受无限制访问。
55 11
Aurora:xAI 为 Grok AI 推出新的图像生成模型,xAI Premium 用户可无限制访问
|
14天前
|
存储 人工智能 PyTorch
【AI系统】模型转换流程
本文详细介绍了AI模型在不同框架间的转换方法,包括直接转换和规范式转换两种方式。直接转换涉及从源框架直接生成目标框架的模型文件,而规范式转换则通过一个中间标准格式(如ONNX)作为桥梁,实现模型的跨框架迁移。文中还提供了具体的转换流程和技术细节,以及模型转换工具的概览,帮助用户解决训练环境与部署环境不匹配的问题。
33 5
【AI系统】模型转换流程
|
14天前
|
机器学习/深度学习 存储 人工智能
【AI系统】模型转换基本介绍
模型转换技术旨在解决深度学习模型在不同框架间的兼容性问题,通过格式转换和图优化,将训练框架生成的模型适配到推理框架中,实现高效部署。这一过程涉及模型格式转换、计算图优化、算子统一及输入输出支持等多个环节,确保模型能在特定硬件上快速、准确地运行。推理引擎作为核心组件,通过优化阶段和运行阶段,实现模型的加载、优化和高效执行。面对不同框架的模型文件格式和网络结构,推理引擎需具备高度的灵活性和兼容性,以支持多样化的应用场景。
37 4
【AI系统】模型转换基本介绍
|
9天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品消费需求分析的深度学习模型
使用Python实现智能食品消费需求分析的深度学习模型
49 21
|
14天前
|
机器学习/深度学习 存储 人工智能
【AI系统】模型剪枝
本文概述了模型剪枝的概念、方法及流程,旨在通过移除神经网络中冗余或不重要的参数,实现模型规模的减小和效率的提升。剪枝不仅有助于降低模型的存储和计算需求,还能增强模型的泛化能力。文章详细介绍了剪枝的定义、分类、不同阶段的剪枝流程,以及多种剪枝算法,如基于参数重要性的方法、结构化剪枝、动态剪枝和基于优化算法的全局剪枝策略。通过这些方法,可以在保持模型性能的同时,显著提高模型的计算速度和部署灵活性。
28 2
【AI系统】模型剪枝
|
11天前
|
机器学习/深度学习 数据采集 搜索推荐
使用Python实现智能食品消费偏好预测的深度学习模型
使用Python实现智能食品消费偏好预测的深度学习模型
52 23
下一篇
DataWorks