【TVM 教程】Python 目标参数化
内容提要
Apache TVM 更新至 0.21.0 版本,中文文档已同步。TVM 是一个深度学习编译框架,支持多种硬件。新增参数化单元测试功能,便于在不同目标设备上运行测试,支持 GPU 测试和运行时要求。测试可在本地或 Docker 容器中执行,CI 流程通过 Jenkinsfile 定义。
关键要点
-
Apache TVM 更新至 0.21.0 版本,中文文档已同步。
-
TVM 是一个深度学习编译框架,支持 CPU、GPU 和各种机器学习加速芯片。
-
新增参数化单元测试功能,便于在不同目标设备上运行测试。
-
测试可在本地或 Docker 容器中执行,CI 流程通过 Jenkinsfile 定义。
-
参数化单元测试可以在所有已启用且具有兼容设备的目标上运行。
-
可以使用装饰器 @tvm.testing.parametrize_targets 显式参数化测试。
-
支持在环境变量 TVM_TEST_TARGETS 中指定目标,自动运行所有目标的测试。
-
在本地运行测试时,可以使用 pytest 命令,并设置环境变量 TVM_TEST_TARGETS。
-
在 CI 中,所有流程由 Jenkinsfile 中定义的任务启动,包括 Docker 镜像和测试配置。
延伸问答
Apache TVM 0.21.0 版本有哪些新功能?
新增参数化单元测试功能,支持在不同目标设备上运行测试,包括 GPU 测试和运行时要求。
如何在本地运行 TVM 的单元测试?
可以在 ${TVM_HOME} 目录下使用命令 pytest,环境变量 TVM_TEST_TARGETS 应包含目标列表。
什么是参数化单元测试,如何使用?
参数化单元测试允许在多个目标上运行测试,可以使用装饰器 @tvm.testing.parametrize_targets 显式参数化测试。
如何在 CI 中配置和运行 TVM 测试?
CI 流程通过 Jenkinsfile 定义,指定 Docker 镜像和测试配置,使用 pytest 运行测试。
如何指定测试目标?
可以在环境变量 TVM_TEST_TARGETS 中指定目标,自动运行所有目标的测试。
TVM 支持哪些硬件?
TVM 支持 CPU、GPU 和各种机器学习加速芯片。