海思平台环境搭建并测试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

相关文章

python项目环境切换的几种实现方式

《python项目环境切换的几种实现方式》本文主要介绍了python项目环境切换的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 如何在不同python项目中,安装不同的依赖2. 如何切换到不同项目的工作空间3.创建项目

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

MongoDB搭建过程及单机版部署方法

《MongoDB搭建过程及单机版部署方法》MongoDB是一个灵活、高性能的NoSQL数据库,特别适合快速开发和大规模分布式系统,本文给大家介绍MongoDB搭建过程及单机版部署方法,感兴趣的朋友跟随... 目录前言1️⃣ 核心特点1、文档存储2、无模式(Schema-less)3、高性能4、水平扩展(Sh

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践