目录
- 工具包简介
- 配置盒子内部的开发环境
- 配置盒子外部的开发环境
- 安装tpu-mlir
- 安装libsophon 环境
- 安装sophon-ffmpeg和sophon-opencv环境
- sophon-sail_x.y.z.tar.gz安装
盒子默认登录: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
在官网下载压缩包:
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
解压压缩包:
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
建立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
设置密码:
sudo passwd root
vim /etc/ssh/sshd_config
新增:
Port 10019
PermitRootLogin yes #允许root用户使用ssh登录
sudo service ssh restart
设置环境变量:(如果容器停止要重新设置环境变量)
cd /workspace/tpu-mlir_v1.2.8-g32d7b3ec-20230802
source ./envsetup.sh
安装libsophon 环境
使用命令,查看当前系统环境,返回x86,故选用amd64安装包
uname -m
需要在x86主机上使用SOPHON SDK搭建交叉编译环境,将程序所依赖的头文件和库文件打包至soc-sdk目录中。
首先安装交叉编译工具链:
sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
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
安装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
sophon-sail_x.y.z.tar.gz安装
sophon-sail_x.y.z.tar.gz作为高级的神经网络开发接口,使用源码发布;