【嵌入式模型转换】算能盒子SE5 芯片板子BM1684

news2024/10/7 10:21:47

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 1.环境准备
  • 2. 开发机安装环境


前言

官网文档指引:https://doc.sophgo.com/sdk-docs/v23.03.01/docs_latest_release/docs/SophonSDK_doc/zh/html/common_test/disclaimer.html
写的很好,真的很好,就是太太太太多多多多了。。。。


1.环境准备

算能盒子 se5 16路 芯片BM1684
开发机:ubuntu server 20.04 内存 32G CPU 8核心 硬盘:320G
1.安装docker
官网指引:https://docs.docker.com/engine/install/ubuntu/
官网的指引不全,没有设置开机自启,而且sdk3.0以后 算能官网不提供docker环境了。所以docker其实是非必选项。
安装docker

sudo apt-get install docker.io

更换国内镜像源
首先sudo mkdir /etc/docker文件夹
然后sudo vim /etc/docker/daemon.json
在里面添加如下内容:

sudo vim /etc/docker/daemon.json

{
 "registry-mirrors": ["https://registry.docker-cn.com"]
}

重载配置文件、重启docker服务

sudo systemctl daemon-reload
sudo service docker restart

配置开机自启

sudo systemctl enable docker

2.下载开发包sdk:
ref:https://developer.sophgo.com/site/index/material/35/all.html
在这里插入图片描述
我下载的是这个,05.01 也出来了,是0612更新的,我下载的时候最新版就是V23.03.01. 下载下来是这个(Release_230301-public.zip) 4.8 GB
在这里插入图片描述

安装包要准备两份,一份用于se5的固件升级,一份用于开发机的环境搭建,我的开发机没有芯片卡,所以用的是SOC模式。 一共三种工作模式:PCIe Mode、SoC Mode、arm_pcie Mode
3.刷机
略,照着文档刷机,准备sd卡和读卡器,将2的sdk放到读卡器,按照文档刷机
4.安装开发机环境
之前用的centos7.9 可是官方示例走的都是ubuntu,用起来非常不顺,而且在安装LIBSOPHON时第二步就出错了,所以换了ubuntu20.04系统。尽管它在这里提到可以用其它系统安装。
5.centos 上的报错(ubuntu的可以略过)
在这里插入图片描述
我是走的这里的时候报错的
在这里插入图片描述
报错的输出也贴出来,之前也有报错,根据报错安装插件就解决了,这个好像是libsophon内部自己的报错,搞不定,为了不浪费时间,又申请了一台ubuntu
在这里插入图片描述

2. 开发机安装环境

ref:https://doc.sophgo.com/sdk-docs/v23.03.01/docs_latest_release/docs/SophonSDK_doc/zh/html/sdk_intro/4_install.html#linux
参考3.4.1环境配置-linux
解压SDK压缩包

sudo apt-get install p7zip
sudo apt-get install p7zip-full
7z x Release_<date>-public.zip
cd Release_<date>-public

前两个要安装一下,否则会报错,可能是因为解压大文件吧,反正在centos上是遇到了。
上传的特别慢,耐心等待一下吧
在这里插入图片描述
所以干会别的吧,一会儿回来, 公司在bj,张家口的服务器,北京没资源了,唉…穷则战术穿插,没法火力压制啊!!

1.普通用户执行docker命令不用sudo的技巧
将这个普通用户进入docker组啊

# 创建docker用户组,若已有docker组会报错,没关系可忽略
sudo groupadd docker
# 将当前用户加入docker组
sudo gpasswd -a ${USER} docker
# 重启docker服务
sudo service docker restart
# 切换当前会话到新group或重新登录重启X会话

2.再次回到正题,将压缩包解压到tpu-nntc

cd tpu-nntc_<date>_<hash>
mkdir tpu-nntc
tar zxvf tpu-nntc_v<x.y.z>-<hash>-<date>.tar.gz --strip-components=1 -C tpu-nntc

3.创建docker容器并进入Docker

cd tpu-nntc
#如果当前系统没有对应的镜像,会自动从docker hub上下载;此处将tpu-nntc的上一级目录映射到docker内的/workspace目录;这里用了8001到8001端口的映射(使用ufw可视化工具会用到端口号)。
#如果端口已被占用,请根据实际情况更换为其他未占用的端口。
docker run -v $PWD/..:/workspace -p 8001:8001 -it sophgo/tpuc_dev:latest

4.初始化软件环境

cd /workspace/tpu-nntc
source scripts/envsetup.sh

请注意,如果docker stop后重新进入,则需要重新source环境变量。

4.libsophon环境搭建

cd libsophon_<date>_<hash>
# 安装依赖库,只需要执行一次
sudo apt install dkms libncurses5
sudo dpkg -i sophon-*.deb
# 在终端执行如下命令,或者log out再log in当前用户后即可使用bm-smi等命令
source /etc/profile

报错了

user@root:~/software/Release_230301-public/libsophon_20230327_025400$ dpkg --print-architecture
amd64
user@root:~/software/Release_230301-public/libsophon_20230327_025400$ sudo dpkg -i sophon-
sophon-driver_0.4.6_amd64.deb         sophon-libsophon_0.4.6_amd64.deb      sophon-libsophon-dev_0.4.6_amd64.deb
sophon-driver_0.4.6_arm64.deb         sophon-libsophon_0.4.6_arm64.deb      sophon-libsophon-dev_0.4.6_arm64.deb
user@root:~/software/Release_230301-public/libsophon_20230327_025400$ sudo dpkg -i sophon-*amd64.deb
(Reading database ... 78848 files and directories currently installed.)
Preparing to unpack sophon-driver_0.4.6_amd64.deb ...

-------- Uninstall Beginning --------
Module:  bmsophon
Version: 0.4.6
Kernel:  5.4.0-144-generic (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

bmsophon.ko:
 - Uninstallation
   - Deleting from: /lib/modules/5.4.0-144-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod...

DKMS: uninstall completed.

------------------------------
Deleting module version: 0.4.6
completely from the DKMS tree.
------------------------------
Done.
Unpacking sophon-driver (0.4.6) over (0.4.6) ...
Preparing to unpack sophon-libsophon_0.4.6_amd64.deb ...
Unpacking sophon-libsophon (0.4.6) over (0.4.6) ...
Preparing to unpack sophon-libsophon-dev_0.4.6_amd64.deb ...
Unpacking sophon-libsophon-dev (0.4.6) over (0.4.6) ...
Setting up sophon-driver (0.4.6) ...

Creating symlink /var/lib/dkms/bmsophon/0.4.6/source ->
                 /usr/src/bmsophon-0.4.6

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j8 KERNELRELEASE=5.4.0-144-generic SOC_MODE=0 PLATFORM=asic SYNC_API_INT_MODE=1 TARGET_PROJECT=sg_pcie_device FW_SIMPLE=0 PCIE_MODE_ENABLE_CPU=1 -C /lib/modules/5.4.0-144-generic/build M=/var/lib/dkms/bmsophon/0.4.6/build ....
cleaning build area...

DKMS: build completed.

bmsophon.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.4.0-144-generic/updates/dkms/

depmod...

DKMS: install completed.
Setting up sophon-libsophon (0.4.6) ...
Setting up sophon-libsophon-dev (0.4.6) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
user@root:~/software/Release_230301-public/libsophon_20230327_025400$ source /etc/profile
user@root:~/software/Release_230301-public/libsophon_20230327_025400$
user@root:~/software/Release_230301-public/libsophon_20230327_025400$
user@root:~/software/Release_230301-public/libsophon_20230327_025400$
user@root:~/software/Release_230301-public/libsophon_20230327_025400$
user@root:~/software/Release_230301-public/libsophon_20230327_025400$ bm-smi
get devcount failed!
no sophon device found on this PC or Server
: No such file or directory
user@root:~/software/Release_230301-public/libsophon_20230327_025400$
user@root:~/software/Release_230301-public/libsophon_20230327_025400$ ls /dev/bm*
ls: cannot access '/dev/bm*': No such file or directory
user@root:~/software/Release_230301-public/libsophon_20230327_025400$
user@root:~/software/Release_230301-public/libsophon_20230327_025400$
user@root:~/software/Release_230301-public/libsophon_20230327_025400$
user@root:~/software/Release_230301-public/libsophon_20230327_025400$ source /etc/profile
user@root:~/software/Release_230301-public/libsophon_20230327_025400$
user@root:~/software/Release_230301-public/libsophon_20230327_025400$ bm-smi
get devcount failed!
no sophon device found on this PC or Server
: No such file or directory

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

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

相关文章

ffmpeg capture decklink

确保decklink设备已经接入 lspci | grep Blackm02:00.0 Multimedia video controller: Blackmagic Design DeckLink SDI Micro 确保decklink驱动已经正确安装 lsmod | grep blackmagicblackmagic_io 2068480 2 确保ffmpeg已经启用decklink&#xff0c;如何配置之前的博文已经…

高磁场型霍尔效应测试系统

高磁场型霍尔效应测试系统由&#xff1a;电磁铁、电磁铁电源、高精度恒流源高精度电压表、高斯计、霍尔效应样品支架、标准样品、系统软件。用于测量半导体材料的载流子浓度、迁移率、电阻率、霍尔系数等重要参数&#xff0c;而这些参数是了解半导体材料电学特性必须预先掌控的…

conda下jupyter lab 多kernel

1.安装ipykernel pip install ipykernel2.手动添加 --kernel python -m ipykernel install --name tensorflow --display-name "tensroflow"3. 查看创建的kernel jupyter kernelspec list4. 修改配置文件kernel.json&#xff0c;使得已创建的kernel匹配 5. 修改配…

【Axure教程】根据标签数自动调整尺寸的多选下拉列表

​多选下拉列表常用于需要用户从一组选项中选择多个选项的情况。它提供了一个下拉菜单&#xff0c;用户可以点击展开并选择他们感兴趣的多个选项。多选下拉列表可以用于展示可选标签&#xff0c;并允许用户选择多个标签。例如&#xff0c;在一个博客发布界面上&#xff0c;可以…

【Flutter】如何在 Flutter 中获取设备 ID

文章目录 一、 前言二、 设备 ID 的重要性1. 什么是设备 ID2. 设备 ID 的作用 三、 在 Flutter 中获取设备 ID1. 需要的工具和库2. 简单代码示例3. 完整可以运行的代码 四、 注意事项1. 权限问题2. 设备兼容性问题 五、 总结 一、 前言 在移动应用开发中&#xff0c;有时我们需…

飞书小程序开发教程——获取app_access_token

前言 最近在玩飞书小程序&#xff0c;真是受够了某信的小程序&#xff0c;一坨坨的限制加恶心人的手段。体验了飞书加飞书文档的功能真的还是飞书好用&#xff0c;又可以定制机器人啥的真方便。 但是飞书除了开发者文档真没啥资料&#xff0c;估计没啥人写吧…本专栏后续就慢慢…

DVPP媒体数据处理视频编码问题案例

DVPP&#xff08;Digital Vision Pre-Processing&#xff09;是昇腾AI处理器内置的图像处理单元&#xff0c;通过AscendCL媒体数据处理接口提供强大的媒体处理硬加速能力&#xff0c;主要功能包括图像编解码、视频编解码、图像抠图缩放等。 本期就分享几个关于DVPP视频编码问题…

未磁科技全球首台64通道无液氦心磁图仪及首个培训基地落户北京安贞医院

【全球首台64通道无液氦心磁图仪在北京安贞医院举行开机仪式】 近日&#xff0c;在北京安贞医院举行了未磁科技全球首台64通道无液氦心磁图仪开机仪式&#xff0c;中国医学装备协会赵自林理事长、北京安贞医院纪智礼书记、张宏家院长、宋现涛教授&#xff0c;以及未磁科技蔡宾…

【离散化+枚举】代码源每日一题div2 全部相等

全部相等 - 题目 - Daimayuan Online Judge 题意&#xff1a; 思路&#xff1a; 首先&#xff0c;子序列最长&#xff0c;想到了DP&#xff0c;但是子序列DP&#xff0c;D不出来&#xff0c;所以要放弃想法 不难发现&#xff0c;这道题和顺序没有关系&#xff0c;所以可以说…

Vision Pro,难成初代iPhone

“一个全新的增强显示平台&#xff0c;一个革命性的新产品”&#xff0c;这是苹果CEO库克给Apple Vision Pro的评价。 当苹果拿出Vision Pro时&#xff0c;想必整个科技行业都感到震惊。这不仅是因为苹果时隔十六年后&#xff0c;再次在WWDC带来“革命性产品”&#xff0c;更是…

Ai 赋能|这 6 款免安装的工具,功能超神~

今天小呆给小伙伴们分享几款小巧好用的工具&#xff0c;功能非常实用&#xff0c;而且全都免费&#xff0c;值得大家使用&#xff01; 1、Pix Fix 修复画质损坏的图像 Pix Fix 是一个免费的线上图片工具&#xff0c;可以对过度压缩造成损毁的图片以算法为基础进行噪点的修复&…

【枚举+数学】代码源每日一题div2 数学

数学 - 题目 - Daimayuan Online Judge 题意&#xff1a; 思路&#xff1a; 首先把条件理一下 gcd(s1,s2)K 按照惯用套路 设 s1k1*K s2k2*K 那么就是(k1k2)*Ksum 所以K是sum的一个因子 因此只需要枚举sum的因子即可 但是注意数据范围&#xff1a;1e9 说明不能直接枚…

MySQL数据库加密

有时候为防止别人攻击数据库&#xff0c;直接读取修改数据&#xff0c;我们会对数据库数据进行加密。 一&#xff1a;AES_ENCRYPT(需要加密的数据,密钥) AES_DECRYPT(需要解密的数据,刚才的密钥) 如&#xff1a;update area set jiamiAES_ENCRYPT(test数据加密,miyao) where …

Python基础知识掌握之 字符串格式化

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 为了确保字符串按预期显示&#xff0c;我们可以使用 format() 方法对结果进行格式化。 字符串 format() format() 方法允许您格式化字符串的选定部分。 有时文本的一部分是你无法控制的&#xff0c;也许它们来自数据…

分享几个免费设计生成工具 (第二期)

今天来给大家分享几个国外免费的设计生成工具 A. Tools https://www.a.tools/ 一个免费实用的在线工具箱&#xff0c;提供了 85 个特色工具&#xff0c;包含图形图像、日期和时间、文本编辑器、解密和加密、编程与设计、图表生成器等等&#xff0c;还有热门的 AI聊天提示生成器…

freemarker学习记录

freemarker 介绍 FreeMarker 是一款模板引擎&#xff1a; 即一种基于模板和要改变的数据&#xff0c; 并用来生成输出文本(HTML网页&#xff0c;电子邮件&#xff0c;配置文件&#xff0c;源代码等)的通用工具。 它不是面向最终用户的&#xff0c;而是一个Java类库&#xff0c…

electron 生命周期

生命周期事件&#xff1a; reday: app初始化完成dom-ready:一个窗口的文本加载完成&#xff0c;可以进行dom操作did-finish-load: 导航完成时触发,选项卡旋转器停止旋转时&#xff08;发生在dom-ready后&#xff09;比如点击一个选项卡后&#xff0c;某一个选项下的dom加载完成…

基于zustand维护的一套跨框架(react/vue)跨应用的状态管理及共享方案

zustand-pub 只要从事前端开发&#xff0c;不论是小程序还是web&#xff0c;都绕不开状态管理。 众所周知&#xff0c; zustand 是一套轻量、便捷、可拓展的状态管理方案&#xff0c;不论国内 or 国外&#xff0c;都备受喜爱&#xff0c;star 数已接近 3W。 而 zustand-pub 则…

ThreadLocal源码深度详解

文章目录 一、ThreadLocal简单使用二、ThreadLocal源码详解1、set方法&#xff08;1&#xff09;getMap(t)&#xff08;2&#xff09;createMap 2、get方法3、setInitialValue方法 三、ThreadLocalMap详解1、ThreadLocalMap为什么要设置Entry数组2、key计算的下标会重复吗&…

华为OD机试真题 JavaScript 实现【查找两个字符串a,b中的最长公共子串】【牛客练习题】

一、题目描述 查找两个字符串a,b中的最长公共子串。若有多个&#xff0c;输出在较短串中最先出现的那个。 注&#xff1a;子串的定义&#xff1a;将一个字符串删去前缀和后缀&#xff08;也可以不删&#xff09;形成的字符串。请和“子序列”的概念分开&#xff01; 数据范围…