张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(13)尝试昇思跑LeNet-1

举报
张辉 发表于 2022/04/26 20:06:23 2022/04/26
【摘要】 Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4+MindSpore 1.6.1

十三、在Atlas 200DK上使用MindSpore训练LeNet网络

手写数字识别LeNet是深度学习最简单入门的神经网络。一般拿它来入门AI框架最合适不过了。我们来试一下,看看如何在200DK上跑LeNet:


1、下载models代码仓

git clone https://gitee.com/mindspore/models.git


2、准备MNIST数据集

cd models/official/cv/lenet

mkdir MNIST

mkdir ckpt

cd MNIST

下载MNIST数据集:

wget http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz

wget http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz

wget http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz

wget http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz

按照README指定的方式解压:

gzip -d *.gz

mkdir train

mkdir test

mv train*ubyte train/

mv t10k* test/

sudo apt install tree

tree 查看目录结构:


3、训练LeNet网络

cd ..

开始训练:

python train.py --data_path=./MNIST/ --device_target="Ascend" --ckpt_path=./ckpt

报语法错误。

检查一下:

原来200DK的python缺省是Python2版本,print语句不支持 flush=True这种语法。

那就换成python3试一下:

没装yaml,那就装一下pyyaml

python3 -m pip install pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simple

这里一开始没有使用 --user,所以报权限错误,后来增加--user参数安装成功。

重新训练:

python3 train.py --data_path=./MNIST/ --device_target="Ascend" --ckpt_path=./ckpt

报错如下:

[CRITICAL] CORE(2461,fffeffff81a0,python3):2022-04-17-02:17:09.597.099 [mindspore/core/utils/ms_context.cc:130] CreateTensorPrintThread] Get acltdt handle failed
Traceback (most recent call last):
  File "train.py", line 68, in <module>
    train_lenet()
  File "/home/HwHiAiUser/models/official/cv/lenet/src/model_utils/moxing_adapter.py", line 108, in wrapped_func
    run_func(*args, **kwargs)
  File "train.py", line 48, in train_lenet
    network = LeNet5(config.num_classes)
  File "/home/HwHiAiUser/models/official/cv/lenet/src/lenet.py", line 35, in __init__
    super(LeNet5, self).__init__()
  File "/home/HwHiAiUser/.local/lib/python3.7/site-packages/mindspore/nn/cell.py", line 119, in __init__
    init_pipeline()
RuntimeError: mindspore/core/utils/ms_context.cc:130 CreateTensorPrintThread] Get acltdt handle failed


张小白发帖询问这是什么问题,专家回答道:

张小白恍然大悟。。。在Atlas 200DK上是无法进行模型训练的。


(未完待续)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。