Ubuntu22.04安装教程&基于华为Ascend AI处理器的om模型atc转换环境安装

 这篇文章首写于2023.8 当前昇腾网站已经有了相应的版本更新,目前已经更新相应的内容

该文章使用过Ubuntu18.04和Ubuntu22.04配置,都可以使用

首次使用华为的Atlas500的智能小站,从零开始摸索到成功部署一个项目到小站上。写篇博客总结记录一下:
本文章基于以下教程实现https://www.hiascend.com/document/detail/zh/quick-installation/23.0.RC2/quickinstg/800_3000/quickinstg_800_3000_0019.htmlicon-default.png?t=N7T8https://www.hiascend.com/document/detail/zh/quick-installation/23.0.RC2/quickinstg/800_3000/quickinstg_800_3000_0019.html
https://bbs.huaweicloud.com/blogs/313149icon-default.png?t=N7T8https://bbs.huaweicloud.com/blogs/313149

目录

一、安装虚拟机

二、配置虚拟机

三、设置Ubuntu22.04

四、查看当前环境架构

五、配置python环境

1.根据昇腾社区的安装文档,我们直接安装python3.7.5的版本以及需要的环境包

安装依赖

安装Python

安装python依赖

2.安装Anaconda,创建虚拟的python3.7.5环境。这个方法在多个python环境下使用较为便利

下载安装包

六、安装CANN环境

七、配置ATC运行环境

八、Pytorch系列的ATC转换

九、报错&解决方案


一、安装虚拟机

以我的虚拟机为例,我使用的是VMware Workstation 虚拟机来进行工作

VMware Workstation 是一款功能强大的虚拟机软件,它允许用户在单台计算机上创建和运行多个虚拟机,每个虚拟机都可以运行不同的操作系统。这使得用户可以在同一主机上同时运行不同的操作系统,如Windows、Linux、Mac等。

下载地址:

https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.htmlicon-default.png?t=N7T8https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html

直接下载适用于windows的最新版即可,如果需要秘钥,可以自行网上搜索

下图为安装界面

接受条款

目录根据自己的磁盘空间自行修改,环境变量可以选择添加

之后等待安装成功即可

二、配置虚拟机

==================2024.04更新 以Ubuntu22.04搭建配置环境=======================

打开虚拟机的图标,内容如下图:

点击“创建新的虚拟机”,配置选择经典

这里需要选择一个虚拟机的光盘映像文件(ISO)

这里提供华为的开源镜像站

https://mirrors.huaweicloud.com/homeicon-default.png?t=N7T8https://mirrors.huaweicloud.com/home

该教程使用的是使用Ubuntu22.04的镜像,链接如下

https://mirrors.huaweicloud.com/ubuntu-releases/#/icon-default.png?t=N7T8https://mirrors.huaweicloud.com/ubuntu-releases/#/

继续操作,这里填写个人的信息

选择好新创建的虚拟机的名字以及相应的存放路径,存放路径需要选择空间大一些的地方,虚拟机名称之后会显示在左边我的计算机下,可随时修改

该教程用于华为的ATC转换,内存需求量需要大一些,一般需要50G以上

这里选择自定义硬件,根据不同电脑的配置选择相应的硬件

最后启动虚拟机

三、设置Ubuntu22.04

承接上文,开启虚拟机后,画面如下,点击continue

继续continue

Install Now

随便选,然后continue

认真填写,尽量往简单写,勾选自动登录,省事不少

点击Settings,进入Region&Language,更改语言,再点击Manage Installed Languages,会显示需要下载什么内容,点击下载,下载完毕后,点击应用到整个系统,然后重启

点开终端,设置root用户密码

sudo -i #输入当前用户密码,进入root
passwd  #更新root用户的密码

之后进入root用户可以使用如下命令

su root

更改Ubuntu源为国内源,以下命令皆以root环境下运行

首先备份配置文件

cp -a /etc/apt/sources.list /etc/apt/sources.list.bak

修改sources.list文件,将http://archive.ubuntu.comhttp://security.ubuntu.com替换成http://mirrors.huaweicloud.com,可以参考如下命令:

sed -i "s@http://.*archive.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
sed -i "s@http://.*security.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list

执行apt-get update更新索引,根据链接可知更新成功

apt-get update

安装网络配置文件,命令如下

apt-get install net-tools

#安装完成后查看命令如下
ifconfig

升级vim,命令如下:

apt-get install vim

使用SFTP来连接宿主机和虚拟机

我使用的软件如下

FileZilla FTP Client

在虚拟机里面更新ssh,命令如下:

apt-get install ssh

修改ssh的配置文件

vi /etc/ssh/sshd_config

找到这行

修改后如下:

重启ssh:

systemctl restart ssh

使用root用户连接

成功

安装git,命令如下:

apt-get install git

至此,Ubuntu22.04的基本环境安装完成

四、查看当前环境架构

我们首先查看我们的设备架构:

uname -m

查看我们root用户的权限掩码,我们的权限掩码应当为0022

umask

 

如不是,进行修改

vi ~/.bashrc
umask 0022 #在最后一行添加
source ~/.bashrc

五、配置python环境

根据CANN的安装要求,我们的python环境最好限制在3.7.5这个版本

在此之上,我们有2种python环境的安装方案

1.根据昇腾社区的安装文档,我们直接安装python3.7.5的版本以及需要的环境包

安装步骤(Ubuntu 22.04)icon-default.png?t=N7T8https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC1alpha003/softwareinst/instg/instg_0028.html

安装依赖

检查系统是否安装python依赖以及gcc等软件。

分别使用如下命令检查是否安装gcc,make以及python依赖软件等

如果是新开的虚拟机,那基本都没装的

gcc --version
g++ --version
make --version
cmake --version
dpkg -l zlib1g| grep zlib1g| grep ii
dpkg -l zlib1g-dev| grep zlib1g-dev| grep ii
dpkg -l libsqlite3-dev| grep libsqlite3-dev| grep ii
dpkg -l openssl| grep openssl| grep ii
dpkg -l libssl-dev| grep libssl-dev| grep ii
dpkg -l libffi-dev| grep libffi-dev| grep ii
dpkg -l libbz2-dev| grep libbz2-dev| grep ii
dpkg -l libxslt1-dev| grep libxslt1-dev| grep ii
dpkg -l unzip| grep unzip| grep ii
dpkg -l pciutils| grep pciutils| grep ii
dpkg -l net-tools| grep net-tools| grep ii
dpkg -l libblas-dev| grep libblas-dev| grep ii
dpkg -l gfortran| grep gfortran| grep ii
dpkg -l libblas3| grep libblas3| grep ii

如果没安装,以下为安装命令

apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev libbz2-dev libxslt1-dev unzip pciutils net-tools libblas-dev gfortran libblas3 liblzma-dev

检查系统是否安装满足版本要求的python开发环境。执行如下命令

python3 --version
pip3 --version

安装Python

该操作指导来源如下:

编译安装Python3.7.5icon-default.png?t=N7T8https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC1alpha003/softwareinst/instg/instg_0119.html#ZH-CN_TOPIC_0000001818284426

使用wget下载python3.7.5源码包,可以下载到安装环境的任意目录,命令为:

(我惯例的安装目录在/usr/local

wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz

进入下载后的目录,解压源码包,命令为:

tar -zxvf Python-3.7.5.tgz

改名,命令为:

mv Python-3.7.5 python

进入解压后的文件夹,执行配置、编译和安装命令:

cd python
./configure --prefix=/usr/local/python --enable-loadable-sqlite-extensions --enable-shared
make
make install

其中“--prefix”参数用于指定python安装路径,用户根据实际情况进行修改。“--enable-shared”参数用于编译出libpython3.7m.so.1.0动态库。“--enable-loadable-sqlite-extensions”参数用于加载libsqlite3-dev依赖。

以--prefix=/usr/local/python路径为例进行说明。执行配置、编译和安装命令后,安装包在/usr/local/python路径,libpython3.7m.so.1.0动态库在/usr/local/python/lib/libpython3.7m.so.1.0路径。

设置python3.7.5环境变量

#用于设置python3.7.5库文件路径

vi ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/python/lib:$LD_LIBRARY_PATH

#如果用户环境存在多个python3版本,则指定使用python3.7.5版本

export PATH=/usr/local/python/bin:$PATH
source ~/.bashrc

安装完成之后,执行如下命令查看安装版本,如果返回相关版本信息,则说明安装成功。

python3 --version
pip3 --version

升级pip

pip3 install --upgrade pip

安装python依赖
pip3 install attrs
pip3 install numpy
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
pip3 install absl-py

点开如下命令查看是否安装成功

pip list

至此,python的配置结束

2.安装Anaconda,创建虚拟的python3.7.5环境。这个方法在多个python环境下使用较为便利

首先仍然需要安装依赖

apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev libbz2-dev libxslt1-dev unzip pciutils net-tools libblas-dev gfortran libblas3 liblzma-dev

下面是anaconda的下载链接Free Download | AnacondaAnaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.icon-default.png?t=N7T8https://www.anaconda.com/download

下载安装包

首先需要提供一个邮箱来下载

anaconda下载界面

选择Linux下的第一个链接下载安装包

下载完安装包后,安装命令如下:

chmod +x Anaconda3-5.3.0-Linux-x86_64.sh
bash ./Anaconda3-5.3.0-Linux-x86_64.sh

接下来一直按回车,有yes就选yes,添加环境变量的时候一定要选yes 

安装完成之后重启终端即可看见,因为我是用root用户安装,所以我需要进入root用户才能看见

创建python3.7.5的虚拟环境,命令如下:

conda create -n v3onnx python=3.7.5

之后我们需要安装python依赖

pip3 install attrs
pip3 install numpy
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
pip3 install absl-py

六、安装CANN环境

在昇腾社区官网上下载CANN的两个包:toolkit和nnrt包

下面链接是最新版的CANN版本

https://www.hiascend.com/zh/developer/download/community/result?module=cannicon-default.png?t=N7T8https://www.hiascend.com/zh/developer/download/community/result?module=cann

下面链接是历史版本的CANN

https://www.hiascend.com/software/cann/community-historyicon-default.png?t=N7T8https://www.hiascend.com/software/cann/community-history

注:CANN6.0.0和固件22.04适配

===============2024.04更新 以Ubuntu22.04搭建配置CANN环境=====================

这里我们选用最新版本的CANN来进行安装

Ascend-cann-toolkit_8.0.RC1.alpha003_linux-x86_64

Ascend-cann-nnrt_8.0.RC1.alpha003_linux-x86_64

将包下载好放入虚拟机环境中,开始安装:

chmod +x Ascend-cann-nnrt_8.0.RC1.alpha003_linux-x86_64.run
chmod +x Ascend-cann-toolkit_8.0.RC1.alpha003_linux-x86_64.run
#赋予权限

./Ascend-cann-nnrt_8.0.RC1.alpha003_linux-x86_64.run --check
./Ascend-cann-toolkit_8.0.RC1.alpha003_linux-x86_64.run --check
#检查安装包完整性

./Ascend-cann-nnrt_8.0.RC1.alpha003_linux-x86_64.run --install
./Ascend-cann-toolkit_8.0.RC1.alpha003_linux-x86_64.run --install
#安装

toolkit情况

nnrt情况

一般而言,出现install success即为安装成功

如果出现失败,有情况下可能是储存空间不够,可以加大虚拟机的储存空间,若出现其他问题,具体情况具体分析

七、配置ATC运行环境

由于环境未配置,哪怕我们安装了CANN包也无法使用atc命令,因此我们需要配置环境

vi ~/.bashrc

export ASCEND_TOOLKIT_HOME=/usr/local/Ascend/ascend-toolkit/latest
export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/lib64/plugin/opskernel:${ASCEND_TOOLKIT_HOME}/lib64/plugin/nnengine:/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/devlib/:$LD_LIBRARY_PATH
export PYTHONPATH=${ASCEND_TOOLKIT_HOME}/python/site-packages:${ASCEND_TOOLKIT_HOME}/opp/op_impl/built-in/ai_core/tbe:$PYTHONPATH
export PATH=${ASCEND_TOOLKIT_HOME}/bin:${ASCEND_TOOLKIT_HOME}/compiler/ccec_compiler/bin:$PATH
export ASCEND_AICPU_PATH=${ASCEND_TOOLKIT_HOME}
export ASCEND_OPP_PATH=${ASCEND_TOOLKIT_HOME}/opp
export TOOLCHAIN_HOME=${ASCEND_TOOLKIT_HOME}/toolkit
export ASCEND_HOME_PATH=${ASCEND_TOOLKIT_HOME}

source ~/.bashrc

一般情况下,这些环境写进去即可使用atc命令

若仍不能使用,可查看具体问题进行解决

八、Pytorch系列的ATC转换

以yolov5为例,采用的说明文档如下:

https://gitee.com/ascend/modelzoo-GPL/tree/master/built-in/ACL_Pytorch/Yolov5_for_Pytorchicon-default.png?t=N7T8https://gitee.com/ascend/modelzoo-GPL/tree/master/built-in/ACL_Pytorch/Yolov5_for_Pytorch1.获取yolov5源码

git clone https://github.com/ultralytics/yolov5.git
cd yolov5
git checkout v2.0/v3.1/v4.0/v5.0/v6.0/v6.1/v6.2/v7.0  # 切换到所用版本

这里以v6.0为例

(注:如果要切换分支,直接使用如下命令)

git checkout 分支名

将推理代码部署到yolov5里面,命令如下:

这是总文件夹,请自行去找相应的文件

git clone https://gitee.com/ascend/modelzoo-GPL.git
 Yolov5_for_Pytorch
 └── common                        放到yolov5下
   ├── util                          模型/数据接口
   ├── quantify                      量化接口
   ├── atc_cfg                       atc转模型配置文件
   └── patch                         兼容性修改
 ├── model.yaml                    放到yolov5下 
 ├── pth2onnx.sh                   放到yolov5下
 ├── onnx2om.sh                    放到yolov5下
 ├── aipp.cfg                      放到yolov5下
 ├── om_val.py                     放到yolov5下
 ├── yolov5_preprocess_aipp.py     放到yolov5下
 ├── yolov5_preprocess.py          放到yolov5下
 ├── yolov5_postprocess.py         放到yolov5下
 └── requirements.txt              放到yolov5下

2.安装yolov5的依赖,命令如下:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

3.安装其他依赖,命令如下:

git clone https://gitee.com/ascend/msadvisor.git
cd msadvisor/auto-optimizer
python3 -m pip install wheel
python3 -m pip install .

4. 下载权重文件,这里以yolov5s.pt为例

wget https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5s.pt

5.导出onnx模型,命令如下:

bash pth2onnx.sh --tag 6.0 --model yolov5s --nms_mode nms_script  # nms_script

6.使用ATC工具将onnx模型转om模型,命令如下:

bash onnx2om.sh --tag 6.0 --model yolov5s --nms_mode nms_script --bs 1 --soc Ascend310

九、报错&解决方案

ModuleNotFoundError: No module named '_lzma'

解决方案:

apt-get install liblzma-dev -y
重新编译python,上面安装python那里有写

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值