[CLOSED] Harmony OS learning Path - Huawei Developers

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
1. Get to know HarmonyOS
1)What is HarmonyOS:LINK https://device.harmonyos.com/en/docs/start/learn/oem_des_define-0000001055232642
What Is HarmonyOS? What ability? What does technical architecture look like?
HarmonyOS is a future-proof distributed operating system open to you as part of the initiatives for the all-scenario strategy, adaptable to a mobile office, fitness and health, social communication, and media entertainment, to name a few. Unlike a legacy operating system that runs on a standalone device, HarmonyOS is built on a distributed architecture designed based on a set of system capabilities. It is able to run on a wide range of device forms.
For application developers, HarmonyOS adopts distributed technologies to make application development possible on different device forms. With HarmonyOS, you have the choice to focus on upper-layer service logic and develop applications in a much easier and more efficient way.
For device developers, HarmonyOS uses a component-based software design to tailor itself to particular device forms based on their respective resource capabilities and service characteristics.
2) Security guide: What are the security mechanisms and recommended practices of HarmonyOS in terms of hardware, system, data, device interconnection, and application security?
Link:https://device.harmonyos.com/en/docs/security/sec-guides/oem_security_guide-0000001050032745
3)Obtain the source code. There are several methods for obtaining the source code. Select one based on the site requirements.
LINK:https://device.harmonyos.com/en/doc...EN_TOPIC_0000001050769927__section61172538310
4)Obtain the compilation toolchain, device development tool (HUAWEI DevEco Device Tool), application development tool (HUAWEI DevEco Studio), and tool usage guide.
LINK:https://device.harmonyos.com/en/docs/start/get-tools/oem_tool-0000001055705774
5)API reference:https://device.harmonyos.com/en/docs/develop/apiref/abilitykit-0000001054598111
2. Develop WLAN connection products
a) Have general knowledge of the Hi3861 development board: WLAN module, which provides connection capabilities for various IoT devices.
Document
device.harmonyos.com
b) Set up the Hi3861 environment, including preparing the software and hardware, and installing the compilation and development environment.
Document
device.harmonyos.com
c) Develop the first example program of the Hi3861: Compile and burn the HarmonyOS to complete the first Hello World
program.https://device.harmonyos.com/en/docs/start/introduce/oem_wifi_start_helloword-0000001051930719
d) Development example of LED peripheral control: Call the NDK interface of HarmonyOS to control the GPIO and implement LED blinking.
Document
device.harmonyos.com
e) One-Hop scenario development guide: Develop WLAN connection products that provide the FA experience.
Document
device.harmonyos.com
f) Third-party SDK integration: Integrate vendor SDKs into HarmonyOS.
Document
device.harmonyos.com
3. Develop camera products with screens.
Device Software Development]
a) Understand the Hi3516 development board: It has the screen camera module and develops HarmonyOS applications based on the development board.
Document
device.harmonyos.com
b) Set up the Hi3516 environment, including preparing the software and hardware, and installing the compilation and development environments.
Document
device.harmonyos.com
c) Develop the first application of the Hi3516: Compile and burn the HarmonyOS to complete the first application Hello World.
Document
device.harmonyos.com
d) Example of developing the first Hi3516 driver: Develop a new driver using HarmonyOS and complete the first driver Hello World.
Document
device.harmonyos.com
e) Screen and camera control development example: Use HarmonyOS to control the screen and camera.
Document
device.harmonyos.com
[Application Software Development]
a) Set up the development environment: Install HUAWEI DevEco Studio.
Document
developer.harmonyos.com
b) JavaScript application development interface: describes the framework, components, and interfaces of JavaScript application development.
Document
device.harmonyos.com
c) Visual application development example: Use HarmonyOS to develop vision applications.
Document
device.harmonyos.com
4. Develop screenless camera products.
a) Have general knowledge of the Hi3518 development board: The camera module without a screen provides camera capabilities for various IoT devices.
Document
device.harmonyos.com
b) Set up the Hi3518 environment, including preparing the software and hardware, and installing the compilation and development environments.
Document
device.harmonyos.com
c) Develop the first example program of the Hi3518: Compile and burn the HarmonyOS to complete the first program Hello World.
Document
device.harmonyos.com
d) Camera control development example: Use HarmonyOS to control the camera.
Document
device.harmonyos.com
5. Chip Adaptation Reference
a) Kernel development guide: describes the basic functions, file system, standard library, and commissioning functions of the HarmonyOS light kernel and provides development guidance.
Document
device.harmonyos.com
6. Contribution component
a) Component development specifications: basic concepts of components and how to define components according to the specifications.
Document
device.harmonyos.com
b) Component development guide: Develop HarmonyOS components and distributions.
Document
device.harmonyos.com
7. Code cloud warehouse
Code cloud docs repository: OpenHarmony is an open-source version of HarmonyOS. It provides developer documents, such as quick start, development guide, and API reference. Welcome to the document open-source project and improve developer documents together.
For details about Huawei developers and HMS, visit the website.
HUAWEI Developer Forum | HUAWEI Developer
forums.developer.huawei.com

Links not working, only the "Coming soon" message is showing up.

@Martin Bieber Thread closed! Please advise the moderators team to re-open the thread when ready to provide functionable links. Thanks for your cooperation.
Regards
Oswald Boelcke
Senior Moderator

Related

Custom Model Generation with MindSpore Lite | HMS ML Kit

MindSpore is an open-sourced framework for AI based application development which is announced by Huawei. It is a robust alternative to AI frameworks such as TensorFlow and PyTorch which are widely used in the market.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Let’s start by emphasizing the features and advantages of MindSpore framework:
MindSpore implements AI algorithms for easier model development and provides cutting-edge technologies with Huawei AI processors to improve runtime efficiency and computing performance.
One of its advantages is that it can be used in several environments like on devices, cloud and edge environments. It supports operating systems like IOS and Android, and AI applications on various devices such as mobile phones, tablets and IoT devices.
MindSpore supports parallel training across hardware to reduce training times. It maximizes both hardware computing power and minimizes inference latency and power consumption.
It provides dynamic debugging ability for developers which enables to find out bugs in the apps easily.
According to Huawei, MindSpore does not process data by itself but ingests the gradient and model information that has been processed. This ensures the integrity of sensitive data.
MindSpore Lite is an inference framework for custom models which is provided by HMS ML Kit to simplify the integration and development. The developers can define their own model and implement model inference thanks to MindSpore Lite capabilities.
MindSpore Lite is compatible with commonly used AI platforms like TensorFlow Lite, Caffe, and Onnx. Different models can be converted into .ms (MindSpore) format and then run perfectly.
Custom models can be deployed and executed easily since they are compressed and occupy small storage.
It provides complete APIs to integrate inference framework of an on-device custom model.
HMS ML Kit enables to train and generate custom models with deep machine learning. It also offers pre-trained image classification model. You can develop your own custom model by using Transfer Learning feature of ML Kit with a specific dataset.
I will basically explain you how to train your own model over an example which contains three plant categories. We will use a small data set for reference and train the image classification model to identify cactus, pine and succulent plants. The model will be created by using HMS Toolkit plug-in and AI Create.
HMS Toolkit: As a lightweight IDE tool plugin, HMS Toolkit implements app creation, coding, conversion, debugging, test, and release. It helps you integrate HMS Core APIs with lower costs and higher efficiency.
AI Create: Provides the transfer learning capabilities of image classification and text classification. Images and texts can be identified thanks to AI Create. It uses MindSpore as a training framework and MindSpore Lite as inference framework.
Note: Use the Android Studio marketplace to install HMS Toolkit plug-in. Please go to File > Settings > Plugins > Marketplace, enter HMS Toolkit into the search box and click install. After installation complete, restart Android Studio.
We should prepare the environment to train our model first. AI Create only supports Windows operating system currently. Please open Coding Assistant by using the new HMS section that came with HMS Toolkit plug-in. Go to AI > AI Create in Coding Assistant and select Image and click Confirm for Image Classification.
After this step HMS Toolkit automatically downloads resources for you. If the Python environment is not configured, the dialog box will be displayed as below.
Note: You should download and install Python 3.7.5 from the link to use AI Create. After installation complete, please do not forget to add Python installation path into the Path variable in Environment Variables and restart the Android Studio.
After environment is ready, if you select Image and click Confirm from AI Create it will automatically start to install MindSpore. Please be sure the framework has been installed successfully by checking the Event logs.
From now, new model section will be opened to select an image folder to train our own model. You should prepare your data set in accordance with the requirements. We will train the model for our demo to identify cactus, succulent and pine plants with a small data set.
The folder structure should be like below :
The following conditions should be met for image resources:
The minimum number of pictures for each category of training data is 10.
The lower limit of the classification number of the training data set is 2, and the upper limit is 1000.
Supported image formats: .bmp, .jpg, .jpeg, .png or .gif.
After training image folder is selected, please set Output model file path and training parameters. If you check HMS Custom Model, a complete model will be generated. The train parameters affects the accuracy of image recognition model. You can modify them if you have a experience with deep learning. When you click on Create Model, MindSpore will start to train your model according to the data set.
Training process will take a time depending on your data set. As we used a small data set with the minimum number of the requirements it is completed quickly. You can also track training logs, your model will be created on the specified path at the end of the process.
The training results will be shared after model training is completed. AI create enables to test your model by adding the test images before using it in any project. You can also generate a demo project that implements your new model with Generate Demo option.
You should create a new test image folder with the same structure of provided data set.
As you see above, our test average accuracy is calculated as 57.1%. This accuracy can be improved by providing comprehensive data set and training.
You can also use and experience results of your new model over a demo project which can be created by HMS Toolkit. After the demo is created, you may directly run and build the project and check the results on real device.
In this article, I wanted to share basic information about MindSpore and how we can use Transfer Learning function of HMS for custom models.
You can also develop your own classification model by using this post as a reference. I hope that it will be useful for you !
Please follow our next articles for more details about ML Kit Custom Model and MindSpore.
References
https://developer.huawei.com/consum...ore-Guides/ml-mindspore-lite-0000001055328885
https://www.mindspore.cn/lite/en

Charting New Territory with Huawei Map Engine

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Maps are an integral part of life. Whether you’re going on an adventure hike, hailing a ride to get to work, trying to order food delivery from a nearby cafe, or just exploring a new neighbourhood you have just moved to, I bet the apps you’re using will always have a map and location function.
With a usage level this high, many Huawei developers need to integrate map-based functions when developing apps. This is exactly why HMS Core has included Map Kit, Site Kit and Location Kit as part of its Core Kits and capabilities.
Map Kit provides developers with basic capabilities such as map presentation, map interaction, route planning and supports various local lifestyle and transport businesses. Site Kit lets you provide users with convenient and secure access to diverse, place-related services. Location Kit combines the GPS, Wi-Fi, and base station location functionalities into an app to build up global positioning capabilities, allowing you to provide flexible location-based services targeted at users around the globe.
To launch these services that bring conveniences to users and developers alike, Huawei formed a map team. Right at the start, the team only consisted of 20 to 30 people and very few of whom had any formal training in the map industry.
Looking back on those early days, we were really flying blind. But as time went by, the team gradually filled out with new blood and included several fantastic industry experts. Each expert who joined the team was provided with a full suite of helpers to allow them to assimilate quicker onto the project so they can bring more value to the team. Many of these newcomers have grown a great deal since joining and, through a lot of hard work and a pioneering attitude, each has become a key pillar of our team’s success in their own right. We always used to joke that “the early bird catches the ***” … but he also must work the hardest.
Following the advice of our expert team members, we gradually formed a pyramid based on technical ability while maintaining a flat management structure. This enhanced the entire team’s development, deployment, analysis and problem-solving capabilities.
Now, Huawei Map Engine provides comprehensive location and mapping tools in 200 different regions and countries. Our map rendering has been enhanced by over 30% and key location indicators improved by over 20%, allowing us to surpass our initial goals in terms of performance. The service provides reliable and efficient location and mapping for app developers, supporting the worldwide expansion of the entire HMS Core ecosystem.
Throughout the development process, the team has adopted a variety of excellent new accessibility practices. For example, by proposing an integrated SDK decoupling cloud server, we were able to provide complete access to Map Kit and Location Kit to one of Singapore’s leading taxi apps ComfortDelGro in just three weeks.
Mapping and location services are a constantly evolving sector. It might be helpful to think of it like a living organism, with an algorithm engine as the brains, map data as the heart and the map ecosystem as the lifeblood. In the near future, Huawei will be able to perfect this comprehensive mapping ecosystem by combining those kits with a new app and data platform.
The new ecosystem will also introduce new algorithms and business models, such as AR maps, visual location and navigation services, AI-powered data generation, high-precision geo-positioning and other new technologies that will help to determine the future trajectory of the industry. At the same time, machine learning from accumulated data will help improve the accuracy and performance of existing algorithms and ultimately provide users with a better experience.
As always, the future is full of challenges and uncertainties. But watch this space, because our entire mapping team is confident of tackling this challenge head-on and creating a more competitive array of location services for our users.
*The article is written by HUAWEI’s Map expert.
For details about Huawei developers and HMS, visit the website.
HUAWEI Developer Forum | HUAWEI Developer
forums.developer.huawei.com

Developers,tell me what do you want actually ?

What is the developer group? We may find some patterns in the 2020 Q3 and 19th Developer Community Status Report recently released by research firm Slashdata.
Developers have become a key group of vendors in recent years. So, what kind of group are developers? Perhaps a recent authoritative report could give us some inspiration. Recently, Slashdata, a well-known developer research organization in the industry, released the latest developer economic survey report 2020 Q3 and 19th Developer Community Status Report. HUAWEI CLOUD is also a partner of Slashdata, co-participated, and contributed to this industry report, which has a total of 17,000 questionnaires.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
So what does this report say about the key trends of developers after Q3 2020? The main scenarios are as follows:
1. Additional needs of developers during the new crown epidemic;
2. Update the status quo of different language communities.
3. Reasons why developers adopt or refuse to use cloud technologies;
4. Who is DevOps practice?
5. What are open source projects that developers attach most importance to?
6. Emerging technologies.
1. Additional needs of developers during the new crown epidemic
· 40% of developers report that they need more flexible work time and workload arrangements due to the impact of the COVID-19 epidemic.
· Collaboration tools and platforms are the most important technical requirements for developers.
· Self-employed developers and small business developers are less likely to have additional requirements due to the COVID-19 epidemic.
· The larger the size of the business they serve, the more developers need tools for self-management and collaboration and mental health support.
2. Update on the status of different language communities
· JavaScript is the most popular programming language and is widely used by 12.4 million developers worldwide.
· Currently, Python has 9 million users, and 2.2 million new developers were added last year alone, surpassing Java in early 2020.
· Kotlin is the fastest-growing language community and has doubled in size since the end of 2017;
3. Reasons for the developer to adopt or refuse to use cloud technologies;
· Price and support/documentation are key factors that dominate the developer's decision-making process when considering a cloud technology; When rejecting, price is the most important reason for rejecting;
· Vendors have many opportunities to differentiate and position their orchestration tools in the marketplace, and developers are less concerned about their price and more about the features that can help them develop.
· As long as the cloud solution meets the minimum requirements, developers no longer care about feature sets or performance issues.
· Developers will reject technologies that do not bring them a satisfying development experience, and it is important to have access to the community and to receive appropriate support.
4. Who are DevOps practitioners?
· The vast majority of professional developers (over 80%) are more or less involved in DevOps.
· Continuous integration and continuous deployment (CI/CD) are the two most common DevOps practices, but only 1/4 of developers automate their workflows in both aspects.
· Programmers are very willing to use CI/CD, but rarely use operation practices such as monitoring applications in production environments.
· Software departments with a large number of experienced professionals prefer to embrace the DevOps model, with few exceptions.
5. What are open source projects that developers attach most importance to?
· Developers appreciate cooperation and interaction with open source communities more than they contribute to open source projects.
· In almost all respects, developers in Western Europe attach more importance to open source than developers in other regions.
· South Asian developers attach great importance to their contributions to open source projects, making the region most likely to dominate the next wave of open source development.
As can be seen in the following figure, East Asian developers lag behind other regions in almost all respects; There is no emphasis on collaboration and communication with the community, nor on the provision of sustained technical support.
6. Emerging technologies
· Emerging technologies such as AR and VR do not fully embrace OSS principles.
· Little changes in participation and adoption, which means that DevOps has reached maturity.
· Fog/edge computing is becoming increasingly attractive among practitioners, but overall participation is still low.
· Machine vision is maturing and its adoption rate will increase as the number of developers learning this topic increases.
· Some advanced technologies have fatigue effects in participation, but their adoption rates have increased among developers who continue to invest;
For details about Huawei developers and HMS, visit the website.
HUAWEI Developer Forum | HUAWEI Developer
forums.developer.huawei.com
These are some of the key elements of this report.
This document is written by Xu Yi, a Huawei DevOps expert, and translated by Amber.

How good is harmony OS?HarmonyOS learning Path

HarmonyOS is a future-proof distributed operating system open to you as part of the initiatives for the all-scenario strategy, adaptable to a mobile office, fitness and health, social communication, and media entertainment, to name a few. Unlike a legacy operating system that runs on a standalone device, HarmonyOS is built on a distributed architecture designed based on a set of system capabilities. It is able to run on a wide range of device forms.
More related to HarmonyOS ,please refer to:
https://www.reddit.com/r/HuaweiDevelopers/comments/lx9jqd
1. Get to know HarmonyOS
1)What is HarmonyOS:
Click to expand...
Click to collapse
LINK https://device.harmonyos.com/en/docs/start/learn/oem_des_define-0000001055232642
What Is HarmonyOS? What ability? What does technical architecture look like?
HarmonyOS is a future-proof distributed operating system open to you as part of the initiatives for the all-scenario strategy, adaptable to a mobile office, fitness and health, social communication, and media entertainment, to name a few. Unlike a legacy operating system that runs on a standalone device, HarmonyOS is built on a distributed architecture designed based on a set of system capabilities. It is able to run on a wide range of device forms.
For application developers, HarmonyOS adopts distributed technologies to make application development possible on different device forms. With HarmonyOS, you have the choice to focus on upper-layer service logic and develop applications in a much easier and more efficient way.
For device developers, HarmonyOS uses a component-based software design to tailor itself to particular device forms based on their respective resource capabilities and service characteristics.
2) Security guide:
Click to expand...
Click to collapse
What are the security mechanisms and recommended practices of HarmonyOS in terms of hardware, system, data, device interconnection, and application security?
Link:https://device.harmonyos.com/en/docs/security/sec-guides/oem_security_guide-0000001050032745
3)Obtain the source code.
Click to expand...
Click to collapse
There are several methods for obtaining the source code. Select one based on the site requirements.
LINK:https://device.harmonyos.com/en/doc...EN_TOPIC_0000001050769927__section61172538310
4)Obtain the compilation toolchain, device development tool (HUAWEI DevEco Device Tool), application development tool (HUAWEI DevEco Studio), and tool usage guide.
Click to expand...
Click to collapse
LINK:https://device.harmonyos.com/en/docs/start/get-tools/oem_tool-0000001055705774
5)API reference:
Click to expand...
Click to collapse
https://device.harmonyos.com/en/docs/develop/apiref/abilitykit-0000001054598111
2. Develop WLAN connection products
a) Have general knowledge of the Hi3861 development board: WLAN module, which provides connection capabilities for various IoT devices.
https://device.harmonyos.com/en/docs/start/introduce/oem_wifi_start_des-0000001050168548
b) Set up the Hi3861 environment, including preparing the software and hardware, and installing the compilation and development environment.
https://device.harmonyos.com/en/docs/start/introduce/oem_quickstart_3861_build-0000001054781998
c) Develop the first example program of the Hi3861: Compile and burn the HarmonyOS to complete the first Hello World program.
https://device.harmonyos.com/en/docs/start/introduce/oem_wifi_start_helloword-0000001051930719
d) Development example of LED peripheral control: Call the NDK interface of HarmonyOS to control the GPIO and implement LED blinking.
https://device.harmonyos.com/en/docs/develop/demo/oem_wifi_sdk_des-0000001050059068
e) One-Hop scenario development guide: Develop WLAN connection products that provide the FA experience.
https://device.harmonyos.com/en/docs/develop/demo/oem_device_wifi_touch_des-0000001054809169
f) Third-party SDK integration: Integrate vendor SDKs into HarmonyOS.
https://device.harmonyos.com/en/docs/develop/demo/oem_device_wifi_sdk-0000001054412155
3. Develop camera products with screens.
[Device Software Development]
a) Understand the Hi3516 development board: It has the screen camera module and develops HarmonyOS applications based on the development board.
https://device.harmonyos.com/en/docs/start/introduce/oem_camera_start_3516-0000001052670587
b) Set up the Hi3516 environment, including preparing the software and hardware, and installing the compilation and development environments.
https://device.harmonyos.com/en/doc..._quickstart_3516_environment-0000001054501981
c) Develop the first application of the Hi3516: Compile and burn the HarmonyOS to complete the first application Hello World.
https://device.harmonyos.com/en/docs/start/introduce/oem_camera_start_first_example-0000001051610926
d) Example of developing the first Hi3516 driver: Develop a new driver using HarmonyOS and complete the first driver Hello World.
https://device.harmonyos.com/en/docs/start/introduce/oem_camera_start_driveexample-0000001054448621
e) Screen and camera control development example: Use HarmonyOS to control the screen and camera.
https://device.harmonyos.com/en/docs/develop/demo/oem_device_iotcamera_control_des-0000001055101239
[Application Software Development]
a) Set up the development environment: Install HUAWEI DevEco Studio.
https://developer.harmonyos.com/en/docs/documentation/doc-guides/tools_overview-0000001053582387
b) JavaScript application development interface: describes the framework, components, and interfaces of JavaScript application development.
https://device.harmonyos.com/en/docs/develop/apiref/js-framework-file-0000000000611396
c) Visual application development example: Use HarmonyOS to develop vision applications.
https://device.harmonyos.com/en/docs/develop/demo/oem_camera_fa_des-0000001050065839
4. Develop screenless camera products.
a) Have general knowledge of the Hi3518 development board: The camera module without a screen provides camera capabilities for various IoT devices.
https://device.harmonyos.com/en/docs/start/introduce/oem_camera_start_hi3518-0000001050170473
b) Set up the Hi3518 environment, including preparing the software and hardware, and installing the compilation and development environments.
https://device.harmonyos.com/en/docs/start/introduce/oem_camera_start_environment-0000001052450997
c) Develop the first example program of the Hi3518: Compile and burn the HarmonyOS to complete the first program Hello World.
https://device.harmonyos.com/en/docs/start/introduce/oem_camera_start_example-0000001051610926
d) Camera control development example: Use HarmonyOS to control the camera.
https://device.harmonyos.com/en/docs/develop/demo/oem_device_iotcamera_control_des-0000001054203800
5. Chip Adaptation Reference
a) Kernel development guide: describes the basic functions, file system, standard library, and commissioning functions of the HarmonyOS light kernel and provides development guidance.
https://device.harmonyos.com/en/docs/develop/kernel/oem_kernal_user_process-0000001050032733
b) Driver usage guide: provides guidance for using the HDF driver framework, driver platform, and peripheral functions.
https://device.harmonyos.com/en/docs/develop/drive/oem_drive_hdfdev-0000001051715456
6. Contribution component
a) Component development specifications: basic concepts of components and how to define components according to the specifications.
https://device.harmonyos.com/en/docs/develop/bundles/oem_bundle_standard_des-0000001050129846
b) Component development guide: Develop HarmonyOS components and distributions.
https://device.harmonyos.com/en/docs/develop/bundles/oem_bundle_guide_des-0000001050770981
7. Code cloud warehouse
Code cloud docs repository: OpenHarmony is an open-source version of HarmonyOS. It provides developer documents, such as quick start, development guide, and API reference. Welcome to the document open-source project and improve developer documents together.
All right, that’s all we’ve got so far. We will update the new resource editors here. Hope it is helpful for you. Welcome to post and leave a message.

Beginner : Building Custom model using Huawei ML kit Custom Model

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Introduction
Are you new to machine learning?
If yes. Then let’s start from the scratch.
What is machine learning?
Definition: “Field of study that gives computer capability to learn without being explicitly programmed.”
In general: Machine learning is an Application of the Artificial intelligence (AI) it gives devices the ability to learn from their experience improve their self-learning without doing any coding. For example if you search something related Ads will be shown on the screen.
Machine Learning is a subset of Artificial Intelligence. Machine Learning is the study of making machines more human-like in their behavior and decisions by giving them the ability to learn and develop their own programs. This is done with minimum human intervention, that is, no explicit programming. The learning process is automated and improved based on the experiences of the machines throughout the process. Good quality data is fed to the machines, and different algorithms are used to build ML models to train the machines on this data. The choice of algorithm depends on the type of data at hand, and the type of activity that needs to be automated.
Do you have question like what is the difference between machine learning and traditional programming?
Traditional programming
We would feed the input data and well written and tested code into machine to generate output.
Machine Learning
We feed the Input data along with the output is fed into the machine during the learning phase, and it works out a program for itself.
Steps of machine learning
1. Gathering Data
2. Preparing that data
3. Choosing a model
4. Training
5. Evaluation
6. Hyper parameter Tuning
7. Prediction
How does Machine Learning work?
The three major building blocks of a Machine Learning system are the model, the parameters, and the learner.
Model is the system which makes predictions.
The parameters are the factors which are considered by the model to make predictions.
The learner makes the adjustments in the parameters and the model to align the predictions with the actual results.
Now let’s build on the water example from the above and learn how machine learning works. A machine learning model here has to predict whether water is useful to drink or not. The parameters selected are as follows
Dissolved oxygen
pH
Temperature
Decayed organic materials
Pesticides
Toxic and hazardous substances
Oils, grease, and other chemicals
Detergents
Learning from the training set.
This involves taking a sample data set of several place water for which the parameters are specified. Now, we have to define the description of each classification that is useful to drink water, in terms of the value of parameters for each type. The model can use the description to decide if a new sample of water is useful to drink or not.
You can represent the values of the parameters, ‘pH’ ,‘Temperature’ , ‘Dissolved oxygen’ etc, as ‘x’ , ‘y’ and ‘z’ etc. Then (x, y, z) defines the parameters of each drink in the training data. This set of data is called a training set. These values, when plotted on a graph, present a hypothesis in the form of a line, a rectangle, or a polynomial that fits best to the desired results.
Now we have learnt what machine learning is and how it works, now let’s understand about Huawei ML kit.
Huawei ML kit
HUAWEI ML Kit allows your apps to easily leverage Huawei's long-term proven expertise in machine learning to support diverse artificial intelligence (AI) applications throughout a wide range of industries.
Huawei has already provided some built in feature in SDK which are as follows.
Text related service.
Text recognition
Document recognition
Id card recognition
Bank card recognition
General card recognition
Form Recognition
Language/Voice related services.
Translation
Language detection
Text to speech
Image related services.
Image classification
Object detection and Tracking
Landmark recognition
Product visual search
Image super resolution
Document skew correction
Text image super resolution
Scene detection
Face/Body related services.
Face detection
Skeleton detection
Liveness detection
Hand gesture recognition
Face verification
Natural language processing services.
Text embedding
Custom model.
AI create
Model deployment and Inference
Pre-trained model
In this series of article we learn about Huawei Custom model. As an on-device inference framework of the custom model, the on-device inference framework MindSpore Lite provided by ML Kit facilitates integration and development and can be running on devices. By introducing this inference framework, you can define your own model and implement model inference at the minimum cost.
Advantages of MindSpore Lite
It provides simple and complete APIs for you to integrate the inference framework of an on-device custom model.
Customize model in simple and quickest with excellent experience with Machine learning.
It is compatible with all mainstream model inference platforms or frameworks, such as MindSpore Lite, TensorFlow Lite, Caffe, and Onnx in the market. Different models can be converted into the .ms format without any loss, and then run perfectly through the on-device inference framework.
Custom models occupy small storage space and can be quantized and compressed. Models can be quickly deployed and executed. In addition, models can be hosted on the cloud and downloaded as required, reducing the APK size.
Steps to be followed to Implement Custom model
Step 1: Install HMS Toolkit from Android Studio Marketplace.
Step 2: Transfer learning by using AI Create.
Step 3: Model training
Step 4: Model verification
Step 5: Upload model to AGC
Step 6: Load the remote model
Step 7: Perform inference using model inference engine
Let us start one by one.
Step 1: Install HMS Toolkit from Android Studio Marketplace. After the installation, restart Android Studio.
· Choose File > Setting > Plugins
Result
Coming soon in upcoming article.
Tips and Tricks
Make sure you are already registered as Huawei Developer.
Learn basic of machine learning.
Install HMS tool in android studio
Conclusion
In this article, we have learnt what exactly machine learning is and how it works. And difference between traditional programming and machine learning. Steps required to build custom model and also how to install HMS tool in android studio. In upcoming article I’ll continue the remaining steps in custom model of machine learning.
Reference
ML Kit Official document
Checkout in forum

Categories

Resources