TVM、Openvino、TNN、NCNN前向推理
框架使用心得
仅是个人开发过程中的一些心得, 不同的开发者应该有不同意见,当然我可能会有一些理解程度不够深入的地方,希望各位指正批评.
一共五分,★★★☆☆表示得三分,其中"-"表示接触的不多,无法提供相关的使用心得
最近在看深度学习编译器相关的工作,其中FlexTensor给我留下了比较深刻的印象,加上这项工作是开源的,所以想看看这份工作的源码。首先是怎么把工程跑起来,FlexTensor倚仗TVM做代码生成,所以首先得安装TVM。
首先给出官方网站的安装教程TVM安装流程-从源码安装,最好的安装步骤就是从上面一步步来,正如教程所说,整个安装过程分两个大步骤:
1.从C++代码构建共享库
2.安装语言支持
首先是获取源码到本地并解压:
在写这篇文章时,tvm源码的版本是v0.8.0,下载下来解压之就可以了,我使用的是W
二、怎么解决
编译器对多种语言的适配问题
(1)解决方法:把
编译器抽象的分为
编译器前端,
编译器中端,
编译器后端,并引入
•
编译器前端:接收C/C++/Java等不同语言,进行代码生成,吐出IR
•
编译器中端:接收IR,进行不同
编译器后端可以共享的优化,如常量替换
Compile Keras Models
本文是介绍如何使用Relay部署keras0x0. 介绍
大家好呀,在过去的半年到一年时间里,我分享了一些算法解读,算法优化,模型转换相关的一些文章。这篇文章是自己开启学习深度学习编译器的第一篇文章,后续也会努力更新这个系列。这篇文章是开篇,所以我不会具体讲解TVM的知识,更多的是介绍一下我自己眼中的深度学习编译器是什么?以及为什么我要选择学习TVM,最后我也会给出一个让读者快速体验TVM效果的一个开发环境搭建的简要教程。
0x1. 为什么需要深度学习编译器?
深度学习编译器这个词语,我们可以先拆成两个部分来看。
首先谈谈深度学习领域。从训练框架角