分享

AID Learning V0.87F3 使用说明文档

 心本心123 2021-03-12

在这里插入图片描述

AID使用说明目录

简介

  • AidLearning是一个运行在移动端(Android)上的支持图形化界面的Linux虚拟机,同时是一个支持深度神经网络开发的框架和平台,内置了最为流行的深度学习框架caffe/mxnet/keras/pytoch/tensorflow/ncnn/opencv…内置了可视化AI开发编辑器,支持触摸拖拽式界面设计,支持代码动态调试和运行。支持在移动端和PC端用python开发你的AI应用,支持把你的python源码转化为APP(Apk)发布。支持一键式安装,只需要安装一个20M的App即可自动引导完成安装。目前,已在各大App应用中心(华为、小米、vivo、oppo…)上线,下载和访问量已超100万,内置了大量的AI例子和教程,互联网上(知乎、简书、CSDN、百度等)也有大量中文教程,方便你学习和开发。
    在这里插入图片描述

整体特点

创新性

· 移动端(手机)上最好的,环境最全的Linux模拟器,支持图形化桌面的Linux模拟器…
· 唯一支持AI开发环境的模拟器、内置全球最流行Top 7的深度学习框架,内置大量深度学习的模型、例子和开发组件
· 唯一支持python图形化开发和调试的模拟器,支持触摸拖拽式界面设计,提高你的开发效率
· 支持用python开发可运行在手机的App,支持python代码直接编译生成可部署的apk文件
· 一键式安装,无任何依赖,你只需在手机上要安装一个20M的引导App,就可以自动完成所有环境的安装。
· 跨平台开发,支持云桌面(手机桌面和电脑桌面相同),既可以在手机或平版上或其他嵌入式主板上运行,也可以在电脑端基于web直接访问和开发。
· 支持加速库openblas,支持多线程和多进程,运行流畅、不卡顿,充分发挥ARM CPU的算力

通用性

· 支持Tensorflow、Caffe、mxnet、keras、pytoch、ncnn、opencv、scipy…
· 支持Python2.7/Python3.7.3。
· 自带AiCode可视化编程IDE,也支持谷歌的Jupyter的IDE。
· 内置完整原生的跨平台桌面,不需要安装第三方vnc等的支持,支持电脑端和手机端同桌面
· 既支持手机、Pad、也支持工业Arm板卡
· 开发的程序,既可以部署在手机端、也可以部署在电脑端
· 支持市面上99.5%的手机,已测试华为、VIVO、OPPO、三星、小米等全系列64位手机

安全性

· Aid在手机上虚拟了一个封闭空间,不需要root,不会破坏你的手机的内容。
· 不会收集你的个人隐私,所有权限都可以自己设定…

易用性

· 一键式安装,自动下载最新依赖包、自动配置AI开发需要的环境,降低AI开发门槛
· 内置大量AI组件、模型、例子、教程,降低AI开发的门槛,你可以不懂AI算法,但可以用这个平台开发出AI应用。
· 一部手机,两个系统,Android和Linux共生共存,无重启自由切换;娱乐、开发、学习三不误
· 支持手机端开发与电脑端开发代码自动同步,支持界面触摸拖拽式设计,自动生成界面的代码
· 一键式编译和发布你开发支持AI的App
· 可扩展支持Java、C++等语言的支持

架构设计

  • AidLearning FrameWork可以分为Linux模拟器和AI编程平台两部分。

  • Linux模拟器由Terminal和Desktop构成。前者基于Android底层Linux kernel和busybox命令包构建了完整Linux的模拟器,你可以用apt命令安装任何你需要的依赖包;后者基于web构建了图形化操作桌面,你可以用在手机上用触摸操控整个系统,同时该桌面支持云桌面,你可以在电脑端通过一个网址轻松访达。

  • AI编程平台由深度学习框架和Python可视化编程框架(Python IDE)构成。前者包含了几乎所有目前流行的深度学习框架,负责模型的加载、计算图的调度;包含各计算的内存分配、Op实现。后则构建了Python可视化快速开发平台,不仅可以在线实时运行、调试Python代码,同时支持触摸拖拽式界面设计、并且可以生成最终的可执行程序、产出apk文件。

使用说明文档

安装配置

你可以去 Github主页或者官网进行下载 也可以下载V0.87最新中文版!
在这里插入图片描述
下载后在你的手机或pad终端上进行安装即可,安装完成后,第一次启动会自动下载依赖包,依赖包有点大,大概有1.2G大小,所以建议在WIFI的环境下安装,安装时尽量不要锁屏,按照引导即可完成配置,如下图
在这里插入图片描述

注意事项:

  • 存储空间要在4GB以上表示安装完成。否则存在下载不全的可能,需要重新安装。

  • 安卓需要6.0以上的版本

  • 版本号为V0.86por

  • 下载安装成功,应该占用4G以上的存储空间

  • 手机和电脑连接点击Cloud_IP,然后再浏览器端输入IP地址,注意手机和电脑要在同一局域网内

  • 关闭屏幕不会断开连接,建议手机的休眠模式调整为10分钟,要不是容易断开连接

  • 连接的时候,不要用IE模式,用极速模式

  • 有别的方式可以访问手机,但是document是很方便的,/sdcard就是你的手机储存的映射,你可以直接通过手机储存卡访问硬盘

  • Debian上的软件基本都可以在AidCode里面安装

一.AID Learning手机端运行界面

1. Document(我的电脑):代码文件图形化管理。
2. AidCode(IDE):代码编辑器。
3. Terminal(命令终端):原生Linux运行环境,手机端使用。
4. Clound_IP:自动生成电脑端浏览器访问的IP地址。
5. Xterm(命令终端):原生Linux运行环境,电脑端浏览器使用。
6. Examples(案例):人脸识别,人脸关键点识别,姿态识别等各种商业级应用案例。
7. Jupyter(Notebook):用户常用的交互式代码编辑器。
8. ApkBuild(APP生成器):将用户在AID中开发的代码生成Android应用程序包
9. Safari:内置macOS中的浏览器。
10. VSCode:内置微软公司开发运行于Linux之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。
11. Settings:AidLearning系统设置。
12.XFCE:它是类 UNIX 操作系统上的轻量级桌面环境。
13. GameCent:游戏中心。
14. MusicPlay: 音乐播放器。
15. Servive:安装vscode以及常用的依赖包,启动服务。如Tensorflow
16. 在这里插入图片描述

二.AID Learning电脑端浏览器中运行界面

1. 要求手机和电脑要在同一wifi下或者电脑连接手机热点,并且手机端的AID程序必须打开。
2. 在手机端的AID中点击Clound_IP,在浏览器中输入Clound_IP中显示的IP地址(使用英文输入法),通过浏览器管理和编辑手机端的代码文件,如新建文件,复制,构建图形化APP等。
3. 提示:连接成功后在浏览器操作的结果会在手机端同步保存,至于在哪个环境中操作,看个人的习惯,另外也可以投屏到电视上,用蓝牙键盘操作。
!在这里插入图片描述

三、Document(我的电脑)功能介绍

3.1常用目录介绍

  • AidLearning中手机的SD卡的目录是sdcard

  • sdcard存放图片的目录是DCIM

  • QQ下载的文件:cd /sdcard/android/data/com.tencent.mobileqq/Tencent/QQfile_recv

3.2访问手机的目录是sdcard

  点击手机端的Document,进入sdcard目录,即可以访问手机的文件夹,如果不能显示,请在手机应用程序管理中打开AidLearning的访问权限。
  提示:也可以在Terminal中输入:

  • cd /

  • cd /sdcard


    在这里插入图片描述

3.3将AidLearning文件夹或文件复制到手机的目录sdcard中

第一步:点击Document。
第二步:选择你要复制的文件夹或文件,也可以用Ctrl或Shift多选,选好后点击复制,如果是剪切就点移动。


在这里插入图片描述


第三步:选择目标文件夹,点击复制。

在这里插入图片描述


第四步:需要复制的文件已经到了DICM目录里面,也可以通过手机文件夹管理器查看。


在这里插入图片描述

3.4将手机的文件下载到电脑端

第一步:需要手机连接电脑,参考在AID Learning中用IPad或电脑连接手机
第二步:在浏览中选中你要下载到电脑的文件,可以选择文件夹,代码文件和图片,也可以用Ctrl或Shift多选,选好后点击下载按钮。


在这里插入图片描述


第三步:点击下载按钮后,选择下载格式,手机下载到电脑的文件是压缩包的方式。


在这里插入图片描述

3.5将电脑的文件上传到手机端

第一步:需要手机连接电脑,参考在AID Learning中用IPad或电脑连接手机
第二步:点击上传按钮,在电脑端选择文件夹,代码文件和图片。


在这里插入图片描述

3.6Document的功能介绍

在这里插入图片描述是查看文件的信息。
在这里插入图片描述分享一个链接,让同一网络下的其他用户下载。
在这里插入图片描述重命名文件夹或文件。
在这里插入图片描述复制文件夹或文件。
在这里插入图片描述移动(剪切)文件夹或文件。
在这里插入图片描述删除文件夹或文件。
在这里插入图片描述激活shell命令。
在这里插入图片描述切换文件夹和文件的显示方式。
在这里插入图片描述下载的指把文件夹或文件传到电脑端。
在这里插入图片描述上传的指把电脑中的文件夹或文件传到手机端。
在这里插入图片描述开启多选模式,相当于按住Ctrl。
在这里插入图片描述点击这里可以返回到上级目录,根目录,任意路径上的目录。
在这里插入图片描述输入文件名称进行搜索。
在这里插入图片描述返回根目录。
在这里插入图片描述新建文件夹。
在这里插入图片描述新建文件,例如.py文件。

四、AidCode(IDE)功能介绍

1. 浏览器中双击AidCode。
2. 在这里插入图片描述Run也有三个功能,Run py2是运行python 2.x版本的代码,Run py3是运行 python 3.x的代码,V0.82内置Python为3.64。Log/Src是日志和源码切换。最下方是代码调试窗口。
3. 在这里插入图片描述中Open是打开py代码文件,New是新建py代码文件,Wizard是开发安卓手机APP的图形化设计界面,里面有许多图形化的控件,可以加快APP开发速度,这个功能在以后详细介绍,Save是保存py代码文件。
4. 在这里插入图片描述这里是查看最近打开的文件和清除记录。
5.在这里插入图片描述 设置代码显示的主题,调整代码大小,颜色。
6.在这里插入图片描述 点击该按钮返回到AidLearning桌面。
在这里插入图片描述

五、Terminal(命令终端)功能介绍

1. 浏览器中双击terminal。
2. 这里可以输入任何linux命令,如ls,cd,pwd等
在这里插入图片描述

六、Examples(案例)功能介绍

1. 浏览器中双击Examples,双击案例图标,切换到代码编辑窗口,点击Run
py3,即可查看运行结果,运行案例时候手机不要锁屏,保持常亮,避免无法调用摄像头。
2. Start coding Now!是测试输出”hello world“。
3. Open Camera Ex是打开手机端摄像头。
4. Face Pose是人脸关键点识别案例。
5. Face ID是人脸识别案例。
6. HandPose Recogonize是手势识别案例。
7. PersonPose Recogonize是单人姿态识别案例。
8. MutiPose Recogonize是快速多人姿态识别案例。
9. Get more examples是访问官网找寻更多案例。

提示:案例的代码不要随意改动,因为AID默认运行前会保存代码文件,如果修改测试,可以先复制。
在这里插入图片描述

七、Jupyter功能介绍

1. 浏览器中双击Jupyter,会在浏览器中新建一个窗口,第一次使用输入密码是admin。
2. Jupyter notebook的具体用法可以查看官方说明文档。
在这里插入图片描述

八、ApkBuild(APP生成器)功能介绍

1. 点击Start Now by Tool!进入图二界面。
2. Choose Your .Py File是选择Python入口文件。
3. Choose Other Files Used By Py(Opthonal)是选择人工智能模型和图片,可以选择文件夹,也可以选择文件。
4. Build Apk Now开始生产Apk。
5. 生成的Apk在Home文件夹中。
在这里插入图片描述

八、ApkBuild(APP生成器)功能介绍

开发文档

AidLearning 支持用Python2/3来可视化开发您的App,内置了最为流行的深度学习框架caffe,mxnet,keras,pytoch,tensorflow,ncnn,opencv,scipy…内置了可视化AI开发编辑器,支持触摸拖拽式界面设计,支持代码动态调试和运行。支持在移动端和PC端用python开发你的AI应用,支持把你的python源码转化为APP(Apk)发布。

支持的包和框架:

python2支持:

  • absl-py==0.7.0

  • altgraph==0.16.1

  • appdirs==1.4.3

  • astor==0.7.1

  • backports.shutil-get-terminal-size==1.0.0

  • backports.weakref==1.0.post1

  • caffe==1.0.0

  • certifi==2018.11.29

  • chardet==3.0.4

  • Click==7.0

  • colorama==0.4.1

  • configobj==5.0.6

  • cryptography==1.7.1

  • cycler==0.10.0

  • Cython==0.25.2

  • decorator==4.0.11

  • dis3==0.1.3

  • easydict==1.9

  • EditOnline==0.1.14

  • enum34==1.1.6

  • Flask==1.0.2

  • funcsigs==1.0.2

  • functools32==3.2.3.post2

  • futures==3.2.0

  • gast==0.2.2

  • graphviz==0.10.1

  • grpcio==1.18.0

  • h5py==2.9.0

  • idna==2.8

  • imutils==0.5.2

  • ipaddress==1.0.17

  • ipython==5.8.0

  • ipython-genutils==0.2.0

  • itsdangerous==1.1.0

  • Jinja2==2.10

  • Keras==2.2.4

  • Keras-Applications==1.0.7

  • Keras-Preprocessing==1.0.9

  • keyring==10.1

  • keyrings.alt==1.3

  • Markdown==3.0.1

  • MarkupSafe==1.1.1

  • matplotlib==2.0.0

  • mock==2.0.0

  • mxnet==1.0.0

  • networkx==1.11

  • nose==1.3.7

  • numpy==1.14.5

  • pathlib2==2.3.3

  • pbr==5.1.2

  • pexpect==4.2.1

  • pickleshare==0.7.5

  • Pillow==4.0.0

  • prompt-toolkit==1.0.15

  • protobuf==3.6.1

  • ptyprocess==0.5.1

  • pyasn1==0.1.9

  • pycrypto==2.6.1

  • Pygments==2.3.1

  • pygobject==3.22.0

  • PyInstaller==3.5

  • pyobfuscate==0.3

  • pyparsing==2.1.10

  • Pyste==0.9.10

  • python-dateutil==2.5.3

  • python-for-android==0.7.0

  • pytz==2016.7

  • pywebview==2.4

  • pyxdg==0.25

  • PyYAML==3.12

  • remi==2019.4

  • requests==2.21.0

  • scandir==1.10.0

  • scikit-image==0.12.3

  • scikit-learn==0.20.3

  • scipy==0.18.1

  • SecretStorage==2.3.1

  • sh==1.12.14

  • simplegeneric==0.8.1

  • six==1.10.0

  • sklearn==0.0

  • subprocess32==3.2.7

  • tensorboard==1.10.0

  • tensorflow==1.10.0

  • termcolor==1.1.0

  • traitlets==4.3.2

  • urllib3==1.24.1

  • wcwidth==0.1.7

  • Werkzeug==0.14.1

python3支持:

  • absl-py==0.7.1

  • altgraph==0.16.1

  • astor==0.8.0

  • attrs==19.3.0

  • backcall==0.1.0

  • bleach==1.5.0

  • caffe==1.0.0

  • certifi==2019.3.9

  • chardet==3.0.4

  • Click==7.0

  • cycler==0.10.0

  • Cython==0.29.7

  • decorator==4.4.0

  • defusedxml==0.6.0

  • entrypoints==0.3

  • Flask==1.0.3

  • gast==0.2.2

  • gluoncv==0.4.0.post0

  • grpcio==1.20.1

  • h5py==2.9.0.post0

  • html5lib==0.9999999

  • htmlPy==2.0.3

  • idna==2.8

  • imageio==2.5.0

  • importlib-metadata==1.3.0

  • ipykernel==5.1.3

  • ipython==7.5.0

  • ipython-genutils==0.2.0

  • ipywidgets==7.5.1

  • itsdangerous==1.1.0

  • jedi==0.13.3

  • Jinja2==2.10.1

  • jsonschema==3.2.0

  • jupyter==1.0.0

  • jupyter-client==5.3.4

  • jupyter-console==6.0.0

  • jupyter-core==4.6.1

  • Keras==2.2.4

  • Keras-Applications==1.0.8

  • Keras-Preprocessing==1.0.9

  • kiwisolver==1.1.0

  • Markdown==3.1.1

  • MarkupSafe==1.1.1

  • matplotlib==3.1.0

  • mistune==0.8.4

  • more-itertools==8.0.2

  • mxnet==1.5.0

  • nbconvert==5.6.1

  • nbformat==4.4.0

  • networkx==2.3

  • nose==1.3.7

  • notebook==6.0.2

  • numpy==1.16.3

  • pandas==0.24.2

  • pandocfilters==1.4.2

  • parso==0.4.0

  • pexpect==4.7.0

  • pickleshare==0.7.5

  • Pillow==6.0.0

  • prometheus-client==0.7.1

  • prompt-toolkit==2.0.9

  • protobuf==3.7.1

  • psutil==5.6.3

  • ptyprocess==0.6.0

  • pydot==1.4.1

  • Pygments==2.4.0

  • PyInstaller==3.5

  • pyparsing==2.4.0

  • pyrsistent==0.15.6

  • python-dateutil==2.8.0

  • python-gflags==3.1.2

  • pytz==2019.1

  • PyWavelets==1.0.3

  • PyYAML==5.1

  • pyzmq==18.1.1

  • qtconsole==4.6.0

  • remi==2019.4

  • requests==2.22.0

  • scikit-image==0.15.0

  • scipy==1.3.0

  • Send2Trash==1.5.0

  • six==1.12.0

  • tensorboard==1.8.0

  • tensorflow==1.5.0

  • tensorflow-tensorboard==1.5.1

  • termcolor==1.1.0

  • terminado==0.8.3

  • testpath==0.4.4

  • torch==1.1.0a0+6b74856

  • tornado==6.0.3

  • tqdm==4.32.1

  • traitlets==4.3.2

  • urllib3==1.25.3

  • wcwidth==0.1.7

  • Werkzeug==0.15.4

  • widgetsnbextension==3.5.1

  • zipp==0.6.0

支持的AI框架版本

在这里插入图片描述

图形界面开发包cvs

我们重写了cvs包用来在手机端对gui的显示和设计,同时cvs继承了cv2(opencv for python)包和remi(python的跨平台的gui库)包的大部分功能,以下是cvs包的介绍:

怎么使用:

from cvs import *

包里有什么

在这里插入图片描述

简短教程:

首#先,导入cvs包from cvs import *#其次,定义一个子类继承“app”类,并声明一个“main”函数,该函数将成为应用程序的入口点。在主函数内部,您必须return the root widget。Subclass the App class and declare a main function that will be the entry point of the application. Inside the main function you have to return the root widget.class MyApp(App): def __init__(self, *args): super(MyApp, self).__init__(*args) def main(self): lbl = gui.Label('Hello world!', width=100, height=30) # return of the root widget return lbl#最后,在主类之外,调用initcv(cvs.openwin)初始化窗口,调用函数“startcv”启动应用程序,并将前面声明的类的名称作为参数传递。Outside the main class start the application calling the function startcv passing as parameter the name of the class you declared previously.# starts the guiinitcv(cvs.openwin)startcv(MyApp)
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

  • 15

  • 16

  • 17

Run the script,显示如下:
在这里插入图片描述

扩展

支持Java开发

可通过内置的VSCode工具的扩展包下载支持!
也可以通过内置的Jupyter工具拓展Java支持,请参考知乎大佬(myastrotong)的文章

支持C/C++开发

可通过内置的VSCode工具的扩展包下载支持!

支持Js、go开发

可通过内置的VSCode工具的扩展包下载支持!

更多程序语言支持:
在这里插入图片描述

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多