栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Atlas500交叉编译环境配置 -- toolkit版本

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Atlas500交叉编译环境配置 -- toolkit版本

文章目录
  • Atlas500交叉编译环境配置 -- toolkit版本
    • 1、准备工作
    • 2、安装os依赖
    • 3、安装开发套件包
      • 交叉编译ffmpeg
    • 交叉编译工程

Atlas500交叉编译环境配置 – toolkit版本 1、准备工作

1、安装虚拟机、安装ubuntu18.04、安装tools。

2、sudo passwd root 设置root密码

3、su root 使用root账号登陆

4、umask 检查root用户的umask值。如果umask不等于0022,请执行如下操作配置,在该文件的最后一行添加umask 0022后保存。

​ a:在任意目录下执行命令 vi ~/,bashrc.,打开**.bashrc文件:在文件最后一行后面添加umask 0022 内容。执行:wq!**命令保存文件并退出。

​ b:执行source ~/.bashrc命令使其立即生效。

5、创建安装及运行用户

groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
passwd HwHiAiUser
  • 使用非root用户运行。
    • (推荐)如果创建的运行用户是HwHiAiUser,其为CANN软件包的默认运行用户,在安装时无需指定该运行用户。
    • 如果创建的运行用户是非HwHiAiUser,安装CANN软件包时需要指定该运行用户。
HwHiAiUser ALL=(ALL:ALL)   NOPASSWD:SETENV:/usr/bin/apt-get, /usr/bin/pip, /bin/tar, /bin/mkdir, /bin/rm, /bin/sh, /bin/cp, /bin/bash, /usr/bin/make install, /bin/ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7, /bin/ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7, /bin/ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5, /bin/ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5, /usr/bin/unzip
2、安装os依赖

1、全程采用root账号进行安装。采用以下命令分别检查是否安装了gcc、cmake、make以及python依赖,注意cmake版本需要在3.14以上

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 unzip| grep unzip| grep ii
dpkg -l pciutils| grep pciutils| grep ii
dpkg -l net-tools| grep net-tools| grep ii

如果没有安装,则使用以下命令进行安装

apt-get install -y 依赖项名

2、检查系统是否安装python开发环境。

python3.7.5 --version、pip3.7.5 --version

否则请根据如下方式安装python3.7.5。

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

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

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

tar -zxvf Python-3.7.5.tgz

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

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依赖。本手册以–prefix=/usr/local/python3.7.5路径为例进行说明。执行配置、编译和安装命令后,安装包在/usr/local/python3.7.5路径,libpython3.7m.so.1.0动态库在/usr/local/python3.7.5/lib/libpython3.7m.so.1.0路径。

​ d.查询/usr/lib64或/usr/lib下是否有libpython3.7m.so.1.0,若有则跳过此步骤或将系统自带的libpython3.7m.so.1.0文件备份后执行如下命令:将编译后的文件libpython3.7m.so.1.0复制到/usr/lib64。如果环境上没有/usr/lib64,则复制到/usr/lib目录.

sudo cp /usr/local/python3.7.5/lib/libpython3.7m.so.1.0 /usr/lib64

​ e.执行如下命令设置软链接:

sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7
sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7
sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5
sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5

执行上述软链接时如果提示链接已经存在,则可以先执行如下命令删除原有链接然后重新执行。

sudo rm -rf  /usr/bin/python3.7.5
sudo rm -rf  /usr/bin/pip3.7.5
sudo rm -rf  /usr/bin/python3.7
sudo rm -rf  /usr/bin/pip3.7

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

python3.7.5 --version
pip3.7.5  --version

3、安装 Python3开发环境。

pip3.7.5 install attrs 
pip3.7.5 install psutil 
pip3.7.5 install decorator 
pip3.7.5 install numpy 
pip3.7.5 install protobuf==3.11.3 
pip3.7.5 install scipy 
pip3.7.5 install sympy 
pip3.7.5 install cffi 
3、安装开发套件包

指令:

sudo -H ./Ascend-cann-toolkit_20.1.rc1_linux-x86_64.run --install-username=zhtx --install-usergroup=zhtx --install

username为安装toolkit时使用的用户名。

2、安装交叉编译工具

sudo apt-get install g+±aarch64-linux-gnu

安装结果在/usr/bin中

cmake -DCMAKE_TOOLCHAIN_FILE=/opt/Euler.cmake ..

cmake -DCMAKE_INSTALL_PREFIX=/opt/aarch64/opencv -DCMAKE_TOOLCHAIN_FILE=/opt/Euler.cmake -DWITH_WEBP=OFF -DBUILD_opencv_world=ON …

./configure --prefix=/opt/aarch64/ffmpeg --target-os=linux --arch=aarch64 --enable-cross-compile --cross-prefix=aarch64-linux-gnu- --enable-shared --disable-doc

交叉编译ffmpeg

1. 准备交叉编译环境

(1) 请准备一台x86_64服务器,将我们提供的Atlas500_package.zip多次解压,获取Euler_compile_env_cross文件夹。

​ Euler_compile_env_cross就是我们提供的在x86_64服务器使用的交叉编译工具,方便编译Atlas 500上的程序。

(2) 修改/etc/profile,设置环境变量,添加至文件最后

​ export PATH=$PATH:/Euler_compile_env_cross/arm/cross_compile/install/bin

(3) 应用生效

​ source /etc/profile

(4) 查看交叉编译工具aarch64-linux-gnu-g++版本,验证是否生效

​ aarch64-linux-gnu-g++ -v

2. 编译ffmpeg

(1) 在编译前,需要下载安装ffmpeg源码(建议使用ffmpeg 4.1及以上版本)到x86_64服务器。

(2) 下载后,放到程序待运行的linux主机上,解压:

​ tar zxvf FFmpeg-n4.1.3.tar.gz

(3) 进入FFmpeg-n4.1.3目录,执行configure:

​ ./configure

​ --prefix=

​ --target-os=linux

​ --arch=aarch64

​ --enable-cross-compile

​ --cross-prefix=/aarch64-linux-gnu-

​ --enable-shared

​ --disable-doc

注:

​ 为ffmpeg安装路径(下同), 如:/opt/aarch64/ffmpeg

​ 为x86_64服务器aarch64-linux-gnu放置位置,

如:/home/Atlas500_DDK/toolchains/aarch64-linux-gcc6.3/bin

安装atlasutil

交叉编译工程

export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest/arm64-linux

export NPU_HOST_LIB=$DDK_PATH/acllib/lib64/stub

cmake …/src -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SKIP_RPATH=TRUE

scp命令

scp paul@192.168.1.110:

外部库如opencv要用host侧编译。

Atlas500上工程预处理需要在host侧编译,深度学习部分要在drives侧编译。

无法获得锁。

sudo rm -r -f /var/lib/dpkg/lock-frontend

sudo rm -r -f /var/lib/dpkg/lock

第一次连接板卡scp报错:

ssh-keygen -R 目标主机

测试案例。

交叉编译ffmpeg

./configure --prefix=/home/zhtx/ascend_ddk/arm --target-os=linux --arch=aarch64 --enable-cross-compile --cross-prefix=/usr/bin/aarch64-linux-gnu- --enable-shared --disable-doc

make

sudo make install

交叉编译opencv

下载cmake-gui

sudo cmake -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -D BUILD_SHARED_LIBS=ON -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/zhtx/ascend_ddk/arm -D WITH_LIBV4L=ON …

sudo make

交叉编译程序:

cmake -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ …

export ASCEND_HOME=/home/zhtx/Ascend
export LD_LIBRARY_PATH= A S C E N D H O M E / a s c e n d − t o o l k i t / l a t e s t / a c l l i b / l i b 64 : {ASCEND_HOME}/ascend-toolkit/latest/acllib/lib64: ASCENDH​OME/ascend−toolkit/latest/acllib/lib64:LD_LIBRARY_PATH

export FFMPEG_PATH=/home/zhtx/ascend-ddk/arm
export LD_LIBRARY_PATH= F F M P E G P A T H / l i b : FFMPEG_PATH/lib: FFMPEGP​ATH/lib:LD_LIBRARY_PATH

cd /var/lib/docker/test/InferOfflineVideo/dist/

scp zhtx@192.168.1.110:/home/zhtx/src/Samples/InferOfflineVideo/dist/main .

./main -i .1.jpg -t 0

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268970.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号