品牌型号:联想 E550C ThinkPad
系统:Windows 11
软件版本:Qt 6
当今人工智能技术飞速发展,DeepSeek的爆火说明了这项技术背后蕴藏的巨大潜力和商业契机。而人工智能技术是以机器学习为基础来构建神经网络的,现下很多离线部署在应用程序中的大模型都需要应用程序具备机器学习功能方可成功运行使用,Qt作为一个强大的应用程序开发工具,自然不会错过这一技术浪潮。Qt与时俱进,推出了与机器学习相关的模块,为开发者们提供了在Qt中集成机器学习的便捷途径。本文将深入讲解Qt如何实现机器学习,Qt ML模块如何使用,帮助大家掌握Qt中机器学习的基本使用方法。
一、Qt如何实现机器学习
Qt通过提供上层插件Qt ML来实现各种机器学习功能,它并非提供了完整的机器学习代码实现,而是通过将TensorFlow Lite和ONNX Runtime等机器学习框架的API进行封装,向我们提供熟悉的机器学习接口,降低调用难度。
1、要实现机器学习,首先要求Qt版本大于等于5.15版本,其次还要求C++11以上的编译器,然后在项目配置中添加“ML”的模块依赖,我们可以在帮助菜单中查看Qt的当前版本。

2、使用Qt的ML模块来调用现有的机器学习模型来获得模型的输入输出结果,第一步引入ML的相关模块,再加载相对路径下的模型文件,第二步准备输入的数据并按照模型的输入格式要求做好匹配,第三步运行模型获得输出结果即可。

3、除了使用ML框架外,我们也可以直接调用已有的Python机器学习代码来实现机器学习功能。通过引入PythonQt库,使用eval来执行Python脚本获取模型结果。

二、Qt ML模块如何使用
当前Qt ML仅提供运行模型的功能,而无提供训练模型的功能,要想在Qt中使用ML模块,与普通的Python中执行机器学习并无很大的区别,都是分为加载模型、模型输入、执行模型获取结果三个步骤。
1、加载预训练模型。使用setModelFile方法传入预训练模型路径,再通过load方法将它加载到内存中。

2、准备输入数据。我们需要严格按照模型训练时的输入格式来传入预测参数,包括输入数据的维度、类型,这里需要参考自己所使用模型的要求来设置,下图是传入一个4维的NHWC格式的图片数据到模型中的参考代码。

3、运行模型推理。使用“setInput”传入模型的输入数据,再使用“run”方法执行模型并返回具体结果,就可得到模型预测结果

Qt ML模块的推出为传统应用程序开发注入了AI能力,让开发者能够轻松将机器学习功能集成到Qt应用程序中。通过本文的介绍,我们了解到Qt如何实现机器学习,Qt ML模块如何使用,对于开发者而言,掌握Qt ML模块不仅意味着能够为现有Qt应用添加智能功能,更是打开了通往智能工业控制等新兴领域的大门。