搭建CANN开发+运行环境实验报告
一、系统安装
1.挂载镜像
2.进入BIOS选择启动方式
3.开始安装系统
4.修改网卡信息
使用nmtui命令
修改完后重启网卡
systemctl restart network
使用远程连接工具连接到服务器
四、本机开启SSH服务(为服务器做web认证使服务器能够连接外网)
这里安装可能较慢,需要等待
net user zdk Admin@9000 /add
net start sshd
查看本机无线IP地址
在远程连接工具输入
ssh -NfR 192.168.211.20:9022:1.1.1.3:80 zdk@192.168.211.20
192.168.211.20:9022:1.1.1.3:80:这里代表把公司1.1.1.3的80web认证端口转发到本机192.168.211.20的9022端口,从而实现在服务器没有安装图形化界面的情况下进行登录认证
在本机浏览器输入
localhost:9022
认证完成:
测试服务器网络联通性:
yum install wget -y
二、驱动及固件安装
上传所需文件:
上传文件之前需要以管理员权限运行CMD关闭ssh服务,然后重新打开远程连接工具
net stop sshd
文件上传成功:
添加用户
groupadd -g 1000 HwHiAiUser
useradd -g HwHiAiUser -u 1000 -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
赋于可执行权限
到文件所在目录执行
chmod +x *
安装驱动:
./Ascend-hdk-310p-npu-driver_23.0.1_linux-aarch64.run --full --install-for-all
yum install pciutils net-tools -y
./Ascend-hdk-310p-npu-driver_23.0.1_linux-aarch64.run --full --install-for-all 重新执行脚本
npu-smi info
安装固件:
./Ascend-hdk-310p-npu-firmware_7.1.0.4.220.run --full
三、安装依赖和CANN
yum install -y gcc gcc-c++ make cmake unzip zlib-devel libffi-devel openssl-devel pciutils net-tools sqlite-devel lapack-devel gcc-gfortran
python --version
由于系统自带的python版本不满足要求,所以需要更新python版本。
下载python安装包
wget https://www.python.org/ftp/python/3.7.5/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
make install
设置Python3.7.5环境变量
vi ~/.bashrc
umask 0022
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/python3.7.5/bin:$PATH
source ~/.bashrc 更新环境变量
python3 -V
pip3 -V
安装成功如下图所示
cd ~/.pip
mkdir ~/.pip
cd ~/.pip
vi pip.conf
[global]
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120
pip3 install --upgrade pip
安装PIP3 依赖包
pip3 install attrs cython numpy decorator sympy cffi pyyaml pathlib2 psutil protobuf scipy requests absl-py
升级GCC版本 默认为4.8.5,要升级为7.3.0
下载gcc:
wget https://repo.huaweicloud.com/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
tar -zxvf gcc-7.3.0.tar.gz
cd gcc-7.3.0
yum -y install bzip2
./contrib/download_prerequisites
编译安装(时间较长)
./configure --enable-languages=c,c++ --disable-multilib --with-system-zlib --prefix=/usr/local/gcc7.3.0
make -j15&make install
vi ~/.bashrc
写入 ~/.bashrc 文件
export LD_LIBRARY_PATH=/usr/local/gcc7.3.0/lib64:${LD_LIBRARY_PATH}
export CC=/usr/local/gcc7.3.0/bin/gcc
export CXX=/usr/local/gcc7.3.0/bin/g++
export PATH=/usr/local/gcc7.3.0/bin:${PATH}
gcc --version
./Ascend-cann-toolkit_8.0.RC1.alpha003_linux-aarch64.run --install
配置CANN环境变量。
source /usr/local/Ascend/ascend-toolkit/set_env.sh
四、安装AI框架
# 下载官方torch包
wget https://download.pytorch.org/whl/torch-1.11.0-cp37-cp37m-manylinux2014_aarch64.whl
pip3 install torch-1.11.0-cp37-cp37m-manylinux2014_aarch64.whl
# 安装PyTorch插件torch_npu(二选一)安装已编译二进制文件
wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch1.11.0/torch_npu-1.11.0.post4-cp37-cp37m-linux_aarch64.whl
pip3 install torch_npu-1.11.0.post4-cp37-cp37m-linux_aarch64.whl
pip3 install torchvision==0.12.0
#下载昇腾提供的1.11.0版本的PyTorch插件包源码(二选一)下载源码自行编译
yum install git
git clone -b v6.0.RC1.alpha003-pytorch1.11.0 https://gitee.com/ascend/pytorch.git
cd pytorch
测试:
python3 -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"
使用git clone命令下载AI框架源码
cd ${HOME}
git clone https://gitee.com/ascend/samples.git
压缩包方式下载
# 1. samples仓右上角选择 【克隆/下载】,下拉框并选择 【下载ZIP】。
# 2. 将ZIP包上传到开发环境中的运行用户具有权限的目录中,【例如:${HOME}/ascend-samples-master.zip】。
# 3. 开发环境中,执行以下命令,解压zip包。
cd ${HOME}
unzip ascend-samples-master.zip
下载图片
cd $HOME/samples/inference/modelInference/sampleResnetQuickStart/cpp/data
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg
atc --model=resnet50.onnx --framework=5 --output=resnet50 --input_shape="actual_input_1:1,3,224,224" --soc_version=<soc_version>
安装配置程序编译相关依赖
yum install -y opencv opencv-devel
配置环境变量,配置程序编译依赖的头文件与库文件
export DDK_PATH=/usr/local/Ascend/ascend-toolkit/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub
编译样例源码。编译样例源码。
cd $HOME/samples/inference/modelInference/sampleResnetQuickStart/cpp/scripts
bash sample_build.sh
bash sample_run.sh