Skip to main content

机器学习推理顾问

项目描述

机器学习推理顾问

介绍

该工具用于帮助 AI 开发人员设计和优化神经网络模型,通过启用在模型开发周期的早期进行性能分析并提供可行的建议。最终建议可以涵盖在应用模型优化(例如剪枝、聚类等)之前/之后在某些硬件上运行的模型推理的算子列表、性能分析和建议。

先决条件和依赖项

建议使用虚拟环境进行 MLIA 安装,MLIA 的典型设置需要:

  • Ubuntu® 20.04.03 LTS(其他操作系统也可以工作,ML Inference Advisor 已经专门在这个上进行了测试)
  • Python® >= 3.8
  • Ethos™-U Vela 依赖项(仅限 Linux®)

后端安装

ML Inference Advisor 旨在支持多个性能评估器(后端),这些评估器可以为各种硬件类型生成性能分析。

backend命令用于管理新后端的安装。该install子命令可用于

  • 安装已在本地安装的后端(选项--path)或
  • (如果可用)自动下载必要的组件和依赖项,安装它们并正确配置它们(选项--download)。

用法是:

mlia backend install --help

结果如下:

位置参数:

  • name:要安装的后端名称

可选参数:

  • -h/--help:显示此帮助信息并退出
  • --path PATH:已安装后端的路径
  • --download:下载并安装后端
  • --noninteractive:非交互模式,自动确认每个动作

例子:

# Use this command to see what backends can be downloaded.
mlia backend install --download

成功安装后端后,开始在您的虚拟环境中使用 mlia。

请注意:后端安装后无法删除。考虑创建一个新环境并在需要时重新安装后端。

后端兼容性表

并非所有后端都可以在任何平台上运行。请参考下面的兼容性表:

+---------------------------------------------------------------------------+
| Backend      | Linux                  | Windows        | Python           |
+============================================================================
| Corstone-300 | x86_64                 | Not compatible | Python>=3.8      |
+----------------------------------------------------------------------------
| Corstone-310 | x86_64                 | Not compatible | Python>=3.8      |
+----------------------------------------------------------------------------
| TOSA checker | x86_64 (manylinux2014) | Not compatible | 3.7<=Python<=3.9 |
+----------------------------------------------------------------------------
| Vela         | x86_64                 | Windows 10     | Python~=3.7      |
+---------------------------------------------------------------------------+

使用 Corstone™-300

要将 Corstone™-300 作为 Ethos™-U 的后端安装,可以使用两个选项 (--download 和):--path

# To download and install Corstone-300 automatically
mlia backend install --download Corstone-300
# To point MLIA to an already locally installed version of Corstone-300
mlia backend install --path YOUR_LOCAL_PATH_TO_CORSTONE_300

请注意:以上示例中使用的 Corstone™-300 仅在 Linux® 平台上可用。

使用 Corstone™-310

Corstone™-310 可用作 Arm® 虚拟硬件 (AVH)。

使用 TOSA 检查器

TOSA 兼容性检查器在 MLIA 中作为外部依赖项提供。请使用以下命令将其安装到与 MLIA 相同的环境中:

pip install mlia[tosa]

TOSA 检查器资源:

用法

初始设置后,您可以通过打开终端并键入以下命令来启动程序:

mlia [command] [arguments]

命令的选择:

要获取所有可用选项的列表,请使用:

mlia --help

要获得特定命令的帮助,请使用:

mlia [command] --help

大多数命令接受目标配置文件的名称作为输入参数。Ethos™-U 有许多预定义的配置文件,具有以下属性:

+--------------------------------------------------------------------+
| Profile name  | MAC | System config               | Memory mode    |
+=====================================================================
| ethos-u55-256 | 256 | Ethos_U55_High_End_Embedded | Shared_Sram    |
+---------------------------------------------------------------------
| ethos-u55-128 | 128 | Ethos_U55_High_End_Embedded | Shared_Sram    |
+---------------------------------------------------------------------
| ethos-u65-512 | 512 | Ethos_U65_High_End          | Dedicated_Sram |
+--------------------------------------------------------------------+

目标配置文件“tosa”可用于 TOSA 兼容性检查。

操作员(操作员)

描述

打印模型的操作员列表。

例子

# List operator compatibility for a specific target profile
mlia operators --target-profile ethos-u55-256 ~/models/mobilenet_v1_1.0_224_quant.tflite

论据

TFLite 模型选项
  • model:TFLite 格式的输入模型[必需]。
目标配置文件选项
  • --target-profile:目标配置文件,将设置目标选项,例如目标、MAC 值、内存模式等...
    • 默认值:ethos-u55-256
    • 选项:
      • 精神-u55-256
      • 精神-u55-128
      • 精神-u65-512
      • 土佐
输出选项
  • --output:将保存报告的文件的名称。根据文件扩展名自动检测报告格式。支持的格式有:csv、json。
可选参数
  • -h/--help:显示一般帮助文档并退出。
  • --supported-ops-report:在当前工作目录生成SUPPORTED_OPS.md文件并退出。

性能(性能)

描述

打印模型的性能统计信息。

例子

# Explicitly specify backend(s) to use with --evaluate-on
mlia performance ~/models/mobilenet_v1_1.0_224_quant.tflite \
--evaluate-on "Vela" "Corstone-310"

论据

TFLite 模型选项
  • model:TFLite 格式的输入模型[必需]。
目标配置文件选项
  • --target-profile:目标配置文件,将设置目标选项,例如目标、MAC 值、内存模式等...
    • 默认值:ethos-u55-256
    • 选项:
      • 精神-u55-256
      • 精神-u55-128
      • 精神-u65-512
输出选项
  • --output:将保存报告的文件的名称。根据文件扩展名自动检测报告格式。支持的格式有:csv、json。
调试选项
  • --verbose:产生详细的输出(用于调试目的)。
评估选项
  • --evaluate-on:用于评估的后端。
    • 默认:维拉
    • 选项:
      • 贝拉
      • Corstone-300
      • Corstone-310
可选参数
  • -h/--help:显示一般帮助文档并退出。
  • --supported-ops-report:在当前工作目录生成SUPPORTED_OPS.md文件并退出。

模型优化(选择)

描述

显示对模型应用优化后的性能改进。

例子

# Custom optimization parameters: pruning=0.6, clustering=16
mlia optimization \
--optimization-type pruning,clustering \
--optimization-target 0.6,16 \
~/models/ds_cnn_l.h5

论据

Keras™ 模型选项
  • 模型:以 Keras™(.h5 或 SavedModel)格式输入模型 [必需]。
优化选项
  • --optimization-type:应用于模型的优化类型[必需]。
    • 选项:
      • 修剪
      • 聚类
  • --optimization-target:优化目标(对于修剪,这是(0,1)之间的稀疏度,对于聚类,这是集群的数量(正整数))[必需]。
目标配置文件选项
  • --target-profile:目标配置文件,将设置目标选项,例如目标、MAC 值、内存模式等...
    • 默认值:ethos-u55-256
    • 选项:
      • 精神-u55-256
      • 精神-u55-128
      • 精神-u65-512
评估选项
  • --evaluate-on:用于评估的后端。
    • 默认:维拉
    • 选项:
      • 贝拉
      • Corstone-300
      • Corstone-310
调试选项
  • --verbose:产生详细的输出(用于调试目的)。
可选参数
  • -h/--help:显示一般帮助文档并退出。
  • --supported-ops-report:在当前工作目录生成SUPPORTED_OPS.md文件并退出。

所有测试(全部)

描述

生成有关输入模型的运算符列表的完整报告,运行指定的优化并列出性能改进。

例子

# Create full report and save it as JSON file
mlia all_tests --output ./report.json ~/models/ds_cnn_l.h5

论据

Keras™ 模型选项
  • 模型:以 Keras™(.h5 或 SavedModel)格式输入模型 [必需]。
优化选项
  • --optimization-type:以逗号分隔的优化类型列表
    • 默认值:修剪,聚类
  • --optimization-target:以逗号分隔的优化目标列表,(对于修剪,这是(0,1)之间的稀疏度,对于聚类,这是聚类数(正整数))
    • 默认值:0.5、32
目标配置文件选项
  • --target-profile:目标配置文件,将设置目标选项,例如目标、MAC 值、内存模式等...
    • 默认值:ethos-u55-256
    • 选项:
      • 精神-u55-256
      • 精神-u55-128
      • 精神-u65-512
      • 土佐
输出选项
  • --output:将保存报告的文件的名称。根据文件扩展名自动检测报告格式。支持的格式有:csv、json。
调试选项
  • --verbose:产生详细的输出(用于调试目的)。
可选参数
  • -h/--help:显示此帮助信息并退出

资源

其他有用信息:

执照

ML Inference Advisor 在Apache License 2.0下获得许可。

商标和版权

Arm®、Ethos™-U、Cortex®-M、Corstone™ 是 Arm® Limited(或其子公司)在美国和/或其他地方的注册商标或商标。TensorFlow™ 是 Google® LLC 的商标。Keras™ 是 François Chollet 的商标。Linux® 是 Linus Torvalds 在美国和其他地方的注册商标。Python® 是 PSF 的注册商标。Ubuntu® 是 Canonical 的注册商标。Microsoft 和 Windows 是 Microsoft 集团公司的商标。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

mlia-0.4.0-py3-none-manylinux2014_x86_64.whl (1.2 MB 查看哈希

已上传 py3