Arm-ethosunpu的神经网络模型编译器
ethos-u-vela的Python项目详细描述
贝拉
此工具用于编译 TensorFlow Lite for Microcontrollers 神经网络模型变成一个优化版本,可以运行在一个嵌入式 包含 Arm Ethos-U NPU。在
为了加速Ethos-U NPU,网络运营商必须 量化为8位(无符号或有符号)或16位(有符号)。在
优化后的模型将包含TensorFlow Lite自定义运算符 模型中可以被etos-U NPU加速的部分。部分 无法加速的模型将保持不变,而将在 Cortex-M系列CPU使用适当的内核(如 Arm优化 CMSIS-NN 果仁)。在
编译后,优化模型只能在etos-U NPU上运行 嵌入式系统。在
该工具还将为 编译模型。在
张力流支架
Vela支持TensorFlow 2.3.0
环境
Vela运行在Linux操作系统上。在
先决条件
在安装Vela之前,应安装以下部件:
- Python>;=3.6
- Pip3
- GNU工具链(GCC、Binutils和库)
也可以选择:
- Pipenv虚拟环境工具
安装
Vela可作为软件包从 PyPi,或as 源代码来自 ML Platform。 这两种方法都将自动安装所有必需的依赖项。在
PyPi
使用以下命令从PyPi安装Vela:
pip3 install ethos-u-vela
ML平台
从第一个文件下载:
https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-vela
或者通过克隆git存储库:
^{pr2}$一旦有了源代码,就可以使用以下命令安装Vela 命令:
pip3 install -U setuptools>=40.1.0 pip3 install .
或者,如果使用pipenv
:
pipenv install .
面向开发人员的高级安装
如果您计划修改Vela代码库,那么建议安装Vela
作为一个可编辑的软件包,以避免每次修改后都需要重新安装。
通过将-e
选项添加到上面的install命令中,如下所示:
pip3 install -e .
或者,如果使用pipenv
:
pipenv install -e .
如果你打算为Vela项目捐款(强烈鼓励!)那就是了 建议与预提交工具一起安装Vela(请参见 Vela Testing获取更多详细信息)。在
mlw_codec
作为安装过程的一部分,Vela将编译一个基于C的模块。在
用于此模块的生成标志如下:
-Wall -Werror -Wno-unused-function -Wno-unused-variable
跑步
Vela是通过命令行传递的输入.tflite
文件运行的。这个文件
包含要编译的神经网络。然后,工具将输出一个经过优化的
带有_vela.tflite
文件前缀的版本,以及性能评估
(实验)CSV文件,全部到输出目录。在
如果使用pipenv
虚拟环境工具,则首先从生成
虚拟环境中的shell:
pipenv shell
之后,无论你是否在虚拟环境中,运行Vela都是一样的 环境与否。在
用法示例:
- 编译网络
my_model.tflite
。将输出经过优化的版本 到./output/my_network_vela.tflite
。在
vela my_model.tflite
- 编译网络
/path/to/my_model.tflite
并指定要执行的输出 在目录./results_dir/
中。在
vela --output-dir ./results_dir /path/to/my_model.tflite
- 使用特定的etos-U NPU编译一个网络。以下命令 选择一个配置了512个MAC单元的etos-U65 NPU加速器。在
vela --accelerator-config ethos-u65-512 my_model.tflite
- 使用中定义的特定嵌入式系统配置编译网络
Vela的配置文件。下面的命令选择
My_Sys_Config
{{cd14>与配置文件一起使用。在
vela --config vela_cfg.ini --system-config My_Sys_Config --memory-mode My_Mem_Mode my_model.tflite
- 要获取所有可用选项的列表:
vela --help
有关Vela的所有CLI选项以及系统配置的信息 文件格式可以是d在Vela Options中。在
外部API
Vela提供了一个低级的外部API来支持etos-U代码的生成 其他工具。请看Vela External APIs。在
示例网络
一些包含量化运算符的示例网络,可以通过 在Ethos-U NPU上运行的Vela可在以下网址找到: https://tfhub.dev/s?deployment-format=lite&q=quantized
支持的运算符
{a12支持的列表请参见} 此版本中的运算符。在
测试
请看Vela Testing。在
捐款
安全
请看Vela Security。在
释放
请看Vela Releases。在
资源
其他有用信息:
- Arm Products: Ethos-U55 NPU
- Arm Products: Ethos-U65 NPU
- Arm Developer: Ethos-U55 NPU
- Arm Developer: Ethos-U65 NPU
许可证
Vela是根据Apache License 2.0授权的。在
- 项目
标签: