介绍
Atlas 200 DK 开发者套件(型号:3000)是一款高性能AI应用开发板,集成了昇腾处理器,方便用户快速开发、快速验证,可广泛应用于开发者方案验证、高校教育、科学研究等场景。其外形如下图所示,图片来自华为官网。
其特性如下所示,图片来自华为官网:
简而言之,atlas200dk是一个AI开发板,内置华为自主研发的昇腾处理器,可以进行边缘离线推理。
可能新手见到推理这个词很困惑,接下来从我的角度解释一下推理这个词的含义:推理是深度学习中的一个概念,既然说到推理,那就离不开训练,一个深度学习过程中,需要用数据集训练好一个模型后,才可以进行推理。没有训练,就不可能会有推理。具体来说,经过训练(training)的深度学习网络可以将其所学应用于数字世界的任务——例如:识别图像、口语词、血液疾病,或者向某人推荐她/他接下来可能要购买的鞋子等各种各样的应用。这种更快更高效的版本的神经网络可以基于其训练成果对其所获得的新数据进行「推导」,在人工智能领域,这个过程被成为“推理(inference)”。(来自推理解释)
也就是说,训练是学习的过程,推理是将学习到的东西应用到新场景、新数据进行推断的过程。训练一个模型需要大量的算力,而推理过程的算力需求就相应小的多。下图以可视化的方式展示了训练(training)和推理(inference)的区别,图片来自英伟达中国发布的知乎帖子(英伟达)
Atlas 200dk的应用场景
Atlas 200dk可以被用在比如机器人、摄像头、无人机这种嵌入式场景,配合外设(摄像头、麦克风)完成诸如目标检测、人脸识别这类任务,还可以通过UART口与其他单片机进行串口通信,协同完成相应的需求和任务。
Atlas 200dk的环境配置
上面介绍了这么多,接下来开始从0配置Atlas 200dk并根据昇腾官方代码仓中的Samples案例跑通第一个Yolov3目标检测推理案例。
配置环境有两种方式,一种是官网给出的在linux系统下运行制卡脚本,这种方法较为繁琐,本文选用更为简便的dd镜像烧录方法。
dd镜像烧录方法制卡,本文选择如下方式:
此处是合设环境,也就是说Atlas 200 DK即作为开发环境又作为运行环境。以下过程在windows上直接操作,不用装Linux系统,使用Etcher工具进行烧录。
Etcher工具可以在下面的网站进行下载:https://etcher.balena.io/
待烧录的镜像文件选择如下版本,百度云链接如下:
固件与驱动版本:1.0.12 CANN版本:5.0.4alpha003
https://pan.baidu.com/s/1whmrLDOfq0_295GysCXLSw
提取码:kjm7
下载好相应的文件后,将SD卡插入读卡器,并打开Etcher软件,选择镜像包,即可进行烧录。
耐心等待一段时间,镜像烧录成功。
烧录成功后,拔出sd卡,将其插入Atlas200DK开发板中,上电启动,开发板会进行自动升级固件、重启灯动作,过几分钟后,若其四个LED灯全亮,说明烧录成功,可以进行推理案例的运行。
四个LED灯全亮,说明烧录成功。
Atlas 200 DK提供了USB网卡与NIC网卡,可通过USB网卡与用户PC机进行直连通信,可通过NIC网卡将Atlas 200 DK接入互联网。
Atlas 200 DK 最终上电示意图如上所示,各个接口已经配齐。
接下来,进入网站https://mobaxterm.mobatek.net/download.html,下载一个终端软件。
进入华为官方文档,安装USB网卡驱动,并且配置正确的网络IP,并以网络共享方式给Atlas 200 DK 共享网络,使得开发板可以上网,必须配置正确,否则无法通过SSH登录开发板。https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/qs/qs_0016.html
正确配置后,通过SSH的方式登录开发者板
首先,打开MobaXterm,输入命令
ssh HwHiAiUser@192.168.1.2
默认密码为Mind@123,进入root模式也是使用这个密码
可以尝试ping www.baidu.com 确认网络是否连接正确。
进入昇腾官方Gitee仓库,下载昇腾Atlas 200dk 示例代码。https://gitee.com/ascend/samples
正确安装后,接下来进行一个yolov3推理案例的体验。
用以下命令进入模型文件目录
cd /home/HwHiAiUser/samples/cplusplus/level2_simple_inference/2_object_detection/object_detection_camera/model
此时目录中不带有模型文件,需要下载,使用如下命令下载原版预训练yolov3模型,并进行ATC转换,转成昇腾310芯片可以使用的推理文件。
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/object_detection_camera/yolov3.caffemodel
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/object_detection_camera/yolov3.prototxt
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/object_detection_camera/aipp_yuv.cfg
atc --model=yolov3.prototxt --weight=yolov3.caffemodel --framework=0 --output=object_detection --soc_version=Ascend310 --insert_op_conf=aipp_yuv.cfg
模型转换成功后,开始构建整个yolov3工程文件,输入以下命令
cd /home/HwHiAiUser/samples/cplusplus/level2_simple_inference/2_object_detection/object_detection_camera/scripts/
bash sample_build.sh
等待文件构建编译成功,输入以下命令即可运行摄像头yolov3检测:
bash sample_run.sh
此时,输入192.168.1.2作为浏览器展示端的入口IP地址,最终在浏览器中访问http://192.168.1.2:7007即可出现实时检测画面。
![](https://i-blog.csdnimg.cn/direct/43380ac26f744e21bebbb23d19d8bf5d.png
此外,在contrib目录中,拥有丰富的用户贡献样例,可供后续参考学习。