文章目录
Atlas 200 DK 开发者套件(型号 3000)是以Atlas 200 AI加速模块(型号 3000)为核心的开发者板形态的终端类产品。主要功能是将Atlas 200 AI加速模块(型号 3000)的接口对外开放,方便用户快速简捷的使用Atlas 200 AI加速模块(型号 3000),可以运用于平安城市、无人机、机器人、视频服务器等众多领域的预研开发。
Atlas 200 AI加速模块(型号 3000)是一款高性能的AI智能计算模块,集成了昇腾310 AI处理器(Ascend 310 AI处理器),可以实现图像、视频等多种数据分析与推理计算,可广泛用于智能监控、机器人、无人机、视频服务器等场景。
Atlas 200 DK的环境配置可以使用两种方式,一种是运行环境与开发环境分设,将运行环境部署在200dk上,开发环境部署在Ubuntu18.04系统。一种是运行环境和开发环境合设,将运行环境和开发环境都部署在200dk上。
无论是新的sd卡,还是旧的sd卡,都推荐在使用前对sd卡进行一次安全清空
步骤如下:


SELECT DISK 1:选中磁盘1(千万不要选错为sd卡的磁盘)。
CLEAN:删除整个磁盘数据。
CREATE PARTITION PRIMARY:创建主磁盘分区。
ACTIVE:激活磁盘分区。
FORMAT QUICK:快速格式化磁盘分区。


树莓派摄像头排线接面

atlas开发板排线接面


开发板有条件能够联网的情况下,推荐使用环境合设的方式
需要编译的的程序较大,推荐使用环境分设的方式
进入昇腾论坛dd镜像帖子

建议下载最新版本,运行demo的依赖项支持CANN>=5.0.4以上的版本

dd镜像文件较大,下载需要一些时间
下载完成后打开balenaEtcher

选择好已经下载好的dd镜像包和需要烧录的sd卡,点击Flash!,开始烧录

烧录成功
将烧录成功的sd卡插入Atlas200dk,接入电源上电,电源接口旁边的led灯亮起说明能够成功上电

四个led灯亮起,说明开发板成功启动

Atlas 200 DK开发者板支持通过USB端口或者网线与PC机进行连接
Atlas 200 DK与PC机连接图:

需要配置好USB端口连接,才能配置网线连接











ssh HwHiAiUser@192.168.1.2



cd /etc/netplan #进入netplan文件夹
ll #查看文件夹下文件

vi 01-netcfg.yaml


network:
version: 2
# renderer: NetworkManager
renderer: networkd
ethernets:
eth0:
dhcp4: yes
addresses: [192.168.0.2/24]
gateway4: 192.168.0.100 #可以设置为192.168.0.X,X为0~255中除了2的任何一个数字
nameservers:
addresses: [8.8.8.8]
addresses: [114.114.114.114]
usb0:
dhcp4: no
addresses: [192.168.1.2/24]
gateway4: 192.168.0.1
nameservers:
addresses: [114.114.114.11]
使用vi进入yaml文件后,按字母”i“键进入插入编辑模式,编辑完成后按”Esc“退出编辑模式,输入冒号”:",然后输入“wq!”,回车,成功保存退出
netplan apply



ssh HwHiAiUser@192.168.0.2
成功通过网线连接Atlas200dk

通过网线连接成功后,可以将USB线拔掉
开发板不能联网的情况下,需要在PC中下载好相关依赖文件,再拷贝入SD卡相应位置,非常麻烦


ssh HwHiAiUser@192.168.1.2
连接开发板


cd /etc/netplan #进入netplan文件夹
ll #查看文件夹下文件

vi 01-netcfg.yaml



netplan apply
首先按照前面步骤,设置好网线连接开发板,确定对应网络适配器ipv4协议的ip地址设置为在开发板中设置的gateway4
本文在开发板中配置eth0下gateway4为192.168.0.100,所以ip地址设置为相同的192.168.0.100

打开已接入网络的WLAN或者本地连接,点击共享

选择“允许其他网路用户通过此计算机的Internet连接来连接”,选择好对应的网络适配器,确定

选择“是”

此时对应的网口驱动网络适配器会重置,回到网口驱动的属性页,再次将ipv4协议的ip地址设置为在开发板中设置的gateway4,确定

打开终端,使用USB或者网线连接的默认ip连接到开发板
ssh HwHiAiUser@192.168.0.2 #网线连接默认ip
ssh HwHiAiUser@192.168.1.2 #USB端口连接默认ip
这里使用网线连接,配置好后可以只使用网线

ping www.baidu.com
如果按照步骤不能连接网络,是因为网络环境变化,再次进行一次操作,首先把wifi共享关掉,这时网口驱动会重置。再次开启wifi共享给网口驱动,将分配给网口驱动的IP改成eth0 gateway4的,就联网成功了
获取开发者板驱动与运行包、Ubuntu操作系统镜像包
Ubuntu操作系统镜像包 ubuntu-18.04.xx-server-arm64.iso
建议在Ubuntu官网下载

驱动包 A200dk-npu-driver-{software version}-ubuntu18.04-aarch64-minirc.tar.gz
获取链接


# 进入root用户
sudo su
# 更新源
apt-get update
# 安装python相关依赖
pip3 install pyyaml
# 安装qemu-user-static、binfmt-support、yaml、squashfs-tools与交叉编译器
apt-get install qemu-user-static binfmt-support python3-yaml squashfs-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
安装完成

mkdir /home/ascend/mksd
# 制卡目录可任意指定
#ascend为自己的用户名


# 下载制卡入口脚本“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
# 下载制作SD卡操作系统的脚本“make_ubuntu_sd.sh”。
# 从gitee下载:
wget https://gitee.com/ascend/tools/raw/master/makesd/generic_script/make_ubuntu_sd.sh
# 从github下载:
wget https://raw.githubusercontent.com/Ascend/tools/master/makesd/generic_script/make_ubuntu_
下载完成

fdisk -l
例如,SD卡所在USB设备名称为“/dev/sda”,可通过插拔SD卡或者按容量推断的方式确定设备名称。
图中的sd卡为/dev/sdb

运行SD制卡脚本“make_sd_card.py”。
python3 make_sd_card.py local /dev/sda
“local”表示使用本地方式制作SD卡。
“/dev/sda”为SD卡所在的USB设备名称。
正在制卡

制卡完成

与环境合设步骤相同
与环境合设步骤相同
安装流程图

此种场景下,用户PC机(Ubuntu x86操作系统)作为开发环境,进行程序的开发、编译,Atlas 200 DK作为运行环境
下载配套驱动版本的开发套件包“Ascend-cann-toolkit_{version}linux-x86_64.run”与“Ascend-cann-toolkit{version}_linux-aarch64.run

依赖列表


apt-get update

apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev
安装完成

python3 --version
如果返回信息满足python版本要求(3.7.0~ 3.7.11),则直接进入下一步,否则可参考如下方式安装python3.7.5
a.使用wget下载python3.7.5源码包,可以下载到安装环境的任意目录
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz

b.进入下载后的目录,解压源码包
tar -zxvf Python-3.7.5.tgz

c.进入解压后的文件夹,执行配置、编译和安装命令
# 其中“--prefix”参数用于指定python安装路径,可根据实际情况进行修改
cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make
sudo make install

d. 设置python3.7.5环境变量
# 其中“/usr/local/python3.7.5”为python3.7.5安装路径,请根据实际替换
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/python3.7.5/bin:$PATH

e.检查是否安装成功

use_private_python.info”vi /etc/use_private_python.info

添加此内容,保存退出
python3_install_path=/usr/local/python3.7.5

# 需要进入root用户
# 更新pip命令
pip3 install --upgrade pip
# 安装依赖
pip3 install attrs
pip3 install numpy==1.17.2
pip3 install decorator
pip3 install sympy
pip3 install cffi
pip3 install pyyaml
pip3 install pathlib2
pip3 install psutil
pip3 install protobuf
pip3 install scipy
pip3 install requests
安装完成


chmod +x *.run
# *.run为软件包实际名称

# {version}为具体版本
./Ascend-cann-toolkit_{version}_linux-x86_64.run --check
./Ascend-cann-toolkit_{version}_linux-aarch64.run --check

# {version}为具体版本
./Ascend-cann-toolkit_{version}_linux-x86_64.run --install --chip=Ascend310-minirc
./Ascend-cann-toolkit_{version}_linux-aarch64.run --install --chip=Ascend310-minirc
安装完成

. /usr/local/Ascend/ascend-toolkit/set_env.sh
执行vi ~/.bashr,打开.bashrc文件,在文件最后一行后面添加上述内容
保存退出,执行source ~/.bashrc命令使其立即生效
sudo apt-get install g++-aarch64-linux-gnu

至此,开发环境中的软件安装完毕
下载离线推理引擎包“Ascend-cann-nnrt_{software version}_linux-aarch64.run”


chmod 777 *.run
# 其中*.run表示软件包名,请根据实际包名进行替换
./Ascend-cann-nnrt_{software version}_linux-aarch64.run --check
# 请根据实际包名进行替换

./Ascend-cann-nnrt_{software version}_linux-aarch64.run --install --chip=Ascend310-minirc
# 请根据实际包名进行替换

. /usr/local/Ascend/nnrt/set_env.sh
root用户在任意目录下执行vim ~/.bashrc命令,打开.bashrc文件,在文件最后一行后面添加上述内容
保存退出,执行source ~/.bashrc命令使其立即生效
若开发者需要使用Atlas 200 DK外接的摄像头进行数据采集,并将采集的数据作为应用的数据源,则应用程序开发编译时需要依赖媒体控制模块相关的头文件与库文件
export INSTALL_DIR=/usr/local/Ascend/ascend-toolkit/5.0.5.alpha001
# 5.0.5.alpha001根据实际情况更换
sudo mkdir -p ${INSTALL_DIR}/driver

# 使用网线连接开发板则为192.168.0.2,可根据自己实际情况进行更改
scp -r HwHiAiUser@192.168.0.2:/usr/lib64/libmedia_mini.so ${INSTALL_DIR}/driver
scp -r HwHiAiUser@192.168.0.2:/usr/lib64/libslog.so ${INSTALL_DIR}/driver
scp -r HwHiAiUser@192.168.0.2:/usr/lib64/libc_sec.so ${INSTALL_DIR}/driver
scp -r HwHiAiUser@192.168.0.2:/usr/lib64/libmmpa.so ${INSTALL_DIR}/driver
scp -r HwHiAiUser@192.168.0.2:/usr/local/Ascend/include/peripheral_api.h ${INSTALL_DIR}/driver

目前最新的MindStudio只支持cann5.0.4版本,注意匹配版本

安装流程

下载
可以直接使用命令行下载
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/MindStudio/MindStudio%203.0.4/MindStudio_3.0.4_linux.tar.gz
tar -zxvf MindStudio_{version}_linux.tar.gz

# 下载jbr
wget https://cache-redirector.jetbrains.com/intellij-jbr/jbr_dcevm-11_0_10-linux-x64-b1341.35.tar.gz
# 解压
tar -zxvf jbr_dcevm-11_0_10-linux-x64-b1341.35.tar.gz

进入软件包解压后的MindStudio/bin目录,执行如下命令
cd MindStudio/bin
./MindStudio.sh


使用MindStudio安装用户,在MindStudio安装服务器执行aarch64-linux-gnu-g++ --version命令检查是否安装,若已经安装则可以忽略,否则执行如下安装命令:
sudo apt-get install -y g++-aarch64-linux-gnu

执行以下命令进行安装准备
建议使用MobaXterm
# 以安装用户在任意目录下执行以下命令,打开.bashrc文件。
vi ~/.bashrc
# 如果.bashrc中没有对应内容,在文件最后一行后面添加如下内容,设置必要的环境变量。
export CPU_ARCH=`arch`
export THIRDPART_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH} #代码编译时链接第三方库
export LD_LIBRARY_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH}/lib:$LD_LIBRARY_PATH #运行时链接库文件
export INSTALL_DIR=${HOME}/Ascend/ascend-toolkit/latest #CANN软件安装后文件存储路径
#注意!!:latest需要按实际情况更改!不做修改会导致acllite库的编译报错
# 执行命令保存文件并退出。
:wq!
# 执行命令使其立即生效。
source ~/.bashrc
# 创建第三方依赖文件夹
mkdir -p ${THIRDPART_PATH}
# 返回主目录安装git并下载官方示例源码
cd ${HOME}
sudo apt-get install git
git clone https://gitee.com/ascend/samples.git
# 拷贝公共文件到第三方路径中
cp -r ${HOME}/samples/common ${THIRDPART_PATH}







mkdir -p ${INSTALL_DIR}/driver
cp /usr/lib64/libmedia_mini.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libslog.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libc_sec.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libmmpa.so ${INSTALL_DIR}/driver/
cp /usr/local/Ascend/include/peripheral_api.h ${INSTALL_DIR}/driver/
普通用户执行权限不够,需要使用su命令进入root用户执行

需要开发板联网
sudo apt-get install libopencv-dev

执行完后使用exit命令退出root用户,不然有可能影响后面库的安装
# 下载ffmpeg并解压
cd ${HOME}
wget http://www.ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz --no-check-certificate
tar -zxvf ffmpeg-4.1.3.tar.gz
cd ffmpeg-4.1.3
# 安装ffmpeg
#./configure配置安装会稍微需要一点时间,耐心等待
./configure --enable-shared --enable-pic --enable-static --disable-x86asm --prefix=${THIRDPART_PATH}
make -j8
make install
# 编译并安装acllite
cd ${HOME}/samples/cplusplus/common/acllite/
make -j8 #使用-j8调用cpu的多个核心,加快编译
make install








# 安装protobuf相关依赖
sudo apt-get install autoconf automake libtool
# 下载protobuf源码
cd ${HOME}
git clone -b 3.13.x https://gitee.com/mirrors/protobufsource.git protobuf
# 编译安装protobuf
cd protobuf
./autogen.sh
./configure --prefix=${THIRDPART_PATH}
make clean
make -j8
sudo make install
# 进入presentagent源码目录并编译
cd ${HOME}/samples/cplusplus/common/presenteragent/proto
${THIRDPART_PATH}/bin/protoc presenter_message.proto --cpp_out=./
# 开始编译presentagnet
cd ..
make -j8
make install




#进入源码目录
cd ${HOME}/samples/cplusplus/level2_simple_inference/n_performance/1_multi_process_thread/face_recognition_camera/model
# face_detection模型权重下载
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/facedection/face_detection_fp32.caffemodel
# face_detection模型网络下载
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/facedection/face_detection.prototxt
# 对应的cfg文件下载
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/face_recognition_camera/face_detection_insert_op.cfg
# 使用ATC模型转换工具进行模型转换
atc --model=./face_detection.prototxt --weight=./face_detection_fp32.caffemodel --framework=0 --output=./face_detection --soc_version=Ascend310 --insert_op_conf=./face_detection_insert_op.cfg --input_shape="data:1,3,300,300" --input_format=NCHW


# vanillacnn模型权重下载
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/vanillacnn/vanillacnn.caffemodel
# vanillacnn模型网络下载
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/vanillacnn/vanilla_deploy.prototxt
# 使用ATC模型转换工具进行模型转换
atc --model=./vanilla_deploy.prototxt --weight=./vanillacnn.caffemodel --framework=0 --output=./vanillacnn --soc_version=Ascend310 --input_shape="data:4,3,40,40" --input_format=NCHW

# sphereface模型权重下载
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/sphereface/sphereface.caffemodel
# sphereface模型网络下载
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/sphereface/sphereface.prototxt
# 对应的cfg文件下载
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/face_recognition_camera/sphereface_insert_op.cfg
# 使用ATC模型转换工具进行模型转换
atc --model=./sphereface.prototxt --weight=./sphereface.caffemodel --framework=0 --output=./sphereface --soc_version=Ascend310 --insert_op_conf=./sphereface_insert_op.cfg --input_shape="data:8,3,112,96" --input_format=NCHW

cd ${HOME}/samples/cplusplus/level2_simple_inference/n_performance/1_multi_process_thread/face_recognition_camera/scripts
bash sample_build.sh
任选一个架构进行编译

bash sample_run.sh
任选一个ip用于Presenter Server
输入保存面部识别信息的绝对路径






华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100
所有题目均有五种语言实现。C实现目录、C++实现目录、Python实现目录、Java实现目录、JavaScript实现目录题目n行m列的矩阵,每个位置上有一个元素你可以上下左右行走,代价是前后两个位置元素值差的绝对值.另外,你最多可以使用一次传送阵(只能从一个数跳到另外一个相同的数)求从走上角走到右下角最少需要多少时间。输入描述:第一行两个整数n,m,分别代表矩阵的行和列。后面n行,每行m个整数,分别代表矩阵中的元素。输出描述:一个整数,表示最少需要多少时间。
当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在
西安华为OD面试体验开始投简历技术面试进展工作进展开始投简历去年一整年一直在考研和工作之间纠结,感觉自己的状态好像当时的疫情一样差劲。之前刚毕业的时候投了个大厂的简历,结果一面写算法的时候太拉跨了,虽然知道时dfs但是代码熟练度不够,放在平时给足时间自己可以调试通过,但是熟练度不够那面试当时就写不出来被刷了。说真的算法学到后期我感觉最重要的是熟练度和背板子(对于我这种普通玩家来说),面试题如果一上来短时间内想不出思路就完蛋了。然后由于当时找的工作不是很理想就又想考研了。但是考研是有风险的,我自我感觉自己可能冲不上那个学校,而找工作一个没成可以继续找嘛。本着抱着试试看的态度在boss上投了简历,
技术选型1,前端小程序原生MINA框架cssJavaScriptWxml2,管理后台云开发Cms内容管理系统web网页3,数据后台小程序云开发云函数云开发数据库(基于MongoDB)云存储4,人脸识别算法基于百度智能云实现人脸识别一,用户端效果图预览老规矩我们先来看效果图,如果效果图符合你的需求,就继续往下看,如果不符合你的需求,可以跳过。1-1,登录注册页可以看到登录页有注册入口,注册页如下我们的注册,需要管理员审核,审核通过后才可以正常登录使用小程序1-2,个人中心页登录成功以后,我们会进入个人中心页我们在个人中心页可以注册人脸,因为我们做人脸识别签到,需要先注册人脸才可以进行人脸比对,进
我试图在我的RubyonRails应用程序中调试一个极其缓慢的请求调用。我已设法根据自己的喜好优化Controller方法,Rails的日志告诉我它已在XX毫秒内完成操作(Completed200OKin5049ms(Views:34.9ms|ActiveRecord:76.3ms)).但是,在加载页面时,在浏览器中实际呈现任何内容之前打印此消息很长;最多约15秒的等待时间。Rackmini-profiler证实了这一点,告诉我GET操作(不计算完成Controller操作所花费的时间)花费了14秒左右。(分析器还确认Controller操作的执行时间约为5秒)。我可以接受Contro
我正在使用SendgridParseAPI和Griddlergem来接受传入的电子邮件。在大多数情况下,这工作正常;但是,如果您未使用状态代码200响应Sendgrid,他们将假定该应用程序未正确接收POST请求并继续尝试进行POST3天。我正在尝试使用状态代码进行响应,但遇到了问题。在常规的RESTful路由中,您可以执行类似...render:status=>200但是,我认为这必须在Controller中完成才能识别渲染方法。Griddler建议您创建一个EmailProcessor模型并使用“处理”方法来处理电子邮件。据我了解,您不能在模型中使用渲染方法。因此,我使用类方法创建
目录一、安装包链接二、安装详细步骤1.安装Wireshark和WinPcap2.安装OracleVMVirtualBox3.安装ensp三、安装后注册四、启动路由器出现40错误怎么解决一、安装包链接二、安装详细步骤链接:https://pan.baidu.com/s/1QbUUYMOMIV2oeIKHWP1SpA?pwd=xftx提取码:xftx1.安装Wireshark和WinPcap找到Wireshark安装包所在文件夹,双击它,按照以下步骤安装。2.安装OracleVMVirtualBox找到OracleVMVirtualBox安装包所在文件夹,双击它,按照以下步骤安装。注:可自定义安装
近日,上海证券交易所科创板披露的信息显示,嘉兴中润光学科技股份有限公司(下称“中润光学”)获得上市委会议通过。这意味着,中润光学的上市之路获得实质性进展,接下来将提交注册。据贝多财经了解,中润光学的招股书于2022年5月20日获得科创板受理,5个月后便获得上市委会议通过,进度不可谓不快。本次冲刺科创板上市,中润光学拟募资4.05亿元,计划用于高端光学镜头智能制造项目、高端光学镜头研发中心升级项目等。天眼查信息显示,中润光学成立于2012年8月,是一家以从事非金属矿物制品业为主的企业。当前,该公司的注册资本为6600万元,法定代表人为张平华。穿透股权可知,张平华也是该公司的实际控制人。据招股书介