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
|
# SPDX-FileCopyrightText: Copyright 2022, Arm Limited and/or its affiliates.
# SPDX-FileCopyrightText: Copyright (c) 2020 Troy Comi
# SPDX-License-Identifier: Apache-2.0 AND MIT
[metadata]
name = mlia
description = ML Inference Advisor
long_description = file: README.md
long_description_content_type = text/markdown
url = https://git.mlplatform.org/ml/mlia.git
author = Arm Ltd
author_email = mlia@arm.com
license = Apache License 2.0
license_files = LICENSES/*.txt
classifiers =
Development Status :: 4 - Beta
License :: OSI Approved :: Apache Software License
Intended Audience :: Developers
Operating System :: POSIX :: Linux
Programming Language :: Python :: 3
Programming Language :: Python :: 3.8
Topic :: Scientific/Engineering :: Artificial Intelligence
keywords = ml, arm, ethos-u, tflite
[options]
include_package_data = True
python_requires = >=3.8
package_dir =
= src
packages = find_namespace:
# On aarch64 machine, tensorflow does not pin the numpy version but
# vela does. The pre-built aarch64 tensorflow 2.8.2 uses a numpy whose
# version is conflicting with ethos-u-vela version 3.4.0. Therefore,
# we downgraded both tensorflow and vela versions to make sure there is
# no numpy version conflict.
install_requires =
tensorflow-aarch64~=2.7.3; platform_machine=="aarch64"
tensorflow~=2.8.2; platform_machine=="x86_64"
tensorflow-model-optimization~=0.7.2
ethos-u-vela~=3.3.0; platform_machine=="aarch64"
ethos-u-vela~=3.4.0; platform_machine=="x86_64"
requests
rich
sh
[options.packages.find]
where = src
[options.entry_points]
console_scripts =
mlia=mlia.cli.main:main
[options.extras_require]
dev =
pytest==7.1.1
pytest-cov==3.0.0
mypy==0.942
pylint==2.13.7
pre-commit
tosa =
tosa-checker==0.1.0
[flake8]
# ignored errors
# E501 line too long
# W503 line break before binary operator
ignore = E501, W503
max-complexity = 18
select = B,C,E,F,W,T4
[blocklint]
# Do not allow any non-inclusive language
max_issue_threshold=1
# Blocklist: Words to lint in any context, with possibly special characters
# between, case insensitive
blocklist=master,slave,blacklist,whitelist,dummy
# Word list: Words to lint as whole words, with possibly special characters
# between, case insensitive
wordlist=he,she,him,her,his,hers
# Exact list: Words to lint as whole words exactly as entered
# exactlist=
# Files that should not be checked by blocklint.
skip_files=LICENSES/CC-PDDC.txt,docs/source/conf.py
|