Atlas 200 DK开发者套件基于CANN的垃圾分类实验踩坑指南

简介: Atlas 200 DK开发者套件基于CANN的垃圾分类实验踩坑指南

前言

最近在做机器学习的作业,项目的目的是要用华为给的板子和课程完成一个类似于垃圾分类的图片分类的功能,但是,因为华为的开发版本的变化,导致我按照教程跑垃圾分类都跑不起来,wrong声一片,花了博主一天的时间去调整改变,这篇文章带大家避坑,希望大家都能完成好项目。另外 @华为云开发者社区,希望我这篇文章对你们的教程改进有一点点帮助。


文章目录用于速查哪里出了问题对照

前言

开发环境的搭建

Sdcard的制作

连接Atlas 200 DK开发者板

使用win系统下虚拟机进行连接开发板

转换模型

开发板运行

联网

pip安装

python3模块的安装

atlas_utils安装

后记

开发环境的搭建

相关的网址在这里:Atlas200DK分设环境搭建指南

我刚开始尝试使用原生的方式进行安装,结果折腾半天依赖过于麻烦,所以还是建议大家使用docker极简版安装。Atlas 200 DK开发者套件环境部署(1.0.9.alpha)极简版

其实按照教程直接往下走就好了,写的蛮好的,但是我遇到的点给大家记录一下:

一定要切换成Ascend用户进行下载运行操作,因为Ascend里面集成了环境变量,运行命令的时候不会发生错误。


其实上面的做完开发环境的搭建就算是完成了。接下来才是麻烦的开始。。。。。

Sdcard的制作

手边有个树莓派非常感谢胖哥送我的这玩意,所以手边有读卡器,但是那个博客给了一个4G的百度网盘,,,,我不是会员,我下不动,,,所以我自己做好吧。。。

读卡器场景

其实这个部分官网都是有教程的。所以还算是比较方便的,按照上面的教程下载三个文件进行运行安装就好了。

我现在这个文档推荐的是1.0.9.alpha,我就直接使用了它的最新版的5.0.2.alpha002。其实docker里面带的是3.3.0,但是没啥影响我就没改

直接按照教程运行下载就好了。其实这里也没啥坑。这里如果你不是像我一样用的USB网卡的话建议改下LAN口的IP防止冲突。不然后面连不上后悔死。。。。


连接Atlas 200 DK开发者板

上面的SDcard制作好了之后就插入开发板,然后上电。华为介绍了各种指示灯。我的建议就是有四个灯 你等到他们全都亮了就是启动完成了。其他情况别瞎动,如果刷写固件的时候断电直接GG。。。


使用win系统下虚拟机进行连接开发板

因为我是使用的虚拟机,所以其他场景我也不知道咋弄,只提供虚拟机的连接方式。插上usb线(华为这个usb是个网卡,额,秀到我了,我还以为是个ttl)

如何安装windows的USB网卡驱动

按照上面的教程进行硬件的安装。然后官网教程就没了。。。。厉害厉害 我来补。。。

教程结束你win会拥有一个网卡像下图一样:

然后按照下面的进入网络适配器的设置:



可能去控制面板进到这里更快??不清楚 你们试试

官网给到的是需要修改本地的地址和板子保持同一个网段,我们这里找到适配器之后双击属性,找到IPV4改成下面这样:

测试一下能不能连上:直接打开终端输入ssh HwHiAiUser@192.168.1.2

输入密码Mind@123能连上就说明一切正常。

我改IP了别学我。。。

然后到了这一步其实你的虚拟机和win网络是共享的,这就意味着你可以在虚拟机甚至虚拟机里的docker直接ssh访问,事实证明只要有ssh就行了,甚至没有也行,,反正都是scp传文件,用win传也不是不行。。。不过不重要,这样就算连上了完成了!!


转换模型

上面的都完成了,按照教程,我们需要进行atc转换模型,可以看这个

实验二:基于CANN的垃圾分类实验,但是,这个地方清清楚楚的写着再开发板上运行

我做了 一运行

嗯,板子上没这个,整挺好,但是因为版本问题,我百度了很久告诉我这个是和toolkit在一起的,我很庆幸自己没一开始就用docker想到这是开发linux上安装的。

所以这个命令是在linux开发机(说白了就是我们自己的电脑)上运行的,记住我上面说的要用Ascend用户,不然没有环境变量还是运行不了。转换模型之后再全部搬迁到开发板上!


开发板运行

教程给的这里很简单就是

python3.6 src/classify_test.py ./data/

我敲了。然后numpy没有,,,那我装不行嘛。哦 ,没网。。。。


联网

网上插上,然后按照这个使用网线通过路由器连接Ubuntu服务器,按照使用网线通过路由器连接Ubuntu服务器进行配置dhcp之后就能联网了。。。。。


pip安装

有了网我就想那就pip3 install numpy呗

嗯 没有。。。那我apt isntall python3-pip

嗯 也没有/。。。这还能没有??????所以我们需要换源。。。


sudo vi /etc/apt/sources.list


将下面的内容填进去


# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse


其实就是清华源的内容,但是是arm64的处理器,注意选择ubuntu-port

接下来


sudo apt update
sudo apt install python3-pip


就好了


python3模块的安装

先装一些依赖:


sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-dev


我装python-imaging出错了,但是不影响。

然后是直接安装python3模块


pip3 install -i https://mirror.baidu.com/pypi/simple Cython numpy  Pillow


使用了百度镜像加速,不然太慢。

终于结束了,运行!!!!!

又炸了。。。。


atlas_utils安装

上面炸了,我在想pip3安装不就好了,但是仔细一想,,这好像是华为自己的库,,,嗐,百度把。。。找到了下面的库

昇腾CANN样例仓介绍

然后只能用v5.0.0的库,不然它改了名称我不确定会不会炸,直接下的zip解压会多一个master的后缀,建议mv改掉。。。。弄好传到板子上目录像我这样:

然后按照gitee仓库说的

export PYTHONPATH=$HOME/samples/python/common/:$PYTHONPATH就可以运行了,一切都完成了。

后记

筋疲力尽,教程中出现了太多的没有出现的情况,相信我这些坑解决之后,修改python标签啥的对各位看官都是洒洒水啦。祝大家都能完成,也希望亲爱的华为能够及时更新文档,不要让课程体验这么糟糕,糟心啊-。-

不过,还是非常感谢华为给我们提供平台资源让我们更加有效的学习机器学习这门课程的,华为yyds!


相关文章
|
9月前
|
机器学习/深度学习 人工智能 测试技术
11种开源即插即用模块汇总 !!(附论文和代码)
11种开源即插即用模块汇总 !!(附论文和代码)
453 1
|
机器学习/深度学习 人工智能 算法
深度强化学习中实验环境-开源平台框架汇总
深度强化学习中实验环境-开源平台框架汇总
332 0
|
5月前
|
机器学习/深度学习 测试技术 数据处理
KAN专家混合模型在高性能时间序列预测中的应用:RMoK模型架构探析与Python代码实验
Kolmogorov-Arnold网络(KAN)作为一种多层感知器(MLP)的替代方案,为深度学习领域带来新可能。尽管初期测试显示KAN在时间序列预测中的表现不佳,近期提出的可逆KAN混合模型(RMoK)显著提升了其性能。RMoK结合了Wav-KAN、JacobiKAN和TaylorKAN等多种专家层,通过门控网络动态选择最适合的专家层,从而灵活应对各种时间序列模式。实验结果显示,RMoK在多个数据集上表现出色,尤其是在长期预测任务中。未来研究将进一步探索RMoK在不同领域的应用潜力及其与其他先进技术的结合。
139 4
|
6月前
|
机器学习/深度学习 数据可视化 数据挖掘
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
本文介绍了如何在MacOS系统上安装VOSviewer软件,并以ESN(Echo State Network)网络的研究为例,通过VOSviewer对相关科学文献进行可视化分析,以深入了解ESN在学术研究中的应用和发展情况。
393 0
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
|
6月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
TensorFlow Serving 部署指南超赞!让机器学习模型上线不再困难,轻松开启高效服务之旅!
【8月更文挑战第31天】TensorFlow Serving是一款高性能开源服务系统,专为部署机器学习模型设计。本文通过代码示例详细介绍其部署流程:从安装TensorFlow Serving、训练模型到配置模型服务器与使用gRPC客户端调用模型,展示了一站式模型上线解决方案,使过程变得简单高效。借助该工具,你可以轻松实现模型的实际应用。
118 0
|
9月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
231 0
|
机器学习/深度学习 移动开发 数据挖掘
如何用CSharpOpenCv集成Yolov3的模型
如何用CSharpOpenCv集成Yolov3的模型
336 0
如何用CSharpOpenCv集成Yolov3的模型
|
编解码 并行计算 算法
MMdetection框架速成系列 第01部分:学习路线图与步骤+优先学习的两个目标检测模型代码+loss计算流程+遇到问题如何求助+Anaconda3下的安装教程(mmdet+mmdet3d)
Tip:目前 MMDetection 实现的算法中主要包括 one-stage 和 two-stage 算法,而 two-stage 算法可以简单认为是 one-stage + pool + one-stage 步骤。
1039 0
|
编解码 算法 数据挖掘
浙大发布「数据混合增强」框架AutoMix,还顺手开源了众多mixup算法(2)
浙大发布「数据混合增强」框架AutoMix,还顺手开源了众多mixup算法
332 0
|
机器学习/深度学习 算法 数据挖掘
浙大发布「数据混合增强」框架AutoMix,还顺手开源了众多mixup算法(1)
浙大发布「数据混合增强」框架AutoMix,还顺手开源了众多mixup算法
210 0