1.在本地运行LeNet

第一步:从gitee(链接:https://gitee.com/lai-pengfei/LeNet )上下载LeNet代码并解压到本地;

tensorflow 笔记_开发语言

第二步:安装tensorflow1.15环境

首先需要保证自己电脑上安装了Anaconda

打开Anaconda Prompt

先创建新环境:

conda create -n tensorflow1.15.0 python=3.6

出现如下界面后按y,再回车

tensorflow 笔记_python_02


创建成功之后输入如下指令激活环境:

conda activate tensorflow1.15.0

接着输入以下指令安装tensorflow1.15.0
注意:系统会默认安装cpu版本,但是运行LeNet已足够,如果需要GPU环境可自行百度

pip install tensorflow==1.15

第三步:将原代码Train.py中的

import tensorflow.examples.tutorials.mnist.input_data as input_data

改为:

from tensorflow.examples.tutorials.mnist import input_data

第四步:切换到代码所在目录,并运行指令:

python Train.py

tensorflow 笔记_tensorflow 笔记_03


20000步的运行结果:

tensorflow 笔记_pycharm_04

2.准备工作

第一步:在Windows下安装Pycharm软件和下载Pycharm toolkit插件,最新版本Pycharm toolkit插件下载和安装可查看官网教程:https://support.huaweicloud.com/tg-modelarts/modelarts_15_0003.html

第二步:在我的凭证中查看并新增访问密钥,新增时一定要把密钥下载下来,里面包含了用户名,AK和SK

tensorflow 笔记_python_05


下载下来的访问密钥:

tensorflow 笔记_开发语言_06


第三步:在Pycharm使用访问密钥登录Modelarts

过程比较简单,不会的可以参考:https://support.huaweicloud.com/tg-modelarts/modelarts_15_0005.html

第四步:下载OBS Browser+:下载地址 下载完成之后用我们第二步下载的AK和SK登录即可

第五步:创建桶

tensorflow 笔记_开发语言_07


例如我的桶为cann-campus

打开桶,之后再新建如下图所示的两个文件夹:

tensorflow 笔记_tensorflow 笔记_08


其中dataset用于上传MNIST_data数据集:

tensorflow 笔记_tensorflow 笔记_09

ckpt用来保存训练结果(ckpt文件夹暂时空着就行)

3.修改训练脚本以支持昇腾Ai处理器上运行(模型迁移)

(参考自:https://bbs.huaweicloud.com/blogs/264500 )

第一步:在头文件添加:

from npu_bridge.npu_init import *

第二步

现在数据集在OBS里面,所以使用moxing,将数据集从OBS拷贝到ModelArts环境里面:

tensorflow 笔记_python_10


红色框主的为需要添加的代码,黄色线标注的路径需要根据自己的路径修改

此处专为懒人提供可复制代码:

import moxing as mox

    mox.file.copy_parallel(src_url="obs://cann-campus/dataset/MNIST_data/",dst_url="MNIST_data")

第三步

sess = tf.Session()

改为这段代码即可:

config = tf.ConfigProto()
custom_op = config.graph_options.rewrite_options.custom_optimizers.add()
custom_op.name = "NpuOptimizer"
config.graph_options.rewrite_options.remapping = RewriterConfig.OFF  # 必须显式关闭remap
sess = tf.Session(config=config)

第四步

增加一行拷贝语句将checkpoint目录全部拷贝过来到OBS

tensorflow 笔记_pycharm_11


红色框主的为需要添加的代码,黄色线标注的路径需要根据自己的路径修改

此处专为懒人提供可复制代码:

mox.file.copy_parallel(src_url="checkpoint/", dst_url="obs://cann-campus/ckpt")

4.在昇腾Ai处理器上运行LeNet

tensorflow 笔记_python_12


第1处:为本次Job的名称,可自行设置

第2处:和图中一样即可

第3处:根据自己迁移后的脚本所在文件路径,自行修改

第4处:OBS的路径,与准备工作第五步有关。需要注意的是:需要把路径中的 obs:/ 删掉

第5处:保持不动即可最后点击 APPLY AND RUN 就可以运行了

运行结果:

tensorflow 笔记_tensorflow_13