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

相关文章

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j