AidLearning is a Linux system running on the Android with GUI, Deep-Learning and Python Visual Programming support . The AidLearning framework which have the Linux+Anroid+AI+Python 4in1 environments Developed and Maintained by several students from Cas University and Yale University.
- introduce
- Dependencies
- Installation
- Support Powerfully
- Touch and Drag Style Programming
- SSH (pc connected)
- Aid_code IDE of python
- Examples inside
- References
/ thank for qidiso provide the 中文说明
AidLearning builds a Linux system on Android mobile phone, and supports GUI, Python and AI programming.This means that when it is installed, your Android phone has a Linux system in which you can run Gui programs of python and AI. Now supports a list of Top Machine Learning Frameworks for Deep Learning: Caffe, Tensorflow, Mxnet(and Gluoncv), ncnn, Keras, Pytorch, Opencv,Scipy powerfully build-in!
More Than this,we provide an AI coding develop tool named Aid_code. It can provide you a visual AI programming IDE by using Python from zero on our framework! It means that when it is installed, your Android phone owned a Linux system with GUI which can write and run AI program in it as same as in pc. In addition,Aid Learning can provide a new visual programming experience of touch-and-drag by using Python on our framework.
At the same time, AidLearning provides wifi-based mapping projection technology, which can project the code of mobile phone to PC and interact with SSH remote commands and web online. It can also be projected to TV and projector for large screen display.
In short, AidLearning has created a 4in1 and touch-and-drag platform for rapid development and learning of Android+Linux+AI+Python. It can not only use mobile phones for fragmented programming, but also make full use of the development advantages of the two main operating systems (Android+Linux) and the perfect AI terminal advantages of mobile phones. With this advantage, AidLearning can build a perfect learning ecosphere of programming education.
All you need is an Android devices (phone ,tablet or arm board) that supports the CPU of Arm64(aarch64). The Android version requires more than 6.0. If you think the parameters are not clear enough, I would like to say that most of the mainstream mobile phones support it, such as Samsung, Huawei, MI, OPPO, VIVO, nubia etc. In addition, the requirement of storage space is a little big. It is suggested that there should be 2G free storage space.
To install AidLearing, Simply download an App (apk file) and install it on your mobile device. download newest version at :
Download v0.74 now!
Other version at:https://github.com/aidlearning/AidLearning-FrameWork/releases
The APP (apk) is only 6M,when you install the apk and launch,the apk will auto download the dependence of the linux and examples of codes . all is about 1G size to download .So it's recommended that you install it in a wifi environment.
Important reminder: Click the setting icon after entering the desktop, the dialog box for the camera permission will pop up, please click agree, if you want to use the built-in examples.
New release:
Download v0.75 now!
this is smaller size version,you can choose the ai framework for python 2/3(caffe/mxnet/tf/torch/keras) to install when u finished the install and launch the gui. the version all is about 650M dependence to download. so,the version can save your disk.
Support AI Framework:
- [Caffe]https://github.com/BVLC/caffe
- [Tensorflow]https://github.com/tensorflow/tensorflow
- [Mxnet]https://github.com/apache/incubator-mxnet
- [Keras]https://github.com/keras-team/keras
- [ncnn]https://github.com/Tencent/ncnn
- [pytorch]https://github.com/pytorch/pytorch
- [opencv]https://github.com/opencv/opencv
Support Python2.7 and Python3.6.4:
AidLearning | Python2.7 | Python3.6 |
---|---|---|
caffe | ✓1.0.0 | ✓ 1.0.0 |
mxnet | ✓1.0.0 | ✓1.5.0 |
tensorflow | ✓1.10.0 | ✓1.5.0 |
Gluoncv | ✗ | ✓ 0.40 |
Keras | ✓2.2.4 | ✓2.2.4 |
Pytorch | ✗ | ✓1.1.0 |
Opencv(cv2) | ✓2.4.9 | ✓3.4.6 |
Scipy | ✓0.18.1 | ✓1.3.0 |
Numpy | ✓1.14.5 | ✓1.16.3 |
Now you can easily customize your GUI with touch and drag using wizard!Wizard will produce the code automatic like this:
class MyApp(App):
def __init__(self, *args):
super(MyApp, self).__init__(*args)
def main(self):
container = gui.VBox(width=120, height=100)
self.lbl = gui.Label('Hello world!')
self.bt = gui.Button('Press me!')
# setting the listener for the onclick event of the button
self.bt.onclick.do(self.on_button_pressed)
# appending a widget to another, the first argument is a string key
container.append(self.lbl)
container.append(self.bt)
# returning the root widget
return container
#listener function
def on_button_pressed(self, widget):
self.lbl.set_text('Button pressed!')
self.bt.set_text('Hi!')
- Just need you do: open the url:mobilephone'sip:8910/upload(for example:http://192.168.1.6:8910/upload) on the pc to upload ssh's file(id_rsa and id_rsa.pub).
- upload finished , just restart the app on the android ,open the terminal the type this command like this to connect:
ssh [email protected] -p8022
- We provide an AI coding develop tool named Aid_code. It can provide you a visual AI programming IDE by using Python from zero on our framework! Using the tool, you can run your python2 or python3 codes online. So ,you can coding with Aid_code IDE on your phone anywhere, anytime.
- Of course, you can use Aid_code on the web to edit your code online. For example, you can use web coding with Aid_code on PC. You just need to open the web address: IP of your mobile phone:8900/, when your PC and mobile phone are in the same LAN. You can open it on a PC, for example: http://192.168.1.8:8900/ assume your phone's IP is 192.168.1.8, you can check your phone's IP by commanding ifconfig (run ifconfig command under terminal)
- New code auto-prompting function, if you input the initial letters of variables, functions and keywords, the system will automatically complete , which can greatly improve efficiency.
-
The sdcard directory on your Android phone has been mapped to the / sdcard directory under AidLearning
-
If you install QQ Instant Messaging Tool, the file directory transferred through QQ is mapped to / sdcard / Tencent / QQfile_recv / directory.
---Examples inside
- Facencnn(mobiefacenet ncnn) 15fps in mobile phone (99.78% in LFW)
- Face Landmark (106 keypoints ncnn) 15fps in mobile phone
- handpose (tensorflow ) 5fps in mobile phone
- body posenet for single person(converted from google ) 10fps in mobile phone
- body posenet for multi-person(converted from google ) 7fps in mobile phone
- Stylized picture(GAN ) 3fps in mobile phone
- VTE (libvte): Terminal emulator widget for GTK+, mainly used in gnome-terminal. Source, Open Issues, and All (including closed) issues.
- iTerm 2: OS X terminal application. Source, Issues and Documentation (which includes iTerm2 proprietary escape codes).
- Konsole: KDE terminal application. Source, in particular tests, Bugs and Wishes.
- hterm: JavaScript terminal implementation from Chromium. Source, including tests, and Google group.
- xterm: The grandfather of terminal emulators. Source.
- Connectbot: Android SSH client. Source
- Android Terminal Emulator: Android terminal app which Termux terminal handling is based on. Inactive. Source.
- Termux: Android terminal and Linux environment - app repository. Source.
- remi:Python REMote Interface library. Platform independent. In about 100 Kbytes, perfect for your diet.[Source] (https://github.com/dddomodossola/remi).
- [Caffe]https://github.com/BVLC/caffe
- [Tensorflow]https://github.com/tensorflow/tensorflow
- [Mxnet]https://github.com/apache/incubator-mxnet
- [Keras]https://github.com/keras-team/keras
- [ncnn]https://github.com/Tencent/ncnn
- [pytorch]https://github.com/pytorch/pytorch
- [opencv]https://github.com/opencv/opencv