• 【SOPHON】算能盒子SE-16的配套x86交叉编译环境搭建



    盒子默认登录:admin/admin
    SophonSDK既兼容第三代BM1684芯片,也支持第四代BM1684X芯片。

    工具包简介

    tpu-mlir 为TPU编译器工程提供一套完整的工具链,可以将不同框架下预训练的神经网络,转化为可以在算能TPU上高效运行的二进制文件BModel。目前直接支持的框架包括tflite、onnx和Caffe。

    libsophon 提供BMCV、BMRuntime、BMLib等库,用来驱动VPP、TPU等硬件,完成图像处理、张量运算、模型推理等操作,供用户进行深度学习应用开发。

    sophon-mw 封装了BM-OpenCV、BM-FFmpeg等库,用来驱动VPU、JPU等硬件,支持RTSP流、GB28181流的解析,视频图像编解码加速等,供用户进行深度学习应用开发。

    sophon-sail 提供了支持Python/C++的高级接口,是对BMRuntime、BMCV、BMDecoder、BMLib等底层库接口的封装,供用户进行深度学习应用开发。

    sophon-demo 提供了x86和SoC环境下针对单模型或场景的综合例程,供用户在深度学习应用开发过程中参考。

    sophon-pipeline 提供了一个简易的基于Pipeline的高性能推理框架,能够将前处理/推理/后处理分别运行在3个线程上,最大化的实现并行,供用户在深度学习应用开发过程中参考。
    在这里插入图片描述
    模型编译量化工具链 TPU-MLIR : 支持Caffe、TFLite、ONNX等框架模型的模型转换;支持模型量化:原始模型 -> MLIR Model -> FP32 BModel或者原始模型 -> MLIR Model -> cali_table -> INT8 BModel,同时提供model_deploy.py 量化脚本。

    sudo apt-get install p7zip
    sudo apt-get install p7zip-full
    
    • 1
    • 2

    在官网下载压缩包:
    Release_2309TLS-public.zip
    该压缩包内兼有盒子内配置内容,及盒子外部配置内容。
    在这里插入图片描述

    配置盒子内部的开发环境

    盒子内部运行环境已经齐全,不需要再次配置。不建议在盒子内部,进行直接编译,盒子为arm架构,推荐在x86服务器上搭建交叉编译环境,将编译好的程序复制到盒子内部运行。

    配置盒子外部的开发环境

    找一个一台安装了Ubuntu16.04/18.04/20.04的x86主机,运行内存建议12GB以上的linux服务器:
    将压缩包tpu-mlir_v1.2.8-g32d7b3ec-20230802.tar.gz放入服务器内。
    如果没用docker先要安装docker:

    安装tpu-mlir

    # 安装docker
    sudo apt-get install docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    # docker命令免root权限执行
    # 创建docker用户组,若已有docker组会报错,可忽略
    sudo groupadd docker
    # 将当前用户加入docker组
    sudo usermod -aG docker $USER
    # 重启docker服务
    sudo service docker restart
    # 切换当前会话到新group或重新登录重启会话
    newgrp docker​
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    解压压缩包:

    mkdir tpu-mlir
    tar zxvf tpu-mlir_v1.2.8-g32d7b3ec-20230802.tar.gz --strip-components=1 -C tpu-mlir
    cd tpu-mlir
    docker run --privileged --name myname -v $PWD:/workspace -it sophgo/tpuc_dev:v2.2
    
    • 1
    • 2
    • 3
    • 4

    建立docker:

    sudo apt-get update
    sudo apt-get install ssh
    sudo apt-get install openssh-server
    docker run --privileged --name myname -v $PWD:/workspace -p 10019:10019 -it sophgo/tpuc_dev:v2.2
    
    • 1
    • 2
    • 3
    • 4

    设置密码:

    sudo passwd root
    vim /etc/ssh/sshd_config
    新增:
    Port 10019
    PermitRootLogin yes #允许root用户使用ssh登录
    sudo service ssh restart
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    设置环境变量:(如果容器停止要重新设置环境变量)

    cd /workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802
    source ./envsetup.sh
    
    • 1
    • 2

    安装libsophon 环境

    使用命令,查看当前系统环境,返回x86,故选用amd64安装包

    uname -m
    
    • 1

    需要在x86主机上使用SOPHON SDK搭建交叉编译环境,将程序所依赖的头文件和库文件打包至soc-sdk目录中。
    首先安装交叉编译工具链:

    sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
    
    • 1

    aarch64-linux-gnu 是一个工具链,用于交叉编译针对 ARM 64 位架构(aarch64)的应用程序和库。它包含了一系列的编译器、链接器、调试器和其他相关工具,可以在非 ARM 64 位主机上进行开发和构建针对 aarch64 架构的软件。
    在 x64 位机器上编译 ARM 64 位程序时,需要使用 ARM 64 位架构的工具链和库,而不是 x64 架构的工具链和库。
    准备安装包文件:libsophon_soc_0.4.9-LTS_aarch64.tar.gz

    mkdir -p soc-sdk
    # 解压libsophon_soc_x.y.z_aarch64.tar.gz
    tar -zxf libsophon_soc_0.4.9-LTS_aarch64.tar.gz
    # 将相关的库目录和头文件目录拷贝到依赖文件根目录下
    cp -rf libsophon_soc_0.4.9-LTS_aarch64/opt/sophon/libsophon-0.4.9/lib /workspace/sdk/soc-sdk
    cp -rf libsophon_soc_0.4.9-LTS_aarch64/opt/sophon/libsophon-0.4.9/include /workspace/sdk/soc-sdk
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装sophon-ffmpeg和sophon-opencv环境

    准备安装包sophon-mw-soc_0.7.1_aarch64.tar.gz

    tar -zxf sophon-mw-soc_0.7.1_aarch64.tar.gz
    cp -rf sophon-mw-soc_0.7.1_aarch64/opt/sophon/sophon-ffmpeg_0.7.1/lib /workspace/sdk/soc-sdk
    cp -rf sophon-mw-soc_0.7.1_aarch64/opt/sophon/sophon-ffmpeg_0.7.1/include /workspace/sdk/soc-sdk
    cp -rf sophon-mw-soc_0.7.1_aarch64/opt/sophon/sophon-opencv_0.7.1/lib /workspace/sdk/soc-sdk
    cp -rf sophon-mw-soc_0.7.1_aarch64/opt/sophon/sophon-opencv_0.7.1/include /workspace/sdk/soc-sdk
    
    • 1
    • 2
    • 3
    • 4
    • 5

    sophon-sail_x.y.z.tar.gz安装

    sophon-sail_x.y.z.tar.gz作为高级的神经网络开发接口,使用源码发布;

  • 相关阅读:
    《算法通关村第一关——链表青铜挑战笔记》
    XuperChain共建守护者系列藏品震撼发行,最新合成玩法揭秘
    Android车载应用开发之出识Android Automotive
    项目实战(JWT登录,认证信息中的当事人信息,跨域请求和预检信息)
    接近3w详解Docker搭建Redis集群(主从容错、主从扩容、主从缩容)
    [Java | Web] JavaWeb——JSON与AJAX简介
    【Python编程】八、Python函数详解
    玻璃生产过程中的窑内压力高精度恒定控制解决方案
    【无标题】
    rust学习——字符串、字符串字面量、切片(slice)、字符串 slice
  • 原文地址:https://blog.csdn.net/hh1357102/article/details/133885307