首页 > 编程语言 >3、使用 TVMC Python 入门:TVM 的高级 API

3、使用 TVMC Python 入门:TVM 的高级 API

时间:2022-12-04 01:55:21浏览次数:56  
标签:Python 模型 TVM 编译 shape API model TVMC

本节将介绍针对 TVM 初学者设计的脚本工具。

开始前如果没有下载示例模型,需要先通过终端下载 resnet 模型:

cd myscripts/
mv resnet50-v2-7-frozen.onnx my_model.onnx

在myscripts目录下新建tvmcpythonintro.py

0、导入

from tvm.driver import tvmc

1、加载模型

将模型导入 TVMC。这一步将机器学习模型从支持的框架,转换为 TVM 的高级图形表示语言 —— Relay。这是为 TVM 中的所有模型统一起点。目前支持的框架:Keras、ONNX、TensorFlow、TFLite 和 PyTorch。

model = tvmc.load('my_model.onnx') # 第 1 步:加载

 

查看 Relay,可运行 model.summary()

所有框架都支持用 shape_dict 参数覆盖输入 shape。对于大多数框架,这是可选的;但对 PyTorch 是必需的,因为 TVM 无法自动搜索它。

model = tvmc.load('my_model.onnx', shape_dict={'data' : [1,3,224,224]}) #第一步: 加载 + shape_dict

推荐通过 netron 查看模型 input/shape_dict。打开模型后,单击第一个节点查看输入部分中的 name 和 shape。

2、编译

模型现在是用 Relay 表示的,下一步是将其编译到要运行的硬件(称为 target)。这个编译过程将模型从 Relay,翻译成目标机器可理解的底层语言。

编译模型需要一个 tvm.target 字符串。查看 文档 了解有关 tvm.targets 及其选项的更多信息。一些例子如下:

  1. cuda (英伟达 GPU)
  2. llvm (CPU)
  3. llvm -mcpu=cascadelake(英特尔 CPU)

(上面我理解的是编译到TVM运行时)

package = tvmc.compile(model, target="llvm") # 第 2 步:编译

编译完成后返回一个 package。

 

 

 

 

 

 

 

 

 

参考资料:

使用 TVMC Python 入门:TVM 的高级 API | Apache TVM 中文站 (hyper.ai)

 

标签:Python,模型,TVM,编译,shape,API,model,TVMC
From: https://www.cnblogs.com/xzit201802/p/16949288.html

相关文章

  • PYTHON 判断引用路径的类型
    PYTHON判断引用路径的类型如下方法,用于实现在不加载模块的前提下,判断某一个python引用路径是否存在,以及属于什么类型(模块目录,模块文件,类名).用于在一些不便......
  • AI人工智能-python
    AI概念语音合成可将文字信息转化为声音信息语音识别可将语音识别为文字百度ai平台页面熟悉              创建应用     ......
  • 【python】使用百度api进行音频文件转写
     【python】使用百度api进行音频文件转写脚本目标:智能云的音频文件转写文档只给了个demo,每次只能传1分钟以内的音频啥的,不好直接用,简单打包一下,做到把音频放文件夹,直......
  • python循环
    python学习1.for循环range()函数foriinrange(1,10):print(i)#输出为123456789该函数还可以制定步长如:foriinrange(1,10,2)即为以2为步长,在1到......
  • python报错 ModuleNotFoundError: No module named ‘win32api‘
    参考链接https://blog.csdn.net/weixin_43149311/article/details/120806116报错信息如下:ModuleNotFoundError:Nomodulenamed‘win32api‘解决方法参考1.重新......
  • 在linux虚拟机中运行python
    在linux虚拟机中运行python方法1:运用python指令运行一般情况linux系统会自动安装python所以在终端中输入python3就自动进入python的交互模式输入ctrl+z退出交互模式......
  • python推导式
    python推导式推导式是用一行式子来完成循环操作的语句,一般与for循环结合来使用。列表推导式公式[exprforvalueincollection[ifcondition]]例子对循环内元素......
  • Python基础之函数
    一、函数的作用函数就是将⼀段具有独⽴功能的代码块整合到⼀个整体并命名,在需要的位置调⽤这个名称即可完成对应的需求。函数在开发过程中,可以更⾼效的实现代码重⽤。二、......
  • Python处理PDF
    目录ReadinfoRotatePageMergePDFsSplitPDFsEncryptaPDFDecryptaPDFAddwatermarkreference:HowtoWorkWithaPDFinPythonreference:给PDF添加水印本文使......
  • 最大流,最小费最大流问题 python
    最大流,最小费最大流问题python徐少华算法设计与分析P145解题思路解题算法最小费用最大流:解法I步骤一:利用最大流算法,将网络的流量调整到最大流步骤二:构建......