海思平台环境搭建并测试AI例程

2024-05-29 17:28

本文主要是介绍海思平台环境搭建并测试AI例程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先粘链接,本次测试所用的例程samples: CANN Samples - Gitee.com

接下来记录环境搭建步骤

  • 开发环境配置

        首先需要Ubuntu18.04版本,可以是虚拟机或实体机

        然后需要安装一些工具,汇总一下是gcc g++ cmake make unzip build-essential zlib1g zlib1g-dev libbz2-dev libsqlite3-dev libssl-dev libxslt1-dev libffi-dev openssl

        然后需要安装python3.9.2,使用下面指令下载源码包,然后进行编译和安装

wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgztar -zxvf Python-3.9.2.tgz
cd Python-3.9.2
./configure --prefix=/usr/local/python3.9.2 --with-ssl-default-suites=openssl --enable-shared CFLAGS=-fPIC
make 
sudo make install

        根据安装时配置的安装路径,设置环境变量

export LD_LIBRARY_PATH=/usr/local/python3.9.2/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/python3.9.2/bin:$PATH

         接下来需要安装一下CANN的相关依赖

pip3 install –upgrade pip//先升级pippip3 install protobuf==3.13.0 –user
pip3 install psutil==5.7.0 –user
pip3 install numpy==1.13.3 –user
pip3 install scipy==1.4.1 –user
pip3 install decorator==4.4.0 –user
pip3 install sympy==1.5.1 –user
pip3 install cffi==1.12.3 –user
pip3 install pyyaml –user
pip3 install pathlib2 –user

         接下来开始安装CANN,软件包获取链接https://download.csdn.net/download/u011436603/89373712,下载后解压并安装

tar -zxvf NNN_PC.tgz
cd NNN_PCchmod +x tooltkit.run./toolkit.run --check
./toolkit.run --install

        要使用CANN软件包时,执行命令生效环境变量

source ${INSTALL_DIR}/bin/setenv.bash

         然后是交叉编译工具安装,链接https://download.csdn.net/download/u011436603/89373725,下载后解压安装

tar -zxvf aarch64-mix210-linux.tgz
cd aarch64-mix210-linux./aarch64-mix210-linux.install

         好了,工具都安装好了,接下来开始测试例程

        从git上拉取源码samples: CANN Samples - Gitee.com,进入resnet50_async_imagenet_classification样例目录下,新建/caffe_model目录,然后将ResNet-50网络的模型文件(*.prototxt)和ResNet-50网络的预训练模型文件(*.caffemodel)下载下来放到/caffe_model目录下。

        模型文件(*.prototxt)下载

        预训练模型文件(*.caffemodel)下载

        然后是使用atc工具将原始模型转为适配SoC的离线模型(*.om文件),生成的(*.om文件)处于/model目录下。

atc --model=caffe_model/resnet50.prototxt --weight=caffe_model/resnet50.caffemodel --framework=0 --output=model/resnet50 --soc_version=OPTG --input_format=NCHW --input_fp16_nodes=data --output_type=FP32 --out_nodes=prob:0 --enable_single_stream=true

         最后我们来编译例程源码

        需要先设置下环境变量

export DDK_PATH=${INSTALL_DIR}
export NPU_HOST_LIB=${INSTALL_DIR}/aarch64-linux/devlib

         再创建一个目录,用于存放cmake编译文件,然后先执行cmake指令生成makefile,然后使用make编译,最后生成可执行文件main在/out目录下。

mkdir -p build/intermediates/soccd build/intermediates/soc
cmake ../../../src -DCMAKE_CXX_COMPILER=aarch64-mix210-linux-g++ -DCMAKE_SKIP_RPATH=TRUEmake

         然后我们准备下测试数据,这个例程是图片分类,我们需要下载两张图片放到/data下,然后将其转换为bin文件以供后续测试。

        图片1        图片2

        然后执行/script下的脚本进行转换

cd data
python3 ../script/transferPic.py

         如果执行脚本报错“ModuleNotFoundError: No module named 'PIL'”,则表示缺少Pillow库,执行下面的指令安装Pillow后再去转换。

pip3 install Pillow --user

         至此开发环境配置全部结束。

  • 板端环境配置

        将例程文件夹整体拷贝到板子上,例如“/root/acl_resnet50“

        将需要用到的库拷到板子上,例如“root/demolib”

        设置环境变量

export LD_LIBRARY_PATH=/root/demolib
export ASCEND_AACPU_KERNEL_PATH=/root/demolib

        然后进入main所在目录,执行查看效果

chmod +x main
./main

        执行成功后,终端会输出结果信息

这篇关于海思平台环境搭建并测试AI例程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1014164

相关文章

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.