1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/Open-CMSIS-Pack/devtools/main/tools/packgen/schema/manifest.schema.json
#----------------------------------------------------------------------------
# Copyright (c) 2022 Arm Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#----------------------------------------------------------------------------
# YML file to help generate a CMSIS pack for ml-embedded-eval-kit API.
# See the CMakeLists.txt in the same directory to see the targets that
# are included in the pack.
#
# Ideal usage: from the root of the repository
#
# ml-embedded-eval-kit $ packgen -s ./ \ # Source dir (run this from repo root)
# -v ./scripts/cmake/cmsis-pack-gen/use-case-api.yml \ # This file's path
# -o <path-to>/ml-embedded-eval-kit-pack \ # Where to generate the output
# -i <path-to>/tensorflow.tensorflow-lite-micro.pdsc \ # Tensorflow packs' PDSC file
# -i <path-to>/ARM.CMSIS.pdsc \ # CMSIS packs' PDSC file
#
# The PDSC files are the ones extracted from the downloaded packs (and is optional).
# packgen and packchk must be installed. See https://github.com/Open-CMSIS-Pack/devtools
# on how to build these tools.
build:
- name: "build-dir"
options: "cmake -DCMSIS_PACK_GEN_FLOW=ON"
packs:
- name: "ml-embedded-eval-kit-uc-api"
description: "Sample use case APIs derived from ml-embedded-eval-kit"
vendor: "ARM"
license: "LICENSE_APACHE_2.0.txt"
url: "https://review.mlplatform.org/admin/repos/ml/ethos-u/ml-embedded-evaluation-kit/"
requirements:
packages:
- attributes: {vendor: "tensorflow", name: "tensorflow-lite-micro", version: "1.22.02"}
- attributes: {vendor: "ARM", name: "CMSIS", version: "5.8.0"}
releases:
- version: "22.8.0"
date: "2022-08-15"
description: "Beta release package"
# @TODO: Add API header names and descriptions here (see placeholder below).
# apis:
# - name: "Image classification use case API"
# attributes: {Cclass: "Machine Learning", Cgroup: "Evaluation Kit", Capiversion: "1.0.0"}
# description: "Arm ml-embedded-eval kit example APIs"
# files:
# - name: "use_case/img_class/include/ImgClassProcessing.hpp"
# attributes: {category: header, attr: config, version: "1.0.0"}
taxonomy:
- attributes: {Cclass: "Machine Learning"}
description: "Machine Learning software frameworks and libraries"
- attributes: {Cgroup: "Evaluation Kit"}
description: "A collection of end-to-end examples provided by Arm for Arm Cortex-M CPU and Arm Ethos-U NPU targets."
components:
- name: log
target: log
attributes: { Cclass: "ML Eval Kit", Cgroup: "Common", Csub: "Log", Cversion: "1.0.0" }
description: "Logging header-only utility"
- name: arm_math
target: arm_math
attributes: { Cclass: "ML Eval Kit", Cgroup: "Common", Csub: "Math", Cversion: "1.0.0" }
description: "Math function helpers dependent on CMSIS-DSP."
conditions:
- require: { Cclass: "CMSIS", Cgroup: "DSP"}
- name: common_api
target: common_api
attributes: {Cclass: "ML Eval Kit", Cgroup: "Common", Csub: "API", Cversion: "1.0.0"}
description: "Common API"
dependencies: ["arm_math", "log"]
conditions:
- require: { Cclass: "Machine Learning", Cgroup: "TensorFlow" }
- name: ad_api
target: ad_api
attributes: {Cclass: "ML Eval Kit", Cgroup: "Vibration", Csub: "Anomaly detection", Cversion: "1.0.0"}
description: "Anomaly detection use case API."
dependencies: common_api
- name: asr_api
target: asr_api
attributes: {Cclass: "ML Eval Kit", Cgroup: "Voice", Csub: "Automatic speech recognition", Cversion: "1.0.0"}
description: "ASR use case API."
dependencies: common_api
- name: img_class_api
target: img_class_api
attributes: {Cclass: "ML Eval Kit", Cgroup: "Vision", Csub: "Image classification", Cversion: "1.0.0"}
description: "Image classification use case API."
dependencies: common_api
- name: inference_runner_api
target: inference_runner_api
attributes: {Cclass: "ML Eval Kit", Cgroup: "Common", Csub: "Generic", Cversion: "1.0.0"}
description: "Generic inference runner use case API."
dependencies: common_api
- name: kws_api
target: kws_api
attributes: {Cclass: "ML Eval Kit", Cgroup: "Voice", Csub: "Keyword spotting", Cversion: "1.0.0"}
description: "KWS use case API."
dependencies: common_api
- name: noise_reduction_api
target: noise_reduction_api
attributes: {Cclass: "ML Eval Kit", Cgroup: "Voice", Csub: "Noise reduction", Cversion: "1.0.0"}
description: "RNN Noise use case API."
dependencies: common_api
- name: object_detection_api
target: object_detection_api
attributes: {Cclass: "ML Eval Kit", Cgroup: "Vision", Csub: "Object detection", Cversion: "1.0.0"}
description: "Object detection use case API."
dependencies: common_api
- name: vww_api
target: vww_api
attributes: {Cclass: "ML Eval Kit", Cgroup: "Vision", Csub: "Person detection", Cversion: "1.0.0"}
description: "Visual wake word use case API."
dependencies: common_api
|