随笔分类 - 模型压缩与部署
分为两块内容:模型压缩(包括知识蒸馏、剪枝、量化等)和模型部署(包括神经网络编译器等)
摘要:编译原理概述 编译,就是一个把源代码变成目标代码的过程。 如果源代码编译后直接在操作系统上运行,那目标代码就是汇编代码,再通过汇编和链接的过程形成可执行文件,然后通过加载器加载到操作系统里执行 如果编译后在解释器中执行,那目标代码就可以不是汇编代码,而是一种解释器可以理解的中间形式的代码即可。 编译
阅读全文
摘要:元张量函数 上一节:机器学习编译 -- 什么是机器学习编译 和官方文档:概述介绍机器学习编译的过程可以被看作张量函数之间的变换。一个典型的机器学习的执行包含许多步将输入张量之间转化为最终预测的计算步骤,其中的每一步都被称为元张量函数(primitive tensor function) 元张量函数:
阅读全文
摘要:在阅读TVM源码时,发现了*.pyi文件,里面的函数没有具体的实现,都诸如如下的形式,感到很疑惑。 @overload def getattr(__o: object, __name: str, __default: _T) -> Any | _T: ... def globals() -> dic
阅读全文
摘要:在阅读tvm 前端代码时发现了诸如from ... import nd as _nd/from .. import analysis之类的代码,因长时间未接触python,感到格外好奇 参考:PEP 328 – Imports: Multi-Line and Absolute/Relative 官方
阅读全文
摘要:在本节,将介绍与TVMC相同的知识,但展示的是如何使用Python API来完成它。完成本节后,我们将使用适用于 TVM 的 Python API 来完成以下任务: 为TVM Runtime编译预训练的ResNet-50 v2模型 通过编译的模型运行真实图像,并解释输出和模型性能。 使用TVM在CP
阅读全文
摘要:TVMC介绍 TVMC,是TVM的命令行驱动程序,TVMC是一种通过命令行界面公开TVM功能的工具,例如uto-tuning/compiling/profiling和通过命令行接口运行模型 在完成本节内容后,将使用 TVMC 来完成以下任务: 为 TVM 运行时编译预训练 ResNet-50 v2
阅读全文
摘要:上一讲,对OpenPPL进行了介绍,以及通过官方文档,学习了它的python与C++的操作流程,以及如添加新的引擎与Op算子. 本节,将通过阅读代码通过UML梳理操作流程以及类之间的相互关系 src地址为:https://github.com/openppl-public/ppl.nn 一 流程时序
阅读全文
摘要:OpenPPL OpenPPL是商汤基于自研高性能算字库的开源深度学习推理平台,能够让人工智能应用高效可靠地运行在现有的CPU/GPU等计算平台上,为云端场景提供人工智能推理服务 OpenPPL基于全自研高性能算子库,拥有极致调优的性能,同时提供云原生环境下的 AI模型多后端部署能力,并支持Open
阅读全文
摘要:机器学习编译课程主要由华盛顿大学计算机系博士生 -- 陈天奇博士讲授,在读博期间,先后带领团队打造了模块化深度学习系统NNVM(2016年)和深度学习编译器TVM(2017年),共同组成了深度学习到各种硬件的完整优化工具链。 英文课程主页 https://mlc.ai/summer22/ 中文课程主
阅读全文
摘要:轻量化网络已经是一个热点,主要的技术路线如下: 1、压缩已经训练好的大模型:知识蒸馏、剪枝(权重剪枝、通道剪枝)、权值量化、注意力迁移 2、重新设计轻量化模型:SqueezeNet、MobileNet系列、ShuffleNet系列、EfficientNet、EfficientDet等 3、加速卷积运
阅读全文

浙公网安备 33010602011771号