×
分享到微信

打开微信,使用扫一扫进入页面后,点击右上角菜单,

点击“发送给朋友”或“分享到朋友圈”完成分享

【开发者学院】MagicMind系列课程上新~(本文附课后小练习答案) 三叶虫2022-09-08 17:47:55 回复 查看 社区交流
【开发者学院】MagicMind系列课程上新~(本文附课后小练习答案)
分享到:

image.png


MagicMind系列课程涵盖系统性概述、模型生成、模型部署(共4节),帮助大家理解 MagicMind 背景、总体架构、工作原理以及如何生成、部署等

以下为课程对应的课后答案:


 

《MM系统性概述》课后答案


Q1: MagicMind是什么?
A1: MagicMind 是
向寒武纪 MLU的推理加速引擎。

 

Q2: MagicMind能做什么?

A2: MagicMind能将深度学习框架训练好的算法模型转换成 MagicMind 统计算图表,并提供端到端的模型优化、代码成以及推理业务部署。

 

Q3: MagicMind有哪些优势?

A3:主要有以下3点优势:

1性能、灵活、易的编程接以及配套具,让⽤⼾能够专注于推理业务开发和部署本⽽⽆需过多关注底层硬件细节。

2)单模型可以兼容多个平台,这是TensorRT 单个engine做不到的。

3)易用,表达能力强,高性能,支持多后端、跨平台

 

Q4: MagicMind当前支持哪些框架模型或格式?
A4: Caffe、Tensorflow、Onnx、PyTorch。

 

Q5: MagicMind工作原理包含哪三个部分?
A5: 创建网络、生成模型、部署模型。

 

《MagicMind模型生成-框架解析》课后答案


Q1、请回顾基于框架解析的MagicMind模型生成的流程?

A1、首先创建一个空网络,接下来创建parser对象,设置输入数据类型,调用parser的parse方法导入开源框架的原始模型。   再创建builder,builder是网络优化器和模型生成器,负责将network转化成可序列化、可部署的模型,创建builder之后,可以选择是否需要需要创建builderconfig来配置模型生成选项,最后生成模型。


Q2、对于LeNet,各开源框架parse出来的MagicMind模型结构有没有不同?

A2、没有不同,模型结构都是一样的


Q3、使用模型转换工具转换模型时怎样设置输入的shape?

A3、添加参数—input_dims


Q4、mm_build的用途?

A4、解析开源框架模型并生成对应的 MagicMind 模型

 

 

《MagicMind模型生成-逐层构建》课后答案

 

Q1、MagicMind 逐层构建的优势有哪些?

A1、主要有三点:①自定义开源框架模型可以使用MagicMind 后端;②可直接修改和调整模型,灵活性强;③遇到不支持的的算子可以直接在MagicMind 框架中添加并调用

 

Q2、思考怎样在 MagicMind 网络中添加 conv2d 算子的权重?

A2、首先使用开源框架模型读取并保存权重成txt或二进制文件,然后在MagicMind的代码中加载该权重文件。

 


《MagicMind模型部署》课后答案

 

Q1: Engine是否可以在Context销毁之前销毁?
A1: 不可以。

 

Q2: 简单描述多卡单模型编程模型?

A2: 将单个模型部署到同一台主机的多个MLU设备上,以实现数据并行。用户可以用同一个模型创建不同的引擎实例来将同一模型部署到多个设备上,每个引擎所生成的IContext也应用在对应的设备上。不可以用同一个引擎创建不同的IContext实例部署到不同的设备上。

 

Q3: mm_run提供了哪些功能?

A3: 性能测试,性能分析,精度验证。

 




版权所有 © 2022 寒武纪 Cambricon.com 备案/许可证号:京ICP备17003415号-1
关闭