TVM部署和集成Deploy and Integration

TVM部署和集成Deploy and Integration

本文包含如何将TVM部署到各种平台以及如何将其与项目集成。

 

与传统的深度学习框架不同。TVM堆栈分为两个主要组件:             

TVM编译器,完成所有编译和优化             

TVM runtime运行时,在目标设备上运行。             

为了集成编译后的模块,不需要在目标设备上构建整个TVM。只需要在桌面上构建TVM编译器堆栈,用它来交叉编译部署在目标设备上的模块。只需要使用一个轻量级的runtime运行时API,它可以集成到各种平台中。             

例如,可以运行以下命令,基于Linux的嵌入式系统(如Raspberry Pi)上构建runtime运行时API:

git clone --recursive https://github.com/apache/tvm tvm

cd tvm

mkdir build

cp cmake/config.cmake build

cd build

cmake ..

make runtime

注意,键入make runtime只构建runtime运行时库。如果要包含其他runtime运行时(如OpenCL),可以修改config.cmake启用这些选项。获得TVM运行库之后,可以链接已编译的库。             

在嵌入式设备上测试、调整和基准测试TVM内核的最简单和推荐的方法是通过TVM’s RPC API。以下是相关的模块。

在完成优化和基准测试之后,可能需要在不依赖RPC的情况下将模型部署到目标设备上。请参阅下面的参考资料以了解如何这样做。

 

posted @ 2020-12-09 09:09  吴建明wujianming  阅读(620)  评论(0编辑  收藏  举报