【TVM 教程】Python 目标参数化
💡
原文中文,约4500字,阅读约需11分钟。
📝
内容提要
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 和各种机器学习加速芯片。
➡️