AidLux AI应用开发部署入门操作指引

目录

1.使用文档概述

2.场景应用:AidLux可实现的功能

2.1智慧城市应用

3.基础先行:基础知识掌握

3.1 AidLux是什么?

3.2 AidLux下载安装及使用

3.3 AidLux支持的AI框架

4.基础工具:AidLux开发基础工具

4.1 使用AidLux平台的VSCode编程

4.2 通过PC的VSCode远程连接AidLux

5.实践基础:实践基础操作

5.1 实战代码上传AidLux

5.2 AidLux读取图片/视频

6.进阶工具:AidLux AI工具链

6.1 AidLite——模型推理加速接口

6.2 AIMO——模型优化转换工具

6.3 AidCV——图像处理接口

6.4 AidStream——视频编解码处理接口

7.福利彩蛋

7.1 AI实战训练营

7.2 认证开发者计划

7.3AidLux高校合伙人

1.使用文档概述

AidLux使用文档旨在帮助AI开发者熟悉使用AidLux平台开发AI应用。

本文档将会从AidLux可实现的场景应用开始进行详述,逐步介绍在AidLux平台进行AI开发所需要的基础知识和基本工具,并列举许多成熟案例以供开发者参考。

2.场景应用:AidLux可实现的功能

2.1智慧城市应用

图像视觉在智慧城市领域应用很广,按照场景进行划分,可以分为多个领域,比如下方的12种场景:

AidLux在智慧城市中可以作为边缘端设备的软件平台,赋能智慧城市领域AI能力。

关于AidLux在智慧城市的应用详情请点击:*AidLux智慧城市应用*

3.基础先行:基础知识掌握

3.1 AidLux是什么?

AidLux是一个构建在ARM硬件上,基于创新性跨Android/鸿蒙 + Linux融合系统环境的智能物联网 (AIoT) 应用开发和部署平台。

跨Android/鸿蒙 + Linux 融合系统,带来颠覆性的生态体验

AidLux通过独特的Linux内核共享技术,将Android/鸿蒙与Linux完美的融合在一起,为用户打造了一个全新的生态体验。

● 一个智能设备可同时获得Android/鸿蒙和Linux两个系统原生体验,无需面对虚拟机跨系统方式带来的各种兼容性和性能烦恼。用户可以原生体验Android/鸿蒙超过百万的娱乐、社交等应用,同时还能直接访问原生Linux系统及其应用生态,立刻进入生产工作模式。生活、工作,无缝切换;

● 为开发者特别打造的跨系统 (Android、Linux) 交叉访问能力,不但可以让运行于不同系统环境中的应用实现高效互访,还能实现对系统层服务进行直接访问。应用场景不再局限于单一系统,为开发者打开了新的创意空间;

● 同时支持Android兼容设备和Linux兼容设备 (如:各种传感器、Arduino、机械臂、超高清工业相机、3D-ToF深度相机、网络相机等) 及各种接口 (如:4G/5G、LAN、WiFi、蓝牙、RS485、RS232等),即插即用,自 由应对各种智能物联网场景方案;

强大易用的AIoT应用赋能工具链,让AIoT应用开发和部署门槛大幅降低

● 预编译集成全球主流AI框架 (TensorFlow、Pytorch、NCNN、TNN、PanddlePanddle、MNN、MindSpore等) 和相关科学计算依赖库,开箱即用。用户无需花费大量的精力于繁琐且问题频发的开发和部署环境配置,支持将基于其它平台开发的AI应用轻松迁移部署至AidLux上运行;

● 为解决不同AI框架自定义编程接口带来的调用代码绑定问题,AidLux提供了基于Python的统一AI应用编程框架 - AidLite,将底层AI框架编程接口与AI应用代码调用进行了全面解耦合。开发者只需非常间的的调用AidLite API编写代码就能快速完成模型加载和模型推理,无需关注各种模型所依赖的底层AI框架的调用。大大减少了学习成本,并显著提高了代码的适应性和开发效率。

● 可视化AI应用低代码开发工具 Wizard,只需简单拖拽即可完成UI构建和AI功能的添加,代码自动生成,1分钟即可生成一个AI应用。无需AI基础,就能实现AI应用开发的愿望。

AI智能加速引擎,将AI处理器调用优化与AI推理执行层优化相结合,使AI应用处理速度大幅提升

● 开发者只需通过AidLite Python统一编程接口,就能简单快速的获得AidLux平台级的软硬协同加速支持;

● 实现了用户编程接口与不同底层AI处理器自带编程接口解耦合,开发者无需针对不同硬件平台调用开发不同的代码;

● 与各AI处理器厂商提供的加速方案对比,实现了多达15% ~ 30%的推理速度提升;

3.2 AidLux下载安装及使用

3.2.1 AidLux手机版本APP安装

打开安卓手机的应用商城,搜索AidLux即可下载安装。

3.2.2 PC远程访问Aidlux

打开手机版本的Aidlux软件APP,第一次进入的时候,APP自带的系统会进行初始化。

初始化好后,进入系统登录页面,这一步最好可以用手机号注册一下,当然也可以直接点击“我已阅读并同意”,然后点击跳过登录。

可以通过IP的方式,直接映射到电脑上操作。可以点击页面最上方的Cloud_ip。

比如是192.168.0.13:8000,打开电脑浏览器地址,输入相应的ip。

密码默认是aidlux,输入后即可进入主页面,可以看到其中的内容和手机端是一样的。

3.2.3 AidLux系统AI案例测试

在AidLux桌面中,有很多的AI案例可以直接运行尝试,点击桌面下方菜单栏的examples。

里面有很多应用,可以随便点击一个AI应用,比如点击第一个人脸关键点的应用。

需要注意的是,这时AidLux桌面的操作和手机版本AidLux的操作是同步的。也就是说在桌面上下载源代码后,手机版本也同样下载下来了。

下载达到100%,人脸关键点的源码即下载成功。

当界面出现“Installed successfully”时,表示所有的代码已经下载成功。

回到刚刚的examples的页面,再点击“Face”人脸关键点的应用,可以看到代码的编辑页面。

在页面中可以直接编辑代码,如果想要运行代码,可以点击图片中Run的按钮,再点击Run Now。

启动运行会发现,AidLux桌面运行的画面,和手机版本的画面是同步的。

3.2.4 AidLux软件设置后台运行

为了便于后面的编程操作,我们将AidLux设置成后台可运行的操作。

这里列举了多款手机设置的方式,开发者可以参照相应的设置教程:

(1)小米手机和平板设置教程

(2)OPPO手机与平板设置教程

(3)vivo手机与平板设置教程

(4)华为鸿蒙/HarmonyOS 2.0设置教程

(5)华为鸿蒙/HarmonyOS 3.0设置教程

开发者针对自己的手机可以进行设置尝试,如果其中遇到任何的问题,也可以点击此链接,加入开发者社群,会有专门的工作人员帮助解决问题。

3.3 AidLux支持的AI框架

4. 基础工具:AidLux开发基础工具

AidLux内置了许多功能模块方便开发者进行开发,如:应用商城、文件浏览器等,各功能模块介绍详情请访问:https://docs.aidlux.com/#/intro/aid-desktop

4.1 使用AidLux平台的VSCode编程

在AidLux应用商城中搜索并下载VSCode

然后再已安装页面将VSCode放置于桌面

之后点击桌面的VSCode即可在AidLux系统平台使用VSCode进行编程

4.2 通过PC的VSCode远程连接AidLux

在开发过程中,为了更好的调试AidLux中的代码,我们通常采用Vscode远程SSH的方式,连接AidLux平台。

详情操作请访问:VSCode远程连接AidLux

5. 实践基础:实践基础操作

5.1 实践代码上传AidLux

当PC端有相关代码,需要放在AidLux系统中调试时,我们可以先将代码上传到AidLux系统中。

通过手机/边缘设备中AidLux软件中Cloud ip的IP地址,打开AidLux桌面版。并打开文件浏览器,进入Home文件夹。

在home文件夹下就有了一个AidLux_code的文件夹。

5.2 AidLux读取图片/视频

AidLux读取图片和视频例子 点此下载

cvs库: 用于在aidlux网页端显示图片和视频,同时也会显示在原生安卓界面

  • 通过from cvs import *; 引用cvs库。cvs库是用于能够在aidlux网页端显示图片和视频的python库
  • 通过cvs读取图片,并在原生安卓页面和网页页面show,请执行 python cvs_picture_show.py
  • 通过cvs读取视频,并在原生安卓页面和网页页面show,请执行 python cvs_video_show.py

aidlite_gpu库:用于只显示在原生安卓界面,不会在网页端显示图片和视频

  • 通过import aidlite_gpu;引用aidlite_gpu库
  • 通过cvs读取图片并使用aidlite_gpu在原生安卓show,请执行 python aidlite_picture_show.py
  • 通过cvs读取视频并使用aidlite_gpu在原生安卓show,请执行 python aidlite_video_show.py

cv库:cv库是aidlux1.4版本之后支持的库,优化了网页端显示图片和视频,并且不会在安卓界面显示

  • 通过 import cv; 引用cv库
  • 通过cv读取图片,并在网页页面show,请执行 python cv_picture_show.py
  • 通过cv读取视频,并在网页页面show,请执行 python cv_video_show.py

注:通过修改/usr/local/lib/python3.7/distpackage/cv/tmpary文件第六行的

可以改变cv.imshow()时图片或者视频的位置,默认是全屏,若修改为

则会根据实际图片视频大小显示在前端

6. 进阶工具:AidLux AI工具链

成熟的AI项目应用落地会经历如下图所示的几个步骤。

其中AI模型训练部分可参考学习AI行业大V江大白老师和AidLux联合带来的【零基础 边缘端 智能安防训练营 | Lesson 3】的内容

目前由于各种边缘端芯片的异构化和框架算法的多样性,导致一个可应用的AI模型,无法简单、顺利的部署到边缘端芯片进行商业化落地应用。第六步骤——算法芯片硬件适配是AidLux所专注的领域,目的是为了使AI模型能够简单快捷的部署在各种边缘端芯片上。

AI模型部署在边缘端会遇到以下几个问题:

  • AI模型格式转换需要学习各种格式转换方式;
  • AI模型格式转换过程目标设备算子缺失导致转换失败;
  • 调度目标设备芯片的各模块(CPU、GPU、NPU)需要学习相应的方式,比如:调度高通的DSP模块需要AI模型格式为DLC,调度瑞芯微RK系列NPU模块需要AI模型格式为RKNN等;

AidLux针对这些问题提供了一套AI工具链,工具链包括:

图像处理接口AidCV、视频编解码处理接口AidStream、模型推理加速接口AidLite、模型优化转换工具AIMO。

6.1 AidLite——模型推理加速接口

常见的机器学习框架都有自己的模型加载和资源模块调度方式;不同的边缘端设备(高通骁龙系列,瑞芯微RK系列),也有芯片本身的资源调度方式。AidLux封装了aidlite_gpu接口集成和统一了AI模型的加载和推理方式,兼容了各种边缘端芯片的调度模式,让用户只需要学会一种代码方式即可对各种目标设备进行简单顺利部署。

下图是aidlite_gpu加载AI模型个推理的抽象流程。

aidlite_gpu详细文档请见:AidLuxDocs

使用aidlite_gpu案例请见:使用AidLite推理Yolov5人体检测

6.2 AIMO——模型优化转换工具

AI Model Optimizer 是阿加犀智能科技有限公司开发的 AI 模型部署优化平台,旨在帮助用户能够在边缘端芯片上无精度损失的快速迁移、部署和运行各种机器学习模型。

AI Model Optimizer 能够将其他主流框架的模型格式转换成 tflite、ONNX、DLC(详情见附录高通SNPE)等多种模型格式。通过云端部署的方式,AI Model Optimizer 以网页的方式呈现给用户,用户只需要将模型上传并设置好选项即可快速完成转换。

平台集成了各种模型转换工具,简化了转换流程,方便用户零代码、低成本的完成模型转换。另外,平台为了提高模型转换的成功率,进行了大量的AI 算子补全开发,将模型转换过程中缺失、不支持的算子补齐,大大提升模型转换成功率且没有精度损失。目前平台针对高通SNPE 进行了大量的算子补全,并且已经通过高通官方测试认证。在此之上,基于 AidLux 平台对高通芯片的 CPU、GPU、DSP 的调度,大大提高了模型的计算速度。

AI Model Optimizer 目前支持多种模型格式的转换,包括:ONNX、TensorFlow (pb)、Caffe (prototxt,caffemodel)、PyTorch (pt)、TensorFlow Lite、MXNet、PaddlePaddle (pdmodel, pdiparams)。

6.3 AidCV——图像处理接口

功能开发中,尽情期待~

6.4 AidStream——视频编解码处理接口

功能开发中,尽情期待~

7. 福利彩蛋

7.1 AI实战训练营

有AidLux,每个人都能轻松落地AI应用。

为了让AI学习和AI应用落地这件事简单点,我们会联合行业专家持续举办各类主题的AI实战训练营活动

7.2 认证开发者计划

通过使用AidLux,我们看到了越来越多的开发者仅用一台手机就实现了自己的AI应用落地。

大家的创意和分享挖掘出了平台更丰富的可能性,也让越来越多人看到了AidLux降低AI学习和开发部署门槛的价值。

为了支持更多优秀的开发者实现创意、轻松落地AI应用,我们正式启动认证开发者计划!

AidLux认证开发者——AI落地,由你定义

只需提交两个落地的AI应用作品,就可以获得基于高通855模组改造而成的7T算力边缘计算设备一台,后续创作还有额外的红包奖励。

欢迎对AI应用有需求、热情、想象力和创作能力的伙伴加入我们。

7.3 AidLux高校合伙人

AidLux高校合伙人计划,旨在通过联合具有一定技术能力、组织能力,对AidLux有一定了解的高校在校生,发起生态“共建”活动,负责AidLux校内推广、活动策划和高校创作者群体拓展和运营,挖掘更多使用AidLux的实现某些功能的相关内容。

成为AidLux高校合伙人,可以获得项目经费支持、AidLux周边产品等权益。In AidLux,Be Partner!AidLux期待和欢迎你的加入。

1 个赞

很好很全面!

建议增加代码从PC端移植到手机端方法,或者有相应的转换工具或代码

另外,也建议有一个沟通交流的渠道,遇到相应的问题可以有技术支持。

https://community.aidlux.com/postDetail/946 AidLux AI开发者交流群这嘎达可以加~~~

感谢分享