TIM-VX

TIM-VX

神经网络加速部署框架 支持多种AI硬件

TIM-VX是一个开源的神经网络部署框架,支持150多种算子和多种硬件平台。它具有简化的C++ API、动态图构建和形状推断功能,可作为多种深度学习框架的后端。TIM-VX简化了AI应用的开发和部署流程,适用于Android NN、TensorFlow Lite等多种环境。

TIM-VX神经网络深度学习框架NPU加速张量运算Github开源项目

TIM-VX - 张量接口模块

bazel_x86_vsim_单元测试 cmake_x86_vsim

TIM-VX是芯擎科技提供的软件集成模块,旨在便于在芯擎科技的机器学习加速器上部署神经网络。它作为后端绑定,为Android NN、Tensorflow-Lite、MLIR、TVM等运行时框架提供支持。

主要特性

  • 支持超过150个算子,包括量化和浮点数格式
  • 简化的C++绑定API调用,用于创建张量和操作 指南
  • 动态图构建,支持形状推理和布局推理
  • 内置自定义层扩展
  • 一组用于调试的实用函数

框架支持

如果您希望将TIM-VX添加到其他框架中,欢迎提出GitHub问题。

架构概览

TIM-VX架构

技术文档

开始使用

构建和运行

TIM-VX同时支持bazelcmake


cmake

使用预构建文件为x86构建TIM-VX:

mkdir host_build cd host_build cmake .. make -j8 make install

所有安装文件(包括头文件和*.so)位于:host_build/install

cmake选项:

选项名称摘要默认值
TIM_VX_ENABLE_TEST启用公共API和算子的单元测试用例OFF
TIM_VX_ENABLE_LAYOUT_INFER构建时支持张量数据布局推理ON
TIM_VX_USE_EXTERNAL_OVXLIB使用预构建的libovxlib库替换内部库OFF
OVXLIB_LIBlibovxlib.so的完整路径(包括so名称),当TIM_VX_USE_EXTERNAL_OVXLIB=ON时必需未设置
OVXLIB_INCovxlib的包含路径,当TIM_VX_USE_EXTERNAL_OVXLIB=ON时必需未设置
EXTERNAL_VIV_SDK提供外部Vivante OpenVX驱动程序库未设置
TIM_VX_BUILD_EXAMPLES构建示例应用程序OFF
TIM_VX_ENABLE_40BIT在NPU驱动程序中启用大内存(超过4G)支持OFF
TIM_VX_ENABLE_PLATFORM启用多设备支持OFF
TIM_VX_ENABLE_PLATFORM_LITE启用精简版多设备支持,仅当TIM_VX_ENABLE_PLATFORM=ON时生效OFF
VIP_LITE_SDKVIPLite SDK的完整路径,当TIM_VX_ENABLE_PLATFORM_LITE=ON时必需未设置
TIM_VX_ENABLE_GRPC启用gRPC支持,仅当TIM_VX_ENABLE_PLATFORM=ON时生效OFF
TIM_VX_DBG_ENABLE_TENSOR_HNDL启用内置张量句柄ON
TIM_VX_ENABLE_TENSOR_CACHE为常量张量启用张量缓存,请查看OpenSSL构建说明OFF

运行单元测试:

cd host_build/src/tim export LD_LIBRARY_PATH=`pwd`/../../../prebuilt-sdk/x86_64_linux/lib:<libgtest_main.so的路径>:$LD_LIBRARY_PATH export VIVANTE_SDK_DIR=`pwd`/../../../prebuilt-sdk/x86_64_linux/ export VSIMULATOR_CONFIG=<应从芯片供应商处获取的硬件名称> # 如果您想用gdb调试,请设置 export DISABLE_IDE_DEBUG=1 ./unit_test

使用本地Google Test源码构建

cd <工作空间根目录> git clone --depth 1 -b release-1.10.0 git@github.com:google/googletest.git cd <tim_vx根目录>/build/ cmake ../ -DTIM_VX_ENABLE_TEST=ON -DFETCHCONTENT_SOURCE_DIR_GOOGLETEST=<工作空间根目录/googletest> <在此添加其他cmake定义>

为EVK开发板构建

  1. 按照 cmake 标准准备工具链文件
  2. 确保使用工具链单独交叉编译低级驱动程序,我们需要低级驱动程序的 SDK
  3. 在 cmake 定义中添加 -DEXTERNAL_VIV_SDK=<low-level-driver/out/sdk>,同时记得添加 -DCMAKE_TOOLCHAIN_FILE=<Toolchain_Config>
  4. 或者,如果使用带有外部 VIV-SDK 的 buildroot 工具链,请添加:
    -DCONFIG=BUILDROOT -DCMAKE_SYSROOT=${CMAKE_SYSROOT} -DEXTERNAL_VIV_SDK=${BUILDROOT_SYSROOT}
  5. 然后进行编译

集成的重要注意事项

如果你想将 tim-vx 构建为静态库,并将其链接到你的共享库或应用程序中,请注意链接器,需要使用 "-Wl,--whole-archive"。

参考 samples/lenet/CMakeLists.txt

Bazel

开始之前,请安装 bazel

TIM-VX 需要与 VeriSilicon OpenVX SDK 一起编译和链接,该 SDK 提供相关头文件和预编译库。默认提供了一个 linux-x86_64 SDK,包含 PC 上的模拟环境。特定平台的 SDK 可以从相应的 SoC 供应商处获得。

构建 TIM-VX:

bazel build libtim-vx.so

运行 LeNet 示例:

# 为运行时编译环境设置 VIVANTE_SDK_DIR export VIVANTE_SDK_DIR=`pwd`/prebuilt-sdk/x86_64_linux bazel build //samples/lenet:lenet_asymu8_cc bazel run //samples/lenet:lenet_asymu8_cc

其他

要构建和运行带有 TIM-VX 的 Tensorflow-Lite,请参阅 README

要构建和运行带有 TIM-VX 的 TVM,请参阅 TVM README

参考板

芯片厂商参考资料成功案例
i.MX 8M PlusNXP机器学习指南, BSPSageMaker 与 8MP
A311DKhadas - VIM3A311D 数据表, BSPPaddle-lite 演示
S905D3Khadas - VIM3LS905D3 , BSP

支持

在 GitHub 上创建问题或发送电子邮件至 ML_Support@verisilicon.com

编辑推荐精选

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多