海思平台环境搭建并测试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快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对