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