在PyTorch中整合了TVM
发布时间
阅读量:
阅读量
将TVM整合至PyTorch框架中
随着TVM持续展现出对深度学习模型执行效率的提升,PyTorch显然能够从直接采用编译器堆栈中获益。PyTorch的核心目标在于为用户提供无缝且高效的集成体验,同时不影响其操作流程。目前,PyTorch已具备基于TVM的官方后端模块torch_tvm。
使用方式极为简便:
import torch_tvm
torch_tvm.enable()
仅此而已!随后,PyTorch将在其JIT编译流程中尝试将所有可能的算子转换为Relay支持的算子。
背景介绍
与诸多其他机器学习框架不同,PyTorch提供了一种执行层面的编程接口。这种编程方式跳过了图元编程模式,转而专注于以Python语言直接操控n维数组(张量)。该框架最初非常适合用于模型的探索和开发阶段,但在自动性能优化及部署方面存在局限性。为充分利用优化后的编译器技术,PyTorch近期引入了多项重大改进以应对这一问题。
在PyTorch 1.0版本中引入了专属于该框架的中间表示形式——PyTorch IR,其作用类似于Relay所处理的模型结构。通过模型跟踪功能,可以将PyTorch程序转化为IR格式,该过程记录了模型或Python子集(即TorchScript)的实际运行情况。新的TV后端将PyTorch IR降低至Relay层级,并能在不需用户干预的情况
全部评论 (0)
还没有任何评论哟~
