二、环境准备在进行实验之前需要配置好远端Linux服务器并下载安装MindStudio 。
首先在Linux服务器上安装部署好Ascend-cann-toolkit开发套件包、Ascend-cann-tfplugin框架插件包和TensorFlow 1.15.0深度学习框架 。之后在Windows上安装MindStudio,安装完成后通过配置远程连接的方式建立MindStudio所在的Windows服务器与Ascend-cann-toolkit开发套件包所在的Linux服务器的连接,实现全流程开发功能 。
接下来配置环境变量,以运行用户登录服务器,在任意目录下执行vi ~/.bashrc命令,打开.bashrc文件,在文件最后一行后面添加以下内容(以非root用户的默认安装路径为例) 。

文章插图
然后执行: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文件,修改如下(以下行数仅为示例,请以实际为准):
【MindStudio模型训练场景精度比对全流程和结果分析】注释掉第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文件,存储路径为训练脚本所在目录 。
经验总结扩展阅读
- 创业者如何训练管理能力?
- JVM学习笔记——内存模型篇
- LabVIEW+OpenVINO在CPU上部署新冠肺炎检测模型实战
- 世界十大最易训练的狗排行榜
- predator-prey model OpenFOAM 编程 | 求解捕食者与被捕食者模型问题(ODEs)
- 概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程 Linux--网络基础
- 三 Linux--多线程
- Hugging Face发布diffuser模型AI绘画库初尝鲜!
- 推广TrustAI可信分析:通过提升数据质量来增强在ERNIE模型下性能
- 洛克王国水晶犬的训练怎么个玩法