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

news2024/12/24 8:27:26

目录

  • 工具包简介
  • 配置盒子内部的开发环境
  • 配置盒子外部的开发环境
    • 安装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作为高级的神经网络开发接口,使用源码发布;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1110051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MIT6.5830 Lab0-Go tutorial实验记录(四)

MIT6.5830 Lab0-Go tutorial实验记录(四) – WhiteNights Site Lab0的最后一步–对.csv文件进行查询。 实验步骤 更改handlers.go 那么首先修改下handlers中的方法,毕竟现在不是从sqlite中查询数据了。 // TODO: some code goes here // Ge…

rabbitmq发送json格式 utf8编码数据

参考文章:Spring-Cloud RabbitMQ 用法 - 发送json对象 - 简书 生产者: 消费者:

虚拟机来安装Linux的优势

笔者认为,通过虚拟机软件学习是初学者学习 Linux 的最佳方式。在与部分读者的交流中,笔者发现,很多初学者都认为,学习 Linux 就必须将自己的电脑装成 Linux 系统或者必须要有真正的服务器设备。而实际上,这是一些机构、…

Spring Boot如何优雅实现动态灵活可配置的高性能数据脱敏功能

1.背景 在当下互联网高速发展的时代下,涉及到用户的隐私数据安全越发重要,一旦泄露将造成不可估量的后果。所以现在的业务系统开发中都会对用户隐私数据加密之后存储落库,同时还要求后端返回数据给前台之前进行数据脱敏。所谓脱敏处理其实就…

华为数通方向HCIP-DataCom H12-831题库(多选题:1-20)

第01题 如图所示,路由器所有的接口开启OSPF,图中标识的ip地址为设备的Loopback0接口的IP地址,R1、R2,R3的Loopback0通告在区域1,R4的Loopback0通告在区域0、R5的Lopback0通告在区域2,下列哪些IP地址之间可以相互Ping通? A、10.0.3.3和10.0.5.5 B、10.0.4.4和10.0.2.2 …

electron学习笔记

electron:大前端背景下,用node.js做桌面端app的工具 1、安装:npm i electron 实际上是chromium Node.js 2、创建一个窗口 3、主进程(操作硬件等,commonJS)与渲染进程(渲染页面,E…

Cdiscount、亚马逊新品不开单怎么办 ?测评自养号关键之处及搭建技巧揭秘

一、Listing如何优化? 一个产品要想有销量,Listing优化必须得做好,这是形成转化产生订单的基础。 有些卖家误以为“反复修改了N次”就叫做“优化”,这绝对是误解 想要做好Listing优化,需要知道优化的基本标准,同时…

光伏电站绝缘阻抗异常排查方法

安科瑞 崔丽洁 概述 01 光伏发电是依托电力电子技术,利用太阳光照将太阳能转化为电能的系统。光伏发电不需要使用化石燃料,减少了发电时产生的污染,并且减少了能源消耗。光伏发电依托政策扶持,快速在国内普及。光伏发电与传统火电发电原理不同…

Excel文件带有密码的只读模式,如何设置?

Excel带有密码的除了打开密码和工作表保护以外,其实还有一种可以设置密码的方法,今天给大家分享如何设置带有密码的只读模式。 打开excel文件,将文件进行【另存为】设置,然后停留在保存路径的界面中,我们点击下面的工…

每日汇评:黄金的进一步上行取决于美联储

金价在1950美元附近徘徊,此前从逾两个月高位小幅回落; 由于中东紧张局势支撑金价,美元欢欣鼓舞,美债收益率上扬; 在美联储主席鲍威尔发表讲话前,金价守住了关键的200日移动均线上方; 金价已进入…

【力扣每日一题】2023.10.19 同积元组

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目比较简洁,给我们一个元素各不相同的数组,要我们找出该数组里能够组成 a*bc*d 的组合数目。 比较直观的做法是我们直接暴…

2023年中国半导体过滤器产业链、市场规模及发展趋势分析[图]

半导体过滤器的作用主要是对空气中的微粒进行过滤,包括清除空气中的细菌、病毒、霉菌孢子、花粉、微粒等物质,半导体过滤器相比传统过滤器,具有更高的过滤效率和更长的使用寿命。其核心元件是由金属氧化物和碳化硅等半导体材料制成的过滤芯片…

总结 STM32 常见的一百多个知识点

1、AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备 2、Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一个为stm32f10x_conf.h专门控…

虹科Pico十月活动 | 精彩丰富的汽车示波器培训与直播活动等你参加!

线下培训:虹科&TG学院:上海站技术培训 精彩回顾 上海站技术交流会成功举办 10月5、6日,虹科Pico汽车示波器与Tech Gear学院联合举办的汽车示波器技术交流会,在上海成功举办。本次技术交流会在上海欣车汇的车间进行&#xff0c…

智慧工地云平台,微服务架构,java源码

智慧工地系统源码,包含:视频监控、劳务实名制、环境监测、车辆管理、机械设备管理、可视化大屏、进度管理、项目信息管理、组织架构权限配置等功能。技术架构:javaVUEMySQL微服务 聚焦施工现场岗位一线,围绕“人、机、料、法、环”…

2023年【建筑架子工(建筑特殊工种)】考试内容及建筑架子工(建筑特殊工种)找解析

题库来源:安全生产模拟考试一点通公众号小程序 建筑架子工(建筑特殊工种)考试内容是安全生产模拟考试一点通生成的,建筑架子工(建筑特殊工种)证模拟考试题库是根据建筑架子工(建筑特殊工种)最新版教材汇编出建筑架子工(建筑特殊工种)仿真模拟考试。2023…

整车光老化试验舱太阳光模拟器

整车光老化试验舱太阳光模拟器可实现对汽车涂层、汽车外部照明、外部装饰件、标识、耐候密封条和垫圈、汽车玻璃、引擎室、传动链、车轮组件、阻燃性测试老化光照强度试验测试。 概述 整车光老化试验舱太阳光模拟器,在室内条件下对整车或零部件进行人工模拟大气暴…

【微服务】spring webflux响应式编程使用详解

目录 一、webflux介绍 1.1 什么是webflux 1.2 什么是响应式编程 1.3 webflux特点 二、Java9中响应式编程 2.1 定义事件流源 2.2 实现订阅者 三、Spring Webflux介绍 四、Reactor 介绍 五、Reactor 常用API操作 5.1 Flux 创建流操作API 5.2 Flux响应流的订阅 5.3 Fl…

『C++成长记』C++入门——命名空间缺省参数

🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、C的认识 📒1.1什么是C 📒1.2C的发展 二、C关键字 三…

Bootstrap的small标签

Bootstrap 中的 <small> 标签是用来标记和渲染小文本的 HTML 元素。它通常用于表示与主要文本内容不同的次要信息、注释、版权声明、法律声明、或者其他需要更小字号的文本。在 Bootstrap 中&#xff0c;<small> 标签可以进一步定制样式以适应您的设计需求。 以下…