【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 和各种机器学习加速芯片。

➡️

继续阅读