-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Hackathon No.89] Complete the deployment verification of PaddlePaddl…
…e visual model on Arm virtual hardware (#20) Update configuration name.
- Loading branch information
1 parent
2a97528
commit 90d7419
Showing
7 changed files
with
95 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,46 @@ | ||
# Paddle Examples for Arm Virtual Hardware(AVH) | ||
|
||
## Arm Virtual Hardware(AVH) | ||
[Arm Virtual Hardware (AVH)](https://www.arm.com/products/development-tools/simulation/virtual-hardware) scales and accelerates IoT software development by virtualising popular IoT development kits, Arm-based processors, and systems in the cloud. It is an evolution of Arm’s modelling technology that removes the wait for hardware and the complexity of building and configuring board farms for testing. It enables modern agile software development practices, such as DevOps and MLOps workflows. | ||
|
||
Arm Virtual Hardware is available for [Corstone](https://www.arm.com/products/silicon-ip-subsystems) platforms and [Cortex](https://www.arm.com/products/silicon-ip-cpu) processors via an Amazon Machine Image (AMI) on [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-urbpq7yo5va7g) as well for third-party hardware available via Arm’s [SaaS platform](https://avh.arm.com/). | ||
[Arm Virtual Hardware (AVH)](https://www.arm.com/products/development-tools/simulation/virtual-hardware) scales and | ||
accelerates IoT software development by virtualising popular IoT development kits, Arm-based processors, and systems in | ||
the cloud. It is an evolution of Arm’s modelling technology that removes the wait for hardware and the complexity of | ||
building and configuring board farms for testing. It enables modern agile software development practices, such as DevOps | ||
and MLOps workflows. | ||
|
||
Arm Virtual Hardware is available for [Corstone](https://www.arm.com/products/silicon-ip-subsystems) platforms | ||
and [Cortex](https://www.arm.com/products/silicon-ip-cpu) processors via an Amazon Machine Image (AMI) | ||
on [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-urbpq7yo5va7g) as well for third-party hardware | ||
available via Arm’s [SaaS platform](https://avh.arm.com/). | ||
|
||
For examples in this repository, we use Arm Virtual Hardware with Corstone platforms and Cortex processors via AWS. | ||
|
||
## PaddlePaddle | ||
PaddlePaddle (PArallel Distributed Deep LEarning) is a simple, efficient and extensible deep learning framework developed by Baidu, Inc. As the first independent R&D deep learning platform in China, it has been officially open-sourced to professional communities since 2016. It is an industrial platform with advanced technologies and rich features that cover core deep learning frameworks, basic model libraries, end-to-end development kits, tools & components as well as service platforms. For more details, please refer to [PaddlePaddle Github](https://github.com/PaddlePaddle/Paddle) for details. | ||
|
||
PaddlePaddle (PArallel Distributed Deep LEarning) is a simple, efficient and extensible deep learning framework | ||
developed by Baidu, Inc. As the first independent R&D deep learning platform in China, it has been officially | ||
open-sourced to professional communities since 2016. It is an industrial platform with advanced technologies and rich | ||
features that cover core deep learning frameworks, basic model libraries, end-to-end development kits, tools & | ||
components as well as service platforms. For more details, please refer | ||
to [PaddlePaddle Github](https://github.com/PaddlePaddle/Paddle) for details. | ||
|
||
## Running environment and prerequisites | ||
|
||
If you haven't configured the environment yet, please run the following command to set up the dependencies for this | ||
repository. | ||
|
||
```bash | ||
cd /path/to/Paddle-examples-for-AVH | ||
bash scripts/config_cmsis_toolbox.sh | ||
bash scripts/config_tvm.sh | ||
``` | ||
|
||
## Example | ||
We provide 4 use cases in this repository ([ocr](./ocr), [object_classification](./object_classification), [object_detection](./object_detection), [object_segmentation](./object_segmentation)) with various models supported from corresponding Paddle Toolkit. | ||
|
||
We have divided the repository into several sections based on common tasks in the computer vision field. Please refer to | ||
the table below for details. | ||
|
||
| Task | Model | Cortex-M55 | Cortex-M85 | | ||
|-------------------------------------------|-------------|------------|------------| | ||
| [Classification](./object_classification) | MobileNetV3 | ✅ | ✅ | | ||
| [Classification](./object_classification) | PP_LCNet | ✅ | ✅ | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Running PaddleClas image classification model using Arm Virtual Hardware | ||
|
||
## Running environment and prerequisites | ||
|
||
If you are running this project for the first time, please go back to [the homepage](../README.md) and follow the | ||
documentation there to install the dependencies. | ||
|
||
## Supported Models List | ||
|
||
For your convenience, we have provided a corresponding table of models currently adapted and the devices that support each of these models. | ||
|
||
| Model | Cortex-M55 | Cortex-M85 | | ||
|-------------|------------|------------| | ||
| MobileNetV3 | ✅ | ✅ | | ||
| PP_LCNet | ✅ | ✅ | | ||
|
||
## Run Classification Model Demo | ||
|
||
We use **run_demo.sh** to build the entire project. The parameters you need to pass are listed in the table below. | ||
|
||
| Arguments | Details | | ||
|-----------|--------------------------------------------------------------------------------------------------------------| | ||
| --model | The '--model' parameter is used to select the desired model. Currently, it supports MobileNetV3/PP_LCNet. | | ||
| --device | The '--device' parameter is used to select the desired device. Currently, it supports cortex-m55/cortex-m85. | | ||
|
||
For example, running the following command can execute the MobileNetV3 model on Cortex-M55: | ||
|
||
```bash | ||
cd /path/to/Paddle-examples-for-AVH/object_classification | ||
bash run_demo.sh --model MobileNetV3 --device cortex-m55 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters