本文主要是介绍让手机平板成为AI开发利器:AidLux,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
想ssh登录自己的手机吗?
想在手机上自由的安装lynx、python、vscode、jupyter甚至飞桨PaddlePaddle、Tensorflow、Pytorch和昇思Mindspore吗?
那么看这里....装上AidLux,以上全都有!
AidLux是一个综合的AI开发平台,底层是Debian。在华为手机的应用商店中,查找aidlux,动动手指即可安装好Linux图形桌面的AidLux
远程登录
启动后,可以从控制台使用ifconfig 或者 使用桌面的“Cloud_ip应用图标”获得其ip地址如:192.168.0.2 ,那么就可以使用ssh 192.168.0.2 -p 9022登录该手机,也可以在浏览器使用http://192.168.0.2:8000 来登录图形界面。
用户名root,默认密码aidlux
安装python3.9环境
系统自带的python3.7环境,有点老,飞桨的ocr例子不能跑,于是直接上python3.9。
在系统app安装python3.9,或者在命令行下执行aid install python-3.9
然后激活pip
python3.9 -m ensurepip
升级pip
python3.9 -m pip install pip -U -i https://mirror.baidu.com/pypi/simple
安装一些需要的软件
python3.9 -m pip install numpy onnxruntime opencv-python pillow -i https://mirror.baidu.com/pypi/simple
应用测试:
到应用中心安装onnxruntime(这个大约是独立的库或者是python3.7的库,不管有没有用,我是第一时间安装上了)
下载Paddle2ONNX源代码
git clone https://github.com/PaddlePaddle/Paddle2ONNX
PaddleOCR测试
安装需要的库
pip3.9 install shapely pyclipper pillow
进入目录cd Paddle2ONNX/model_zoo/orc下载模型:
# 下载det模型
wget https://bj.bcebos.com/paddle2onnx/model_zoo/ch_PP-OCRv2_det_infer.onnx# 下载rec模型
wget https://bj.bcebos.com/paddle2onnx/model_zoo/ch_PP-OCRv2_rec_infer.onnx# 下载cls模型
wget https://bj.bcebos.com/paddle2onnx/model_zoo/ch_ppocr_mobile_v2.0_cls_infer.onnx
执行识别,刚开始会失败,因为报错需要安装飞桨,众所周知安装飞桨在不顺利的时候会很曲折,编译也很慢。所以用了简单的法子:把predict_cls.py predict_det.py predict_rec.py三个文件里面的涉及paddle的代码全部去掉。
python3.9 infer.py \
--det_model_dir=./ch_PP-OCRv2_det_infer.onnx \
--rec_model_dir=./ch_PP-OCRv2_rec_infer.onnx \
--cls_model_dir=./ch_ppocr_mobile_v2.0_cls_infer.onnx \
--image_path=./images/lite_demo.png
还会有一些零星的报错,可以参考这个文档飞桨ONNX推理部署初探-CSDN博客进行相应的修改,最终这个orc文字识别终于在华为手机上跑起来了!速度感觉比同时代的intel cpu慢很多。作为一个几年前的手机,可能是读取数据有点慢,最终显示的处理时间并不慢:
花费了0.457335秒, 0.901
Finish!
非常棒!
图像分类任务:
进入分类任务目录
cd github/Paddle2ONNX/model_zoo/classification/
# 下载mobilenetv3模型 wget https://bj.bcebos.com/paddle2onnx/model_zoo/mobilenetv3.onnx
执行推理:
python3.9 infer.py --model mobilenetv3.onnx --image_path images/ILSVRC2012_val_00000010.jpeg
推理结果:
TopK Indices: [153 283 204 259 265]
TopK Scores: [0.59183264 0.14434364 0.02467778 0.01226416 0.01210706]
非常不错!
总结
总体而言,AidLux让我们的手机能编码能提供linux各项服务,能执行AI推理,我们的手机成了一个随身的代码库,一个随身的AI应用开发库,真的太棒了!
有一个小问题,就是如果AidLux这个服务退出或者手机熄屏后,ssh和网页gui等服务就停止了。手机都是这样的,这点没法跟普通计算机设备比。
这篇关于让手机平板成为AI开发利器:AidLux的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!