
文章插图
然后执行:wq!命令保存文件并退出 。
最后执行source ~/.bashrc命令使其立即生效 。
关于MindStudio的具体安装流程可以参考Windows安装MindStudio(点我跳转),MindStudio环境搭建指导视频(点我跳转) 。MindStudio官方下载地址:点我跳转 。
本文教程基于MindStudio5.0.RC2 x64 , CANN版本5.1.RC2实现 。
三、准备基于GPU运行生成的原始训练网络npy数据文件3.1 获取项目代码本样例选择resnet50模型 , 利用git克隆代码(git clone -b r1.13.0 https://github.com/tensorflow/models.git),下载成功后如下图所示:

文章插图
3.2 生成数据前处理数据比对前,需要先检查并去除训练脚本内部使用到的随机处理,避免由于输入数据不一致导致数据比对结果不可用 。
编辑resnet_run_loop.py文件,修改如下(以下行数仅为示例,请以实际为准):
注释掉第83、85行

文章插图
注释掉第587~594行

文章插图
第607行,修改为“return None”

文章插图
编辑cifar10_main.py文件,将train_epochs的值改为1 。

文章插图
3.3 生成npy文件进入训练脚本所在目录(如“~/models/official/resnet”) , 修改训练脚本,添加tfdbg的hook 。编辑resnet_run_loop.py文件,添加如下加粗字体的信息 。

文章插图
配置环境变量

文章插图
执行训练脚本

文章插图
训练任务停止后,在命令行输入run,训练会往下执行一个step 。

文章插图
执行lt>gpu_dump命令将所有tensor的名称暂存到自定义名称的gpu_dump文件里 。命令行中会有如下回显 。

文章插图
另外开启一个终端,在linux命令行下进入gpu_dump文件所在目录,执行下述命令,用以生成在tfdbg命令行执行的命令 。
timestamp=$[$(date +%s%N)/1000] ; cat gpu_dump | awk '{print "pt",$4,$4}' | awk '{gsub("/", "_", $3);gsub(":", ".", $3);print($1,$2,"-n 0 -w "$3".""'$timestamp'"".npy")}'>dump.txt
将上一步生成的dump.txt文件中所有tensor存储的命令复制(所有以“pt”开头的命令),然后回到tfdbg命令行(刚才执行训练脚本的控制台)粘贴执行,即可存储所有的npy文件,存储路径为训练脚本所在目录 。

文章插图

文章插图
退出tfdbg命令行,将生成的npy文件保存到tf_resnet50_gpu_dump_data(用户可自定义)目录下 。

文章插图
四、准备基于NPU运行生成的训练网络dump数据和计算图文件4.1 分析迁移单击菜单栏“File > New > Project...”弹出“New Project”窗口 。

文章插图
在New Project窗口中,选择Ascend Training 。输入项目的名称、CANN远程地址以及本地地址 。点击Change配置CANN,如下图所示:

文章插图
- Name:工程名称,可自定义 。
- Description:工程描述,可按需补充关于工程的详细信息 。
- CANN Version:CANN软件包版本,如未识别或想要更换使用的版本 , 可单击“Change”,在弹出界面中选择Ascend-cann-toolkit开发套件包的安装路径(注意需选择到版本号一级) 。
- Project Location:工程目录,默认在“$HOME/AscendProjects”下创建 。

文章插图
推荐阅读
- JVM学习笔记——内存模型篇
- LabVIEW+OpenVINO在CPU上部署新冠肺炎检测模型实战
- 京东云开发者|软件架构可视化及C4模型:架构设计不仅仅是UML
- predator-prey model OpenFOAM 编程 | 求解捕食者与被捕食者模型问题(ODEs)
- 概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程 Linux--网络基础
- 三 Linux--多线程
- Hugging Face发布diffuser模型AI绘画库初尝鲜!
- 推广TrustAI可信分析:通过提升数据质量来增强在ERNIE模型下性能
- 洛克王国水晶犬的训练怎么个玩法
- Pytorch模型量化