研究生《模式识别与机器学习》课程 实践二)》 ANIST之昇思模型训练&异腾推理 全流程应用 ⊙ 1956
研究生《模式识别与机器学习》课程 (实践二) MNIST 之昇思模型训练&昇腾推理 全流程应用
二O二一年·秋 一、实验简介 此次实验的目的是将910服务器上训练的模型部署到Atlas200DK开发板上 进行测试。实验流程如下: 910服务器 200DK 训练lenet .air模型 scp atc转换 得到 你的电脑 业 .om模型 .ckpt模型文件 .air模型 convert.py 测试图片 scp 测试图片 scp .air模型 推理结果 1) 登录910服务器训练lenet模型,并将模型转换为.air格式。 2)登录200DK开发板将.air格式的模型转换为.om格式,并执行推理。 二、910训练模型 训练lenet模型,得到.ckpt格式的模型文件,将模型文件转化为.air格式。 2.1登录服务器训练lenet网络 见文档《【更新】华为Atlas800(型号9000)AI训练服务器使用及实践作业 说明》 2.2获取模型ckpt文件 模型训练完成后在同一个目录下有多个.ckpt模型文件
二〇二一年·秋 一、实验简介 此次实验的目的是将 910 服务器上训练的模型部署到 Atlas 200DK 开发板上 进行测试。实验流程如下: 1) 登录 910 服务器训练 lenet 模型,并将模型转换为.air 格式。 2) 登录 200DK 开发板将.air 格式的模型转换为.om 格式,并执行推理。 二、910 训练模型 训练 lenet 模型,得到.ckpt 格式的模型文件,将模型文件转化为.air 格式。 2.1 登录服务器训练 lenet 网络 见文档《【更新】华为 Atlas800(型号 9000)AI 训练服务器使用及实践作业 说明》 2.2 获取模型 ckpt 文件 模型训练完成后在同一个目录下有多个.ckpt 模型文件
drwxr-xr-x b wangyh HwHiAlUser 4096 Dec 7U8:307 drwxr-xr-x 27 wangyh HwHiAiUser 4096 Dec 4 14:42 wangyh HwHiAiUser 494180 Dec 4 14:32 checkpoint_lenet 1-101875.ckp wangyh HwHiAiUser 494180Dec 414:31 checkpoint_1enet_1-1_1875.ckpt wangyh HwHiAiUser 494180Dec 4 12:46 checkpoint_lenet-1 1875.ckpt wangyh HwHiAiUser 494180Dec 4 14:31 checkpoint lenet 1-2 1875.ckpt wangyh HwHiAiUser 494180Dec 414:31 checkpoint_1enet_1-3_1875.ckpt wangyh HwHiAiUser 494180 Dec 4 14:31 checkpoint lenet 1-4 1875.ckpt wangyh HwHiAiUser 494180 Dec 4 14:31 checkpoint lenet 1-51875.ckpt wangyh HwHiAiUser 494180Dec 4 14:31 checkpoint_lenet_l -61875.ckpt wangyh HwHiAiUser 494180Dec 414:31 checkpoint lenet 1-71875.ckpt wangyh HwHiAiUser 494180Dec 414:32 checkpoint lenet -81875.ckpt 1 wangyh HwHiAiUser 494180Dec 414:32 checkpoint lenet l -91875.ckpt wangyh HwHiAiUser 25319Dec 414:31 checkpoint_lenet_1-graph.meta wangyh HwHiAiUser 22097 Dec 4 12:46 checkpoint lenet-graph.meta drwxr- wangyh HwHiAiUser 20480 Dec 4 14:32 kernel meta/ -rw-r--r- wangyh HwHiAiUser 6716 Dec 619:52 lenet.py drwxr-xr-x 4 wangyh HwHiAiUser 4096 Dec 4 12:46 MNIST Data/ drwx- 2 wangyh HwHiAiUser 4096 Dec 4 14:32 somas meta/ drwxr-xr-x 3 wangyh HwHiAiUser 4096 Dec 412:46uti1s 选择其中一个,这里选择checkpoint lenet-ll875.ckpt 2.3模型转换 $HOME:自己的用户目录 需要将.ckpt模型转换为.air格式,参考下面这个网址: https://gitee.com/ascend/samples/tree/master/python/level2 simple inference/1 classification/lenet mindspore picture#https://gitee.com/ascend/modelzoo/tree/maste r/built-in/MindSpore/Official/cv/image classification/LeNet for MindSpore 在9l0自己的用户目录下使用git clone https:∥gitee.com/ascend/samples.git下 载samples文件,将scripts文件夹下的convert..py复制到上一次训练lenet的目录 下,scripts文件夹的目录为: $HOME/samples/python/level2 simple inference/1 classification/lenet mindsp ore_picture/scripts 上次训练lenet的目录为: $HOME/docs/docs/sample code/lenet 运行convert.py文件将.ckpt转换为mnist..air格式,此步骤需要改一下 convert.py文件,convert.py源码如下: Copyright (R)Ohuawei.com,all rights reserved -coding:utf-8 - 4 CREATED:2021-01-2020:12:13 n00 IFIED:2021-01-2914:04:45 鞋模 7 from mindspore.train.serialization import load_checkpoint,save_checkpoint,export 6 from src.lenet import Lelet5 import numpy as np 15 from mindspore import Tensor network LeNet5() 12 load_checkpoint("./checkpoint_lenet-1_1875,ckpt",network) input_data np.random.uniform(0.0,1.0,size [1,1,32,32]).astype(np.float32) 14 export(network,Tensor(input_data),file_name ='./mnist',file_format ='AIR') 把第8行改为: from lenet import LeNet5
选择其中一个,这里选择 checkpoint_lenet-1_1875.ckpt 2.3 模型转换 $HOME:自己的用户目录 需要将.ckpt 模型转换为.air 格式,参考下面这个网址: https://gitee.com/ascend/samples/tree/master/python/level2_simple_inference/1_ classification/lenet_mindspore_picture#https://gitee.com/ascend/modelzoo/tree/maste r/built-in/MindSpore/Official/cv/image_classification/LeNet_for_MindSpore 在910自己的用户目录下使用git clone https://gitee.com/ascend/samples.git 下 载 samples 文件,将 scripts 文件夹下的 convert.py 复制到上一次训练 lenet 的目录 下,scripts 文件夹的目录为: $HOME/samples/python/level2_simple_inference/1_classification/lenet_mindsp ore_picture/scripts 上次训练 lenet 的目录为: $HOME/docs/docs/sample_code/lenet 运行 convert.py 文件将 .ckpt 转换为 mnist.air 格式, 此步骤需要改一下 convert.py 文件,convert.py 源码如下: 把第 8 行改为: from lenet import LeNet5
运行python convert.py将checkpoint lenet--l1875.ckpt转换为mnist.air,转 换后结果见下图,目录中出现mnist.air则转换成功。 wangyh@ubuntu-Ascend910B: /docs/docs/sample_code/lenet$python convert.py wangyhubuntu-Ascend910B:/docs/docs/sample_code/lenet$11 total 5688 drwxr-xr-x wangyh HwHiAiUser 4096Dec715:16 drwxr-xr-x 27 wangyh HwHiAiUser 4096 Dec 414:42. -------- wangyh HwHiAiUser 494180 Dec 4 14:32 checkpoint lenet 1-10 1875.ckpt wangyh HwHiAiUser 494180 Dec 414:31 checkpoint lenet 1-1 1875.ckpt wangyh HwHiAiUser 494180 Dec 412:46 checkpoint_1enet-1_1875.ckpt wangyh HwHiAiUser 494180Dec 414:31 checkpoint lenet 1-2 1875.ckpt wangyh HwHiAiUser 494180Dec 414:31 checkpoint_1enet_1-3_1875.ckpt wangyh HwHiAiUser 494180 Dec 414:31 checkpoint lenet 1-4 1875.ckpt wangyh HwHiAiUser 494180Dec 414:31 checkpoint lenet 1-5 1875.ckpt wangyh HwHiAiUser 494180Dec 414:31 checkpoint lenet 1-6 1875.ckpt wangyh HwHiAiUser 494180Dee 414:31 checkpoint_1enet_1-7_1875.ckpt wangyh HwHiAiUser 494180Dec 414:32 checkpoint lenet -81875.ckpt wangyh HwHiAiUser 494180Dec 414:32 checkpoint lenet -91875.ckpt wangyh HwHiAiUser 25319Dec 414:31 checkpoint_lenet_1-graph.meta wangyh HwHiAiUser 22097 Dec 4 12:46 checkpoint lenet-graph.meta wangyh HwHiAiUser 548 Dec 15:16 convert.py drwxr- 2 wangyh HwHiAiUser 20480Dec 414:32 kernel meta/ wangyh HwHiAiUser 6716 Dec 619:52 lenet.py wangyh HwHiAiUser 259515Dec 7 15:16 mist.air drwxr-xr-x 4 wangyh HwHiAiUser 4096 Dec 4 12:46 MNIST Data/ drwxr-xr-x wangyh HwHiAiUser 4096 Dec 15:16 pycache Qrwx------ wangyh HwHiAiUser 4096 Dec 414:32 drwxr-xr- 3 wangyh HwHiAiUser 4096 Dec 412:46 utils. 2.4模型下载到本地 OSTC 目前模型在910上,用scp命令把它下载到自己电脑上。 在自己的电脑上打开powershell,或者Linux的shell.执行命令: scp-P9025用户名@localhost:$HOME/docs/docs/sample code/lenet/mnist..airE:∥ 上述命令将910上的mnist..air文件下载自己的电脑上的E盘。 三、200DK推理 使用200DK开发板进行图片推理,还是参考这个网址: https://gitee.com/ascend/samples/tree/master/python/level2 simple inference/1 classification/lenet mindspore picture#https://gitee.com/ascend/modelzoo/tree/maste r/built-in/MindSpore/Official/cv/image classification/LeNet for MindSpore 3.1登录200DK开发板。 端口映射(三选一): ssh-fNL9024:192.168.0.14:22prml@113.54.160.253 ssh-fNL9024:192.168.0.15:22pml@113.54.160.253 ssh-fNL9024:192.168.0.16:22pml@113.54.160.253
运行 python convert.py 将 checkpoint_lenet-1_1875.ckpt 转换为 mnist.air,转 换后结果见下图,目录中出现 mnist.air 则转换成功。 2.4 模型下载到本地 目前模型在 910 上,用 scp 命令把它下载到自己电脑上。 在自己的电脑上打开 powershell,或者 Linux 的 shell.执行命令: scp -P 9025 用户名@localhost:$HOME/docs/docs/sample_code/lenet/mnist.air E:// 上述命令将 910 上的 mnist.air 文件下载自己的电脑上的 E 盘。 三、200DK 推理 使用 200DK 开发板进行图片推理,还是参考这个网址: https://gitee.com/ascend/samples/tree/master/python/level2_simple_inference/1_ classification/lenet_mindspore_picture#https://gitee.com/ascend/modelzoo/tree/maste r/built-in/MindSpore/Official/cv/image_classification/LeNet_for_MindSpore 3.1 登录 200DK 开发板。 端口映射(三选一): ssh -fNL 9024:192.168.0.14:22 prml@113.54.160.253 ssh -fNL 9024:192.168.0.15:22 prml@113.54.160.253 ssh -fNL 9024:192.168.0.16:22 prml@113.54.160.253
密码:17881151 登录200DK开发板:ssh-p9024 student id@localhost密码:学号 3.2下载源码包 cd $HOME git clone https://gitee.com/ascend/samples.git 3.3模型转换 将.air格式的模型转换为适合310的.om模型。 在310用户目录创建“models”目录存放自己在910训练的模型,以及网上别 人提供的。 Hrwxrwxr-x 4 HwHiAiUser HwHiAiUser 4096 Dec 612:35 rwxr-xr-x 14 HwHiAiUser HwHiAiUser 4096 Dec 701:08 Hrwxrwxr-x HwHiAiUser HwHiAiUser 4096 Dec 612:52910 train/ drwxrwxr-x 3 HwHiAiUser HwHiAiUser 4096 Dec 6 12:50 download/ wHiAiUser@davinci-mini-4:/models$pwd home/HwHiAiUser/models HwHiAiUser@davinci-mini-4:/models$ 使用scp命令将自己电脑上的air模型传到310,如下: scp-P 9024-r.\mnist.air HwHiAiUser@localhost:/home/HwHiAiUser/models/910train/ 这里将自己电脑上存放的910训练的.air文件上传到开发板上。 到模型所在目录,执行atc转换命令: atc--framework=1--model=mnist.air--output=mnist--soc version=Ascend310 堆[warning]后,出现atc run success,模型转换成功,目录中出现.om模型。 HwHiAiUser@davinci-mini-4:/models/910train$11 total 528 drwxrwxr-x 3 HwHiAiUser HwHiAiUser 4096Dec703:00,/ drwxrwxr-x 4 HwHiAiUser HwHiAiUser 4096Dec 612:35 HwHiAiUser HwHiAiUser 799 Dec 7 03:00 fusion result.json drwxr-x--- HwHiAiUser HwHiAiUser 4096 Dec 7 03:00 kernel_meta/ 1 HwHiAiUser HwHiAiUser 259515 Dec 6 12:40 mnist.air -W-------1 HwHiAiUser HwHiAiUser 251636 Dec 7 03:00 mnist.om 将转换后的模型放到下载的sample文件中: cp./mnist.om $HOME/samples/python/level2 simple inference/1 classification/lenet mindspore_p icture/model/ 3.4运行测试 下载测试的图片,放到该目录下: cd $HOME/samples/python/level2 simple inference/1_classification/lenet_mindspore_p
密码:17881151 登录 200DK 开发板:ssh -p 9024 student_id@localhost 密码:学号 3.2 下载源码包 cd $HOME git clone https://gitee.com/ascend/samples.git 3.3 模型转换 将.air 格式的模型转换为适合 310 的.om 模型。 在 310 用户目录创建“models”目录存放自己在 910 训练的模型,以及网上别 人提供的。 使用 scp 命令将自己电脑上的 air 模型传到 310,如下: scp -P 9024 -r .\mnist.air HwHiAiUser@localhost:/home/HwHiAiUser/models/910train/ 这里将自己电脑上存放的 910 训练的.air 文件上传到开发板上。 到模型所在目录,执行 atc 转换命令: atc --framework=1 --model=mnist.air --output=mnist --soc_version=Ascend310 一堆[warning]后,出现 atc run success,模型转换成功,目录中出现.om 模型。 将转换后的模型放到下载的 sample 文件中: cp./mnist.om $HOME/samples/python/level2_simple_inference/1_classification/lenet_mindspore_p icture/model/ 3.4 运行测试 下载测试的图片,放到该目录下: cd $HOME/samples/python/level2_simple_inference/1_classification/lenet_mindspore_p
icture/data 可以把他提供的测试图片下载到电脑上,再传过去。 t切换目录,运行命令:python3src/classify..py./data/ pictures python3 src/classify.py./data ut dataset: output 0,size 40 ate model output dataset success ignore this file and continue ost process 978 A72 dence: 13 102834 1+ ====== context UeSTC 49 1956
icture/data 可以把他提供的测试图片下载到电脑上,再传过去。 切换目录,运行命令: python3 src/classify.py ./data/