Ubuntu安装CANN相关依赖

举报
jackwangcumt 发表于 2021/11/13 14:50:38 2021/11/13
【摘要】 华为推出的Atlas 500智能小站是面向边缘应用的产品,具有超强计算性能、体积小、环境适应性强、易于维护和支持云边协同等特点,可以在边缘环境广泛部署,满足在安防、交通、社区、园区、商场、超市等复杂环境区域的应用需求。而为了开发、调试和部署各类新的AI应用,则需要借助一套开发框架CANN,本文在Ubuntu 18.04系统中,介绍如何安装CANN前置依赖项。

1 CANN概述


      华为推出的Atlas相关系列在人工智能方面有大量的应用,如Atlas 500智能小站是面向边缘应用的产品,具有超强计算性能、体积小、环境适应性强、易于维护和支持云边协同等特点,可以在边缘环境广泛部署,满足在安防、交通、社区、园区、商场、超市等复杂环境区域的应用需求。而为了开发、调试和部署各类新的AI应用,则需要借助一套开发框架CANN(Compute Architecture for Neural Networks,异构计算架构)。华为的AI处理芯片则是昇腾系列处理器,官网为:
https://www.hiascend.com

     官网示意图如下所示:

1.png
    从官网可以知道,昇腾网址上分为软件平台硬件平台,分别可以下载不同的资源,软件平台下,就可以导航到CANN,CANN分为社区版商业版,其中的社区版包含新的特征,适用于尝试最新特征的用户,而生产环境则建议使用商业版本,它较为稳定。示意图如下所示:

2.jpg

在此网页上,可以根据需要选择安装相关的软件,如Ascend-cann-toolkit_5.0.3.1_linux-aarch64.run 。根据官方的文档说明:CANN是华为公司针对AI场景推出的异构计算架构,通过提供多层次的编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。CANN软件支持通过ascend-deployer命令行工具、msInstaller界面化工具以及命令行方式安装。CANN分为开发环境和运行环境。

开发环境:主要用于代码开发、编译、调测等开发活动。其中分为以下两种场景:
(场景一)在昇腾AI设备上安装开发环境,同时可以作为运行环境,运行应用程序或进行训练脚本的迁移、开发&调试。
(场景二)在非昇腾AI设备上安装开发环境,仅能用于代码开发、编译等不依赖于昇腾设备的开发活动(纯代码开发,好像不能运行应用)。
运行环境:在昇腾AI设备上运行用户开发的应用程序或进行训练脚本的迁移、开发&调试。

2 Ubuntu 依赖安装


      开发框架CANN开发环境支持多种操作系统,如这里的Ubuntu 18.04。首先需要安装好Ubuntu 18.04,在安装过程需要下载相关依赖,因此需要确保Ubuntu环境能够连接网络。请在root用户下执行如下命令检查源是否可用:

apt-get update

      国内的速度可能比较慢,因此可以重新指向国内的镜像源,具体操作如下:

#root运行
su root
#备份
cp /etc/apt/sources.list /etc/apt/sources.list.bak
#编辑
vi /etc/apt/sources.list 

插入国内镜像源,示意如下:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

然后更新,执行如下命令:

 apt-get update

稍等片刻,更新完毕后,安装一些OS依赖库,具体可执行如下命令:

sudo apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev 
sudo apt-get install -y unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev libncursesw5-dev

CANN 还依赖于Python3.7 ,因此首先确认一下本地的Python版本,执行命令python3 --version,如果python版本在3.7.0~ 3.7.11之间则可以跳过Python安装过程,默认情况下,Ubuntu 18.04安装的Python是3.6.9 。因此需要重新安装python3.7.5。在目录/home/jack/mysoft下,执行如下命令:

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

稍等片刻后,会在mysoft目录中下载完成此安装包Python-3.7.5.tgz。解压源码包:

tar -zxvf Python-3.7.5.tgz

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

cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make
sudo make install

其中“--prefix”参数用于指定python安装路径,用户根据实际情况进行修改。“--enable-shared”参数用于编译出libpython3.7m.so.1.0动态库。“--enable-loadable-sqlite-extensions”参数用于加载libsqlite3-dev依赖。安装完成后,如果输入python3还是未生效,需要配置环境变量。可以执行如下命令设置python3.7.5环境变量,执行如下命令:

#用于设置python3.7.5库文件路径
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
#如果用户环境存在多个python3版本,则指定使用python3.7.5版本
export PATH=/usr/local/python3.7.5/bin:$PATH

具体可以参考官网 https://support.huawei.com/enterprise/zh/doc/EDOC1100219211/d1443c4e  。再次查看版本信息:

python3 --version
Python 3.7.5
pip3 --version
pip 19.2.3 from /usr/local/python3.7.5/lib/python3.7/site-packages/pip (python 3.7)

关于Python相关的依赖,需要借助pip3进行安装,这里为了提高国内的下载速度,需要配置pip源,执行如下命令:

mkdir ~/.pip 
cd ~/.pip
vi pip.conf

pip.conf配置文件内容如下:

[global]
#以华为源为例,请根据实际情况进行替换。
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120

保存退出wq! 。安装前,建议执行命令进行升级,避免因pip版本过低导致安装失败。

pip3 install --upgrade pip

升级后,安装如下依赖项:

pip3 install attrs
pip3 install numpy==1.17.2
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 numpy==1.17.2安装失败,可执行pip3 install numpy(在Atlas 500上有Pyhon3环境,但是默认没有pip3环境,需要手动安装)。

3 Ubuntu 环境变量


      之前的配置Python环境变量,只能在当前的Shell窗口有效,当开启新的命令窗口,则环境变量失效,示意如下所示:

5.jpg

 重新打开新的窗口,则python3还是之前的3.6.9。Ubuntu系统包含2类环境变量:

系统环境变量:对所有系统用户都有效。推荐将系统环境变量保存在/etc/profile/etc/profile.d中。其中/etc/profile.d文件夹来源于/etc/profile,在该目录下所有的*.sh文件都会被加载。而/etc/bash.bashrc在图形界面环境下启动时,不会加载。

用户环境变量:仅对当前的用户有效。推荐将用户环境变量保存在~/.profile中,因为无论是通过控制台还是图形界面启动程序时,都会自动执行该文件。而~/.bashrc, ~/.bash_profile, ~/.bash_login,当通过Shell启动时被加载;当通过图形界面启动程序时,不会加载。

下面设置永久的环境变量,命令如下:

vi /etc/profile

增加的内容如下:

6.jpg

执行如下命令生效:

 source /etc/profile

为后续安装CANN软件包、运行CANN软件环境变量设置脚本时能够自动配置python3.7.5环境变量,用户需提前创建好文件“use_private_python.info”,执行如下命令(root用户):

vi /etc/use_private_python.info

内容如下:

python3_install_path=/usr/local/python3.7.5
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。