编译 OneFlow 模型

本篇文章译自英文文档 Compile OneFlow Models¶ (https://tvm.apache.org/docs/how_to/compile_models/from_oneflow.html)
作者是 Xiaoyu Zhang
(https://github.com/BBuf/)
更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站
(https://tvm.hyper.ai/)
本文介绍如何用 Relay 部署 OneFlow 模型。
首先安装 OneFlow 包,可通过 pip 快速安装:
或参考官网:https://github.com/Oneflow-Inc/oneflow
目前 TVM 支持 OneFlow 0.7.0,其他版本可能不稳定。
输出结果:
加载和保存 OneFlow 的预训练模型
输出结果:
加载测试图像
还是用猫的图像:
将计算图导入到 Relay 中
将 OneFlow 计算图转换为 Relay 计算图,输入任意名称。
使用 Relay 构建
用给定的输入规范,将计算图编译为 llvm target。
输出结果:
在 TVM 上执行可移植计算图
接下来在 target 上部署编译好的模型:
输出结果:
查找分类集名称
在 1000 个类的分类集中,查找分数最高的第一个:
输出结果:
下载 Python 源代码:from_oneflow.py
(https://tvm.apache.org/docs/_downloads/f7ae979fbe61064749ce0fb7a621eb4c/from_oneflow.py)
下载 Jupyter Notebook:from_oneflow.ipynb
(https://tvm.apache.org/docs/_downloads/2e7b51cb39c472626dd3f046d9b89966/from_oneflow.ipynb)