【CANN第四期训练营】小作业解析篇
第一次课作业解析
顺序:
按照数据读取阶段、数据预处理阶段、训练执行阶段、训练后处理阶段的顺序来debug
另:性能不达标的排查顺序框图
手段:
数据读取阶段:
1、通过linux资源监测命令,如top、mpstat、free、iostat等来监测资源情况
2、通过磁盘管理基本操作(df、du、fdisk)来进行磁盘管理;
3、了解大批量数据读取的通用策略,缓存和多进程高并发的解决方案;
4、使用多进程CPU绑核
数据预处理阶段:
处理步骤:HOST内存读出->训练数据处理->DEVICE内存读出
使用prefetch来调整HOST和DEVICE执行函数的比例
训练执行阶段:
调优手段:
NPU亲和API替换、Profiling工具
训练后处理阶段:
checkpoint保存:减少保存频次,尽可能减少DEVICE和HOST的交互
训练过程中summary数据的保存:NPU训练对原始summary的兼容不友好,故涉及这类的API可以注释掉。
第二次课作业解析
(首先晒一张当时自己写的作业图)
第一题:
TBE负责加载算子原型库和自定义算子插件。
原因:
如图可以看出TBE具有调度环节,根据官方文档可以看出其功能。
官方文档:https://support.huaweicloud.com/odevg-Inference-cann/atlaste_10_0013.html
第二题:
根据官方文档:https://support.huaweicloud.com/odevg-training-cann/atlaste_10_0101.html
可以看出 文档中没有约束要求一定要含有算子实现函数,故选B
第三题:
参考官方文档:https://support.huawei.com/enterprise/zh/doc/EDOC1100191915/d288908e
可以得出答案选B
第四题:
参考官方文档中的说明:https://support.huaweicloud.com/odevg-A800_3000_3010/atlaste_10_0092.html
可以看出并未提到要求CANN有关的算子类型,故选A
第五题:
参考官方文档中加粗的话:https://support.huaweicloud.com/tbedevg-cann503alpha1infer/atlaste_10_0085.html
可以得出答案选D。
第三次课作业解析
首先说一下答案:1B 2A 3D(x和filter) 4C 5B
第一题:
如果都是一样的,那就不用辛苦做适配了!(奖品直接就是我的了嘿嘿嘿哈哈哈)
第二题:
参考aclopExecuteV2接口官方文档:https://support.huaweicloud.com/aclcppdevg-cann503alpha1infer/atlasapi_07_0113.html
可以看出全文没有提到需要提前准备om文件。
第三题:
A:PyTorch二维卷积函数 torch.nn.Conv2d() 有一个“padding_mode”的参数,可选项有4种:‘zeros’, ‘reflect’,
‘replicate’ or ‘circular’,其默认选项为’zeros’,也就是零填充,故A错误,不是必选而是可选。
D:两个必选属性为x和filter。
第四题:
没啥好说的,三短一长选最长(bushi)
可以查阅AscendCL官方文档,结合第三次课录屏得出答案。
第五题:
在官方文档中可以找到CANN的分析工具为Profilling。
- 点赞
- 收藏
- 关注作者
评论(0)