首页 > 其他分享 >华为Atlas 200DK环境搭建&推理测试

华为Atlas 200DK环境搭建&推理测试

时间:2024-01-29 10:13:10浏览次数:38  
标签:PC机 200 DK 200DK 网卡 华为 Atlas USB

引子

  前文已经有一篇,华为服务器Atlas芯片的文章(https://www.cnblogs.com/nick-algorithmer/p/17943216)。熟悉AI的同学们一定知道,除了服务器端端训练推理。AI推理还有一部分是边端推理,各大芯片厂商都有推出边端推理芯片,凑巧,拿到一个一块很老的华为Atlas 200DK板子,那就倒腾下这块板子吧,OK,让我们开始吧。

一、环境搭建

1.1 物理硬件准备

  一台x86架构的Linux PC机、USB连接线、网线、一张内存不低于32GB的SD卡、SD卡读卡器。

1.2 软件准备

  注:经过多次测验本设备并不兼容1.0.13的固件驱动版本,尽管官网声称Altas 200 DK可以兼容1.0.13版本的固件驱动,但是用该版本的固件驱动烧录系统后开发板子并不能启动。需要选择1.0.12版本,但是官网提供的最低驱动版本为1.0.13,因此需要从网络上自行搜索下载1.0.12版本的固件驱动。这里给出网络下载链接(下面这篇博客中给出的链接):https://blog.csdn.net/QuanAikj2018/article/details/129087514或者从下面的百度网盘下载

百度网盘链接:https://pan.baidu.com/s/1N0qQhIUdjigHt9m8Gg0qfg?pwd=ltxg

提取码:ltxg

1.3 开始刻录开发板的系统

  第一步:将装入SD卡的读卡器与用户PC机的USB接口连接。

  第二步:在用户PC机中执行如下命令安装qemu-user-static、binfmt-support、yaml、squashfs-tools与交叉编译器。

  su – root #切换到root账号

  执行如下命令更新源:

  apt-get update

  执行如下命令安装相关python依赖:

  pip3 install pyyaml

  apt-get install qemu-user-static binfmt-support python3-yaml squashfs-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

  第三步:在用户PC机中以root用户执行如下命令创建制卡工作目录。

  mkdir $HOME/mksd

  制卡目录可任意指定。

  将软件包准备获取的Ubuntu操作系统镜像包、开发者板驱动包上传到制卡工作目录中(例如:“$HOME/mksd”)。

  在制卡工作目录下(例如:“$HOME/mksd”)执行如下命令获取制卡脚本。

  下载制卡入口脚本“make_sd_card.py”。

  从gitee下载:

  wget https://gitee.com/ascend/tools/raw/master/makesd/generic_script/make_sd_card.py

  从github下载:

  wget https://raw.githubusercontent.com/Ascend/tools/master/makesd/generic_script/make_sd_card.py

  说明:“NETWORK_CARD_DEFAULT_IP”:NIC网卡的IP地址,默认值“192.168.0.2”。“USB_CARD_DEFAULT_IP”:USB网卡的IP地址,默认值“192.168.1.2”。

  执行制卡脚本。

  以root用户执行如下命令查找SD卡所在的USB设备名称。

  fdisk -l

  例如,SD卡所在USB设备名称为“/dev/sda”,可通过插拔SD卡的方式确定设备名称。

  运行SD制卡脚本“make_sd_card.py”。

  python3 make_sd_card.py local /dev/sda

  “local”表示使用本地方式制作SD卡。

  “/dev/sda”为SD卡所在的USB设备名称。

  如图1所示表示制卡成功。

  制卡成功后,将SD卡从读卡器取出并插入Atlas 200 DK开发者板卡槽。上电Atlas 200 DK开发者板。开发板四个灯都亮证明系统刻录成功。

1.4 网络配置

  提前装好PC机的USB网卡驱动,然后将usb与开发板连接。Atlas 200 DK提供了USB网卡和NIC网卡,其中USB网卡的默认IP地址为“192.168.1.2”,NIC网卡的默认IP地址为“192.168.0.2”,用户可以通过这两个网卡实现与PC机的通信,并把Atlas 200 DK接入互联网。

1.4.1 安装PC机的USB网卡驱动

  Ubuntu操作系统为通过Windows操作系统上的虚拟机安装的场景下,需要在Windows操作系统上安装USB网卡驱动,即RNDIS(Remote Network Driver Interface Specification)驱动,否则Atlas 200 DK通过USB连接Ubuntu所在的Windows主机时,在Ubuntu操作系统中无法识别Atlas 200 DK的USB虚拟网卡。

  在“计算机管理”操作界面中选择“设备管理器 >其他设备”,如下图所示,RNDIS为未识别状态。

   右键单击“RNDIS”,选择“更新驱动程序(P)”。

 

  在弹出的“更新驱动程序 - RNDIS窗口”中选择“浏览我的计算机以查找驱动程序软件(R)”,然后选择“让我从计算机上的可用驱动程序列表中选取(L)”,单击“下一步(N)”。

在“常见硬件类型”列表中选择“网络适配器”,单击“下一步(N)”。

   在“选择要为此硬件安装的设备驱动程序”界面中选择“Microsoft”厂商的“USB RNDIS6适配器”。

   单击“下一步”,在弹出的“更新驱动程序警告”窗口选择“是”。

  返回“设备管理器 > 网络适配器”,可看到已经正常显示了USB RNDIS6适配器的驱动。

 

1.4.2 配置网络连接

  Atlas 200 DK与PC机分别通过USB连线与网线进行连接,其中USB方式的连接,用于将PC机与Atlas 200 DK进行通信,从而可以从PC机上SSH登录到Atlas 200 DK;网线连接用于Atlas 200 DK共享PC机网络,Atlas 200 DK eth0的网关地址需要与PC机中与Atlas 200 DK相连的NIC网卡的IP地址保持一致,将PC机上网络共享给连接Atlas 200 DK的NIC网卡,则Atlas 200 DK即可接入互联网。

   配置示例如下图所示:

  用USB连接线将Atlas 200 DK与PC机连接,PC机的“网络连接”面板会新增‘本地连接’名称为‘USB RNDIS6适配器’

  配置USB虚拟网卡的IP地址,IP地址需要与Atlas 200 DK的USB网卡的默认IP地址在同一网段。Atlas 200 DK的USB网卡默认IP为“192.168.1.2”,例如配置PC机的USB虚拟网卡的IP地址为“192.168.1.101”,如下图所示:

  然后SSH连接开发板子,地址192.168.1.2 账号:HwHiAiUser 密码:Mind@123

 

  SSH登录进开发板之后,配置Atlas 200 DK的eth0网卡的网关。

  Atlas 200 DK中eth0网卡的网关与eth0 IP地址在同一网段即可,例如Atlas 200 DK的eth0的默认IP地址为“192.168.0.2”,则此处可以配置eth0的网关为“192.168.0.101”。(说明:Atlas 200 DK通过网络共享接入网络的方式,数据走eth0,然后通过网关访问网络,所以需要确保eth0的IP地址能够访问网关)

  配置方式如下:

  在PC机上以SSH方式登录Atlas 200 DK。

  ssh [email protected]

  切换到root用户。

  su - root

  配置eth0的网关地址。

  vi /etc/netplan/01-netcfg.yaml

  配置示例如下图所示:

   执行如下命令重启网络服务。

  netplan apply

  之后,在PC侧进行网络配置,将网络共享给Atlas 200 DK。用网线线将Atlas 200 DK与PC机连接,PC机的“网络连接”面板会新增‘以太网’,这个网卡就是连接Atlas 200 DK的网卡。

右键单击网卡“Ethernet”,然后选择“Properties > Sharing”,按照下图所示进行配置。

 

  修改“以太网”的IP地址为Atlas 200 DK eth0网关的IP地址

 

  经过上面的配置,Atlas 200 DK中eth0的IP地址“192.168.0.2”与网关“192.168.0.101”是互通的。PC机上可以接入互联网的“Ethernet”网卡将网络共享给了网关“192.168.0.101”,则该网关可以接入互联网。Atlas 200 DK需要联网时,通过域名解析,会自动选择请求的出口到网关,便可以接入互联网了。至此,Atlas 200 DK已可以接入互联网。重新登录开发板,执行ping命令可以看到开发板子已经接入互联网。

1.5 安装CANN

  CANN版本必须与固件驱动版本保持一致(驱动与CANN版本的配套关系请参见版本配套说明:https://gitee.com/ascend/tools/blob/master/makesd/Version_Mapping_CN.md)

   由于我们安装的固件驱动版本是1.0.12,而官网提供的最低版本为1.0.13,因此与1.0.12固件驱动版本对应的CANN版本官网也并未提供,我们还得自己从网络上寻找下载链接。这里给出网络下载链接(下面这篇博客中给出的链接):https://blog.csdn.net/QuanAikj2018/article/details/129087514或者从下面的百度网盘链接下载:https://pan.baidu.com/s/11HmGssvr5p-c8DOHKMuT6Q?pwd=sm49

提取码:sm49

   由于CANN的安装。要求的python开发环境(要求python3.7.0~3.7.11、python3.8.0~3.8.11和python3.9.0~3.9.7)而安装ubuntu18.04默认会安装Python3.6因此需要卸载不符合版本的python,重新安装python3.7.x或者python3.8.x或者python3.9.x

1.5.1 卸载python

  apt换源编译安装Python3.7,首先检查系统中是否安装了python依赖

  安装完python之后,需要通过pip安装cann toolkit的必要依赖

1.5.2 安装Ascend-cann-toolkit

  将下载好的Ascend-cann-toolkit上传到开发板的任意目录

  CANN安装好之后还需要配置环境变量

  编译流媒体运行依赖文件

1.6 项目演示---基于Resnet50的图片分类应用

  案例地址:git clone https://gitee.com/ascend/samples.git

  项目介绍:以ResNet50网络模型为例,演示如何通过模型转换使能静态AIPP功能,使能AIPP功能后,若实际提供给模型推理的测试图片不满足要求(包括图片格式,图片尺寸等),经过模型转换后,会输出满足模型要求的图片,并将该信息固化到转换后的离线模型中(模型转换后AIPP功能会以aipp算子形式插入离线模型中)。

  样例输入:图片。

  样例输出:打屏显示置信度TOP5的类别标识、置信度信息和相应的类别信息。

  获取源码包    

  cd ${HOME}     

  git clone https://gitee.com/ascend/samples.git

  第三方依赖安装 opencv

  执行以下命令安装opencv-python。

  pip3 install opencv-python

  执行以下命令安装numpy。

  pip3 install numpy

  样例运行

  数据准备

  请从以下链接获取该样例的输入图片,放在data目录下。

  cd $HOME/samples/inference/modelInference/sampleResnetAIPP/python/data

  wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg

  ATC模型转换

  将ResNet-50原始模型转换为适配昇腾310处理器的离线模型(*.om文件),放在model路径下。

  # 在这里直接给出原始模型下载及模型转换命令。

  cd $HOME/samples/inference/modelInference/sampleResnetAIPP/python/model

  wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/resnet50/resnet50.onnx

  wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/resnet50/resnet50_CV/aipp.cfg

  atc --model=resnet50.onnx --framework=5 --output=resnet50 --input_shape="actual_input_1:1,3,224,224"  --soc_version=Ascend310  --insert_op_conf=aipp.cfg

  样例运行

  设置环境变量,配置程序编译依赖的头文件与库文件路径。“$HOME/Ascend”替换“Ascend-cann-toolkit”包的实际安装路径。

  export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest

  export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub

  执行运行脚本,开始样例运行。

  bash sample_run.sh

  样例结果展示

  执行成功后,在屏幕上显示置信度top5的相关信息如下,提示信息中的label表示类别标识、confidence表示该类别的置信度,class表示对应的类别。

  ======== top5 inference results: =============

  label:162 confidence:0.902194 class:beaglebeagle,

  label:161 confidence:0.096588 class:basset houndbasset hound,

  label:166 confidence:0.000631 class:Walker foxhoundWalker foxhound,

  label:167 confidence:0.000447 class:English foxhoundEnglish foxhound,

  label:163 confidence:0.000056 class:sleuthhoundsleuthhound,

  *****run finish******

 

 

 

标签:PC机,200,DK,200DK,网卡,华为,Atlas,USB
From: https://www.cnblogs.com/nick-algorithmer/p/17993892

相关文章

  • 如何查看华为的大模型(AI模型),华为官方的mindspore下的大模型???
    由于华为官方的mindspore网站的设计比较反人性话,操作起来十分的复杂,因此如果想要在华为的官方网站上查找这个华为的官方大模型还是比较困难的,为此直接给出链接地址。PS.要注意,华为的AI官方网站经常性的进行修改,所以这个链接只能保证一段时间内可以使用,如果未来网站升级修改,就可能......
  • 开源资源:华为盘古大模型
    华为盘古大模型的官方介绍地址:https://www.mindspore.cn/largeModel/pangu盘古大模型的开源代码和开源权重(模型参数)的地址:(鹏城实验室的启智平台)https://openi.pcl.ac.cn/PCL-Platform.Intelligence/PanGu-Alpha开源代码:开源的模型参数文件:(在开源的代码git仓库的README中可以找到!!!)htt......
  • ue4.26 CurveLinearColorAtlas支持非正方形尺寸
    默认CurveAtlas只能是正方形 改代码可以让它支持非正方形: 改法如下:CurveLinearColorAtlas.h//CopyrightEpicGames,Inc.AllRightsReserved.#pragmaonce#include"CoreMinimal.h"#include"UObject/ObjectMacros.h"#include"UObject/Object.h"#in......
  • 面试简历指导 —— 在“华为”OD工作的困惑?EG4
    这是一个面试指导系列:传送门#面试简历指导——刚毕业大学生前端简历怎么写?EG1#面试简历指导——1年工作经验的前端简历怎么写?EG2#面试简历指导——转岗程序员都有哪些问题?EG3相信很多人在找工作的时候,都被华为OD这个招聘给“打扰”过,他们实在是招的太勤了,但是“铁打的营盘......
  • 华为三层交换机与防火墙上网配置实验
    < Home三层交换机与防火墙对接上网配置示例组网图形图1 三层交换机与防火墙对接上网组网图三层交换机简介配置注意事项组网需求配置思路操作步骤配置文件三层交换机简介三层交换机是具有路由功能的交换机,由于路由属于OSI模型中第三层网络层的功能,所以称为三层交换机。三层交换机......
  • 华为二层交换机与防火墙对接上网配置
    二层交换机与防火墙对接上网配置示例组网图形图1 二层交换机与防火墙对接上网组网图二层交换机简介配置注意事项组网需求配置思路操作步骤配置文件相关信息二层交换机简介二层交换机指的是仅能够进行二层转发,不能进行三层转发的交换机。也就是说仅支持二层特性,不支持路由等三层特......
  • pip修改默认源为中科大源、清华源、豆瓣源、华为源
    pip使用中科大源、清华源或修改默认源为中科大源、清华源、豆瓣源、华为源pip临时使用中科大源、清华源、豆瓣源永久使用中科大源、清华源、豆瓣源删除中科大源、清华源、豆瓣源condawindows下先查看默认源conda修改默认源换回默认源删除上面的某一个默认源链......
  • 智界 S7 交付难,华为万事俱备,东风就来了
    文|AUTO芯球作者|雷歌华为内部的余承东和徐直军路线之争,越来越有意思了。1月22日,在华为坚持不造车路线的徐直军签下国企大厂东风集团,在岚图汽车上展开合作,采用HI模式进行。华为进入汽车领域早已“万事俱备,只欠东风”,这不,“东风”不就来了嘛。汽车圈的人都知道,徐直军是华为内部......
  • 江苏银行联合华为云GaussDB进行核心系统改造
    本文分享自华为云社区《江苏银行联合华为云GaussDB进行核心系统改造》,作者:华为云头条。金融行业自主创新关乎金融安全大局。近年来,随着《金融科技发展规划(2022—2025年)》等相关政策的出台,金融行业核心技术自主创新逐步迈向“深水区”,正在从外围应用深入到核心业务系统,分布式数据库......
  • 华为云CCE Turbo:基于eBPF的用户自定义多粒度网络监控能力
    本文分享自华为云社区《华为云CCETurbo:基于eBPF的用户自定义多粒度网络监控能力》,作者:云容器大未来。基于eBPF的容器监控的兴起容器具有极致弹性、标准运行时、易于部署等优点,越来越多的客户选择使用容器来部署自己的服务,随着容器规模越来越大,容器间网络交互也越来越复杂。我们需......