教程# TVM 环境配置 前端模型 MXNET 前端模型 从 mxnet gluon 模型动物园下载模型 编译 Graph 在 TVM 上执行可移植 Graph 使用带有预训练权重的 MXNet Symbol TensorFlow 前端 Tensorflow1 前端 Tensorflow(pb) 转 ONNX Tensorflow 前端之 TF-slim TensorFlow1 推理 升级 TF1 为 TF2 检查点迁移 SavedModel TensorFlow 1:保存和导出 SavedModel TensorFlow 2:保存和导出 SavedModel 保存并导出使用 Keras 定义的 SavedModel 加载 SavedModel TensorFlow 1:使用 tf.saved_model.load 加载 SavedModel TensorFlow 2:加载使用 tf.saved_model 保存的模型 TensorFlow1 pb 推理 TensorFlow2 推理 TensorFlow2 Keras 推理 转换为 ONNX 模型 转换为 TFLite 模型 PyTorch 前端 原语库 深度学习框架是如何提供灵活性的? PyTorch 量化 ONNX 前端 ONNX 概述 访问 ONNX graph 序列化与反序列化 初始化器与默认值 节点属性 评估与运行时 评估节点 逐步评估 评估自定义节点 ONNX Runtime 概述 PyTorch 翻译为 ONNX ONNX 模型精简 ONNX GatherND onnx L2 范数 torch2onnx:Scatter ScatterElements onnx ScatterND torch2onnx SequenceConstruct torch转ONNX:Unsqueeze torch转ONNX:Upsample BN+conv onnx conv+reshape torch.Tensor.expand() 转换 onnx flatten torch 索引转换 torch.Tensor.repeat() 转换 Resize torch 切片转换 torch转ONNX:split ONNX Script ONNX Script 简介 ONNX Script 尝鲜 ONNX Script 即时评估模式 ONNX Script 教程 ONNX Script 基础特性 ONNX Script 省略可选输入 ONNX Script 指定属性参数值 ONNX Script 指定张量常量 ONNX Script 语义:脚本常量 ONNX Script 指定函数的形式属性参数 ONNX Script 属性参数自动提升为值 ONNX Script 常量值的自动类型转换 ONNX Script 索引和切片 ONNX Script 控制流 ONNX Script 条件语句 ONNX Script 循环 ONNX Script 编码高阶算子:扫描 ONNX Script GELU ONNX Script chunk 扩展 ONNX 注册表 不受支持的 ATen 算子 具有现有 ONNX Runtime 支持的自定义算子 没有 ONNX Runtime 支持的自定义算子 在 PyTorch FX 图中注册自定义算子(Beta) 在 ONNX 注册表中注册自定义算子 在 ONNX Runtime 中注册自定义算子 ONNX Script 生成 FunctionProto 生成 ModelProto 生成 LibProto ONNX Script 急切模式评估 ONNX ModelProto 属性 ONNX Script 模型本地函数 ONNX Script 模式匹配 ONNX Script 模式重写 重写模式 构建规则 ONNX Script 模型优化 ONNX Script optimizer Caffe 前端 Caffe 简介 PyTorch Relax 前端 TVM Pass 动态转静态 reshape 动转静 squeeze 动转静 tile 动转静 topk 动转静 broadcast_to 动转静 zeros_ones 动转静 resize2d 动转静 one_hot 动转静 full 动转静 upsampling 动转静 upsampling3d 动转静 pad 动转静 strided_slice 动转静 dense 动转静 rank 动转静 if 动转静 Roofline Model 测试 Roofline 模型 estimate_peak_flops_cpu estimate_peak_flops_gpu estimate_peak_bandwidth_cpu estimate_peak_bandwidth_gpu roofline_analysis PAPI PAPI 简介 部署入门 部署 TVM 模块 TVM 构建 Relay 构建 获取目标源码 Python 端部署 C++ 部署 方式 A 方式 B Relay 部署 量化 relay 定点乘法(C++) 定点乘法 relay 定点乘法 relay 逐通道定点乘法 解构 TVM 量化 自定义 TVM 自动量化 定义融合规则 为融合函数添加 QPartitionExpr 算子 消除计算图中的函数表达式 注解计算图 模拟量化 量化实现 测试 TVM 量化 重写 Relay 函数 DFPatternCallback 替换加法为减法 计算图分割 多节点编译 编译外部库 注解白名单 其他外部编译器支持 函数 lifting 注解常量折叠 多输出 计算图分割(old) mixed_single_multiple_outputs multiple_use_of_an_output VTA 教程 VTA Demo VTA 测试 MSC MSC 简介 动机 指南级解释 MSCGraph RuntimeManager MSCTools MSCProcessor MSCGym 参考级解释 核心概念: 编译过程: 模型翻译 MSCGraph 与 PyTorch 模型互转 转换为 relay 转换为 relax 翻译 Relay 代码 conv2d 翻译 PyTorch 代码 conv1d TVM 测试 ONNX 前端测试