自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 linux中的环境变量设置以及进程的查看和logging的使用

接下来进行一个实际的示例,比如,我们想下载安卓NDK,并配置交叉编译环境实现cpp程序的交叉编译并在安卓设备上运行,我们需要进行如下步骤。我的理解是,环境变量是一个变量,它告诉操作系统需要用到的文件的目录地址信息,比如动态库,头文件等的目录,键是变量名,值就是目录地址。这种基本命令都无法使用了,因为这些命令系统也需要去PATH环境变量的目录中去寻找,但是这些目录刚才都被我们清空了。的文件,交叉编译一下,把交叉编译出来的可执行文件推送到安卓设备上运行,构建如下文件树。

2025-09-07 13:41:29 870

原创 协同推理的交叉编译,同时用到mpi和cnrt库

文件的功能是执行协同推理同时测试推理所用的时间,其中,设备之间使用mpi方式进行分布式通信。因此,用到了mpi和cnrt库。至于模型和可执行文件的部署以及220设备上hostsfile.txt文件的创建,这里不再赘述。如上图所示,test1~5.test1.cambricon是模型拆分后的权重文件,然后,使用build.sh脚本执行交叉编译,具体内容如下。进行交叉编译时需要使用如下代码,执行前总的文件目录如下。所以,在服务器端编写。使用如下代码执行脚本。

2025-09-04 16:36:06 232

原创 再探llama.cpp之模型转换

(https://www.modelscope.cn/qwen/Qwen2-0.5B-Instruct.git)模型文件集合我们已经准备好。(https://github.com/ggml-org/llama.cpp)和。首先进入llama.cpp文件夹,创建conda环境激活后安装相关依赖。对于LLM,主流的模型分为两种格式,一种是模型目录中包含。安装好依赖之后,记录下模型集合文件的路径为。今天,我们探索如何将。如下图所示,得到了转换后的。我们开始进行模型转换,在。

2025-08-26 22:34:19 191

原创 LLM推理测试常用命令

在执行DeepSeek-R1推理时,占据了11GB的运行内存,只剩下了14MB的可用空间,这个时候的推理延迟极高。在不执行任何任务的时候,系统仅占用了2.8GB的运行内存,还剩下8.3GB的可用运行内存空间。查看设备的可用运行内存。

2025-08-18 21:47:27 114

原创 vLLM和Ollama推理引擎的使用

首先是vLLM,一种大语言模型推理框架,特点是支持擅长单论推理和高并发请求,适合需要快速响应的场景。prefilling(模型思考)时间可能稍微长一点,过一会我们看到了如下输出,成功实现推理。下载该代码,并发送到服务器上,或者拷贝该代码,在服务器创建名为。首先,使用如下命令为部署vLLM创建conda环境并激活。这里我们修改了一行代码,为了一会儿加载模型方便。然后,我们去笑脸下载opt-125m模型。然后,使用如下命令安装vLLM框架。安装好后,在如下网站获取示例代码。然后,我们使用如下命令进行。

2025-08-12 23:39:05 849

原创 心跳包方式防止终端ssh中断以及给普通用户授予scp传输数据的权限

我们在使用scp命令给其他linux边缘设备上的非root用户传输文件时候,可能会遇到因权限问题无法传输到情况。此时,可以在接受文件的目标边缘设备上执行如下命令。(1)远程服务器有严格的超时策略(如闲置 1 分钟自动断开),需要通过心跳包维持连接。如果是windows用户可以在.ssh的config文件的末行添加以下内容。(3)长时间运行脚本或操作(如文件传输)时避免中途断开。进行修改都可以,因为两者指向的是同一个文件。(2)网络不稳定,需要通过心跳包维持连接。然后,就可以使用如下命令进行scp传输了。

2025-08-08 21:52:48 202

原创 静态库、动态库与CMake编译基础(一)

由于日常项目中经常使用动态库的链接与可执行文件的编译,因此我们以实现一个简单demo的形式对其进行初步的探讨。为如下内容,关闭debug日志,不使用静态库编译,只使用动态库编译并链接生成可执行文件。脚本文件用于执行编译,内容如下。删除build文件夹,修改。运行如下命令执行编译过程。首先,创建文件目录如下。然后,可以手动创建一个。

2025-07-17 11:13:12 149

原创 边缘计算_瑞芯微RK3568摄像头调试

此时,如果可以通过显示器的HDMI接口连接开发板,会在显示器上显示摄像头所采集到的内容。我都使用了一下,之后强烈建议购买USB接口的摄像头,因为软件,硬件上使用起来都更方便。目前边缘计算开发板所提供的摄像头接口一般为USB接口和MIPI接口。(2)使用如下命令,打开一个窗口,显示通过摄像头采集的视频画面。为了确定哪个是我们的USB摄像头,使用如下命令。进一步说明,刚才接入的USB摄像头就是。说明刚才接入的USB摄像头对应的文件为。(1)使用如下命令安装ffplay。连接摄像头之前是用如下命令查看。

2025-07-06 17:48:58 206

原创 linux系统存储设备的挂载与测试

这个名字叫sdb1,容量为57.3G的设备为我的U盘。(6)在使用结束后,如果想拔出U盘,需要使用如下命令解除挂载。(1)将U盘或者硬盘等存储设备连接到linux设备。(2)使用如下命令查看存储设备。目录下创建一个文件夹名字叫做。(4)然后,使用如下命令完成。目录下,可以看到我们的U盘。文件夹中看到U盘中的文件。此时,可以安全拔出U盘了。目录,发现没有任何文件。(5)接下来便可以在。解除挂载后,再次查看。

2025-07-03 18:29:05 156

原创 边缘计算_使用mpi实现简单的CNN协同推理,增加了交叉编译部分

(3)然后,在主设备上使用如下命令完成编译(这里暂且在板子上编译,后面再研究关于使用MPI库的交叉编译方法)今天,我尝试使用mpi,在4台边缘设备上创建4个进程,完成简单的分布式CNN协同推理。1.在该代码中,每台设备负责一层,每层后数据全体融合(模拟协同推理/全连接)。(6)然后,需要在所有设备之间要实现SSH免密登录,具体操作如下。(2)然后,编写一个简单的协同推理代码demo,我这里起名为。(7)最后,在主设备执行如下代码,测试协同推理效果。文件,内容如下(主设备和子设备的ip地址)

2025-06-29 14:53:54 421

原创 边缘计算_瑞芯微RK3568配网过程

开发板到手后上电,连接串口和网线,烧录了ubuntu系统,结果输入ipconfig之后发现没有IPv4的地址。但是,今天遇到了新的情况,ubuntu系统中不存在。然后,我们使用ifconfig查询,设备的ip地址已经和我们所指定的。(1)设备已安装并运行 SSH 服务(如 OpenSSH)(3)电脑和设备处于同一网段,或你可以访问它的 IP 地址。(4)设备的防火墙允许通过预先设定的端口(比如22)访问。(2)设备的某个网络接口有 IPv4 地址。然后,使用电脑打开cmd,通过ssh连接。

2025-06-27 20:27:54 268

原创 边缘计算_在服务器端完成mul220平台可执行文件的交叉编译和端侧部署

有些C或C++代码需要额外的cnrt等动态库支持才能编译和运行,因此我们需要拷贝一份mlu220开发板上的动态库到服务器端,并配置动态库链接。将交叉编译器传输到服务器上,这里我们传输到预先安装好的docker容器中的/opt/toolchain/目录下,使用如下命令。首先,创建一个build文件夹,进入后输入,使用cmake等命令进行编译具体命令如下。然后,我们进入预先编写的C++代码所在目录,例如,我们所编写的C++代码在。,我们修改CMakeLists.txt中的动态库的地址,修改后的内容如下。

2025-06-23 23:24:36 320

原创 寒武纪MLU220开发板还原配置环境

(2)然后将 neuware_backup.tar.gz 拷贝到新板子。(1)从旧板子打包完整 neuware 环境。(3)在新板子上替换并刷新。

2025-06-20 10:39:19 124

原创 使用scp命令与服务器传输文件,tar包的压缩和解压

使用scp传输到用户名为root,ip为192.168.1.190的设备(由于在图书管手上的设备和实验室的设备不在同一个网段,所以后续的操作换成了实验室的设备,原理和操作流程一致,请忽略win10和win11界面cmd界面的细微差异)这个暂时先用U盘或者百度网盘,或者微信文件传输助手之类的吧,Windows和Windows之间使用命令行太小众了,后面有时间我再补充。其中,待传输tar包.tar为压缩后的文件集合tar包,xfddlm.txt 01/ 02/为被打包的文件和文件夹。

2025-06-17 15:10:54 368

原创 边缘计算_永久修改静态ip地址(ubuntu系统)

此时如果设备没有无线网卡,且通过网线连接在实验室路由器上,可将设备ip的网段修改为与路由器网段一致,这样,所有接入路由器的设备都可以通过无线网络(实验室WIFI)ssh方式连接到设备了。将远端设备连接到实验室路由器使用Win+cmd命令打开远端控制设备的window终端,输入ipconfig,查询到路由器网段为。此时,使用远端控制设备,使用ssh命令可以远程无线连接边缘计算设备。根据上述路由器ip地址,修改设备ip配置文件,比如ip地址修改为。重启设备查看ip地址是否修改成功。

2025-06-17 09:34:03 370

原创 如何查询并限制GPU功耗以及如何在后台运行代码

然后,我们就可以在output.log文件中查看程序运行时原本在终端所应显示的输出了。此时关闭终端,程序的运行也不会受到影响。比如我创建一个python程序每隔0.5s打印一次“幸福的大脸猫”,文件名字为test.py。> output.log:表示将标准输出写入 output.log。其中, nohup:表示忽略挂起信号,防止关闭终端程序停止运行。2>&1:表示将标准错误重定向到 output.log。test.py:表示要运行的 Python 脚本。将会在终端运行,此时关闭终端,程序也会终止。

2025-06-11 16:58:05 750

原创 在window环境中使用linux子系统,并部署docker和conda

(12)为了拥有单独的系统和环境,我们可以考虑在Windows环境下配置docker和conda环境,由于Unbuntu环境下如何配置docker已经讲述过了,这里就不再赘述。(1)首先,Win+R输入cmd按回车(在此之前需要先进入BOIS开启虚拟化,并进入控制面板 -> 程序 -> 程序和功能开启适用于 Linux 的 Windows 子系统)(8)此时输入如下两条命令,查看可安装的系统,并选择Ubuntu进行安装。(4)根据提示进行了重启,重启过程中,显示正在配置功能。

2025-06-04 22:19:00 795

原创 docker容器的镜像封装与重载

其中,-P 25204中的25204表示目标机器端口号,lzb_infer_image.tar表示需要传输的文件,root表示目标机器用户名,220.168.146.21表示目标机器ip地址,/root/workdir表示目标机器接收到文件后所保存的路径。进入lzb_infer容器并创建文件xfddlm,文件内容为“幸福的大脸猫”,(如何创建文件并写入内容这里不再赘述,若不了解可学习一下touch和vim的相关知识)将平常使用的docker容器封装为镜像tar包,可以很方便传出到。的系统盘空间不够了。

2025-05-09 21:24:22 498

原创 使用dd命令完成linux系统的备份与迁移

通过检查日志发现是local-kv.db文件(Docker 的网络元数据存储)损坏导致的问题,删除这个已损坏的文件,Docker会自动生成一个新的空数据库。为了实现在不损失1TB系统盘已有数据的前提下,完成将存储空间扩充为8TB,需要将1TB系统盘中的数据无损迁移至8TB的SN850X RGB固态硬盘。(1)将整个设备 /dev/nvme0n1 (整个磁盘,不是分区)备份成一个镜像文件,保存至目录 /mnt/newssd/lzb/system_image/system.img。

2025-05-07 09:21:31 890

原创 Docker的安装与配置—示例1

(4)配置 Docker 以支持 NVIDIA GPU 加速容器,具体做法是向 Docker 的配置文件 /etc/docker/daemon.json 写入 NVIDIA 运行时的配置信息。(3)直接使用 ubuntu22.04.tar 和 ubuntu22.04.tar 加载为 Docker 镜像。(1)进入docker-images文件夹,解压缩deb.zip文件。8.接下来配置docker的gpu环境,使得创建docker时使用。(5)创建可以使用gpu加速的docker容器。

2025-04-02 15:54:45 962

原创 Docker中在conda环境下使用gpu推理简单的神经网络一示例4

(1)重新开启一个终端,进入xfddlm容器,输入如下命令,每隔0.1s刷新一次gpu状态。3.使用清华源镜像安装(比较快,虽然接下来用不到,但是很重要所以顺便记录一下)1.在docker容器的conda环境下安装安装pip。(2)在原来的容器终端输入如下命令执行模型推理文件。(3)同时可以发现,监控终端显示了GPU的工作状态。5.执行推理并显示结果,查看是否gpu显存占用。3.创建一个inference.py文件。4.搭建一个简单的神经网络。2.使用apt安装vim。

2025-03-28 16:32:09 309

原创 Docker中创建conda环境并安装cuda和相关依赖—示例3

书接上文,在linux系统中进入自己新创建的docker,接下来需要配置conda环境,以供后续学习使用。4. Miniconda 安装程序,一路回车(按住回车不松手就行,输入yes,然后继续回车)(3)在conda中安装python的cuda和相关依赖,用于神经网络模型的GPU推理。7.创建包含Python3.8的conda环境,conda环境的名字为dlm。其中-n表示指定conda环境的名字,-y表示对于所有的选择都选yes。(2)进入conda环境。(5)删除conda环境。

2025-03-28 15:26:21 522 3

原创 Docker使用方法—示例2(新增端口和文件映射,可以ssh直接连接容器,并节约服务器系统盘空间)

本来是想从docker pull ubuntu拉取镜像开始写的,但是这一步遇到了报错,调试半天也没解决,索性就从已有docker镜像的情况下开始吧。1.进入linux终端,然后输入 docker images 查看本机已有的镜像(之前其他同学pull的)2.输入如下命令安装docker名字为xfddlm的容器,安装的系统为ubuntu 18.04。3.此时输入docker ps 可以查看到新创建的容器 xfddlm。(5)查看全部容器(包括停止运行的)(3)查看运行的容器。(10)再次进入容器。

2025-03-28 14:46:43 220

原创 使用Git从GitHub仓库拉取和推送代码—示例3

1.场景介绍如下:我们在实验室和寝室各有一台电脑,白天将在实验用电脑A写的代码上传(push)到GitHub上面之后,晚上回到寝室使用电脑B从GitHub上下载(pull)下来继续完善。但此时电脑A上的代码已经不是最新的了,需要从GitHub上下载(pull)最新的代码继续工作。8.第二天一早来到实验室,使用电脑A打开GitHub发现,上面有昨天睡觉前最传上去的代码,现在电脑A本地代码还是昨天回寝室之前的旧版本(只有“你好大脸猫”)2.准备工作:首先我们分别在电脑A,和电脑B上都准备一份最初的代码。

2025-03-26 16:32:58 392

原创 CH340驱动安装遇到的驱动程序数字签名问题,报错代码52

该博客有效解决了我所遇到的CH340驱动安装遇到的驱动程序数字签名问题,报错代码52,强烈推荐👍

2025-03-22 22:54:13 310

原创 使用Git上传代码到GitHub仓库—示例2

3.在Github上找到自己的仓库如下图所示,我们发现仓库中只有文件demo01.py。8.回到GitHub网页,刷新页面发现demo02.py已经被上传到demo01仓库中。接下来介绍如何在已有github仓库的基础上,使用Git向GitHub中添加文件。2.单机鼠标右键点击Open Git Bash Here。5.进入demo01,然后创建文件demo02.py。我们发现文件夹中出现了我们的demo01文件夹。6.在Git Bash中输入cd demo01。4.在Git Bash中输入。

2025-03-22 19:34:23 159

原创 使用Git上传代码到GitHub仓库—示例1

3.单机鼠标右键点击Open Git Bash Here。10.刷新页面发现demo01.py已经传输到自己的仓库。2.打开文件夹后新建文件demo01.py。7.创建一个新仓库如下图所示。

2025-03-22 19:15:24 216

原创 linux 安装 nodejs

linux 安装 nodejs (centos7系统)

2024-04-27 11:55:56 854 3

原创 windows ssh 连接远程服务器报错 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

2024-04-27 11:19:23 315 1

原创 手机端Termux sshd 出现 sshd: no hostkeys available -- exiting. 问题

手机端Termux sshd 出现 sshd: no hostkeys available – exiting. 问题。输入ssh-keygen -A 后解决。

2024-04-23 13:36:40 1163

原创 pytorch保存模型

torch.jit.save(net, 'model.pth') 和 torch.save(net.state_dict(), 'model.pth') 两者在保存模型时的区别

2023-09-27 11:18:48 559

原创 寒武纪MLU270保存.cambricon格式模型注意事项

net_mlu = torch.jit.trace(net_mlu, input_mlu, check_trace=False) # 追踪。后才能完成.cambricon格式模型的保存,执行的先后顺序是必须的,且这两条语句缺一不可。ct.save_as_cambricon('test') # 保存成寒武纪格式的可执行文件。

2023-09-26 23:09:21 304

上传本地数据到远端服务器的demo,并将接收的数据显示在网页上

可以上传数据到远端服务器,远端部署并运行server,本地部署并运行client。需要注意的是保持服务器ip和开放的端口号一致。

2024-05-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除