RK3576 LINUX RKNN SDK 测试

安装Conda工具

安装 Miniforge Conda
wget -c https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
chmod 777 Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.shsource ~/miniforge3/bin/activate # Miniforge 安装的目录# 创建名称为 toolkit2 的 Python 3.8 环境
conda create -n toolkit2 python=3.8# 激活toolkit2环境
conda activate toolkit2

工程代码下载

# 新建 Projects 文件夹
mkdir Projects
# 进入该目录
cd Projects
# 下载 RKNN-Toolkit2 仓库
git clone https://github.com/airockchip/rknn-toolkit2.git --depth 1
# 下载 RKNN Model Zoo 仓库
git clone https://github.com/airockchip/rknn_model_zoo.git --depth 1
# 下载 rknn-llm 仓库
git clone https://github.com/airockchip/rknn-llm.git --depth 1

确认板端环境
在这里插入图片描述
在这里插入图片描述

安装依赖环境以及YOLOv5运行

# 安装依赖库和 RKNN-Toolkit2
# 进入 rknn-toolkit2 目录
cd Projects/rknn-toolkit2/rknn-toolkit2
# 请根据不同的 python 版本,选择不同的 requirements 文件
# 例如 python3.8 对应 requirements_cp38.txt
pip install -r packages/requirements_cpxx.txt
# 安装 RKNN-Toolkit2
# 请根据不同的 python 版本及处理器架构,选择不同的 wheel 安装包文件:
# 其中 x.x.x 是 RKNN-Toolkit2 版本号,cpxx 是 python 版本号,请根据实际数值进行替换
pip install packages/rknn_toolkit2--x.x.x-cpxx-cpxx-manylinux_2_17_x86_64.manylinux2014_x86_64.whl# 验证是否安装成功
# 进入 Python 交互模式
python
# 导入 RKNN 类
from rknn.api import RKNN# 更新包列表
sudo apt update
# 安装 cmake
sudo apt install cmake# 进入 rknpu2 目录
cd Projects/rknn-toolkit2/rknpu2
# 推送 rknn_server 到板端
# 注:在64位Linux系统中,BOARD_ARCH对应a
# adb push runtime/Linux/rknn_server/${BOARD_ARC
adb push  runtime\Linux\rknn_server\aarch64\usr\bin\rknn_server  /usr/bin
adb push  runtime\Linux\rknn_server\aarch64\usr\bin\start_rknn.sh  /usr/bin
adb push  runtime\Linux\rknn_server\aarch64\usr\bin\restart_r knn.sh  /usr/bin
# 推送 librknnrt.so
# adb push runtime/Linux/librknn_api/${BOARD_ARC
adb push runtime\Linux\rlibrknn_api\aarch64\librknnrt.so   / usr/lib
# 进入板端
adb shell
# 赋予可执行权限
chmod +x /usr/bin/rknn_server
chmod +x /usr/bin/start_rknn.sh
chmod +x /usr/bin/restart_rknn.sh
# 重启 rknn_server 服务
restart_rknn.shRKNN C Demo 使用方法准备模型
# 进入 rknn_model_zoo/examples/yolov5/model 目录
cd Projects/rknn_model_zoo/examples/yolov5/model
# 运行 download_model.sh 脚本,下载 yolov5 onnx 模型
# 例如,下载好的 onnx 模型存放路径为 model/yolov5s_relu.onnx
./download_model.sh模型转换
# 进入 rknn_model_zoo/examples/yolov5/python 目录
cd Projects/rknn_model_zoo/examples/yolov5/python
# 运行 convert.py 脚本,将原始的 ONNX 模型转成 RKNN 模型
# 用法: python convert.py model_path [rk3566|rk3588|rk3562] [i8/fp] [output_path]
python convert.py ../model/yolov5s_relu.onnx rk3576 i8 ../model/yolov5s_relu.rknn    # 添加到 build-linux.sh 脚本的开头位置即可
GCC_COMPILER=Projects/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu# 用的是sdk自带的gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu 
# 路径 linux/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu
--- a/build-linux.sh
+++ b/build-linux.sh
@@ -1,5 +1,7 @@#!/bin/bash+GCC_COMPILER=Projects/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-rockchip1031-linux-gnu
+set -eecho "$0 $@"# 编译之前修改 库文件cd 3rdparty/mpp/Linux/aarch64/git status  ./rm librockchip_mpp.somv librockchip_mpp.so.0  librockchip_mpp.socd ..cd rknn_yolov5_demo/# 编译./build-linux.sh -t rk3576 -a aarch64 -b Release(toolkit2) ip3@ip3-MOMENTPLUS-M2:~/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo$ ./build-linux.sh -t rk3576 -a aarch64 -b Release
./build-linux.sh -t rk3576 -a aarch64 -b Release
/home/ip3/work/linux/Projects/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-rockchip1031-linux-gnu
===================================
TARGET_SOC=RK3576
TARGET_ARCH=aarch64
BUILD_TYPE=Release
BUILD_DIR=/home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/build/build_RK3576_linux_aarch64_Release
CC=/home/ip3/work/linux/Projects/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-rockchip1031-linux-gnu-gcc
CXX=/home/ip3/work/linux/Projects/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-rockchip1031-linux-gnu-g++
===================================
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/build/build_RK3576_linux_aarch64_Release
Consolidate compiler generated dependencies of target rknn_yolov5_video_demo
Consolidate compiler generated dependencies of target rknn_yolov5_demo
[ 60%] Built target rknn_yolov5_video_demo
[100%] Built target rknn_yolov5_demo
[ 40%] Built target rknn_yolov5_demo
[100%] Built target rknn_yolov5_video_demo
Install the project...
-- Install configuration: "Release"
-- Up-to-date: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux/./rknn_yolov5_demo
-- Up-to-date: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux/lib/librknnrt.so
-- Up-to-date: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux/lib/librga.so
-- Up-to-date: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux/./model/RK3576
-- Up-to-date: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux/./model/RK3576/yolov5s-640-640.rknn
-- Up-to-date: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux/./model/bus.jpg
-- Up-to-date: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux/./model/coco_80_labels_list.txt
-- Up-to-date: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux/./rknn_yolov5_video_demo
-- Up-to-date: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux/lib/librockchip_mpp.so
-- Up-to-date: /home/ip3/work/linux/Projects/rknn-toolkit2/rknpu2/examples/rknn_yolov5_demo/install/rknn_yolov5_demo_Linux/lib/libmk_api.so# 进入 rknn_model_zoo 目录
cd Projects/rknn_model_zoo
# 运行 build-linux.sh 脚本
# 用法:./build-linux.sh -t <target> -a <arch> -d <build_demo_name> [-b <build_type>] [-m]
# -t : target (rk356x/rk3588) # 平台类型,rk3568/rk3566 都统一为rk356x
# -a : arch (aarch64/armhf) # 板端系统架构
# -d : demo name # 对应 examples 目录下子文件夹的名称,如yolov5、mobilenet
# -b : build_type(Debug/Release)
# -m : enable address sanitizer, build_type need set to Debug
chmod +x build-linux.sh
./build-linux.sh -t rk3576 -a aarch64 -d yolov5(toolkit2) ip3@ip3-MOMENTPLUS-M2:~/work/linux/Projects/rknn_model_zoo$ ./build-linux.sh -t rk3576 -a aarch64 -d yolov5
./build-linux.sh -t rk3576 -a aarch64 -d yolov5
/home/ip3/work/linux/Projects/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-rockchip1031-linux-gnu
===================================
BUILD_DEMO_NAME=yolov5
BUILD_DEMO_PATH=examples/yolov5/cpp
TARGET_SOC=rk3576
TARGET_ARCH=aarch64
BUILD_TYPE=Release
ENABLE_ASAN=OFF
DISABLE_RGA=OFF
INSTALL_DIR=/home/ip3/work/linux/Projects/rknn_model_zoo/install/rk3576_linux_aarch64/rknn_yolov5_demo
BUILD_DIR=/home/ip3/work/linux/Projects/rknn_model_zoo/build/build_rknn_yolov5_demo_rk3576_linux_aarch64_Release
CC=/home/ip3/work/linux/Projects/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-rockchip1031-linux-gnu-gcc
CXX=/home/ip3/work/linux/Projects/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-rockchip1031-linux-gnu-g++
===================================
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ip3/work/linux/Projects/rknn_model_zoo/build/build_rknn_yolov5_demo_rk3576_linux_aarch64_Release
Consolidate compiler generated dependencies of target imageutils
Consolidate compiler generated dependencies of target fileutils
Consolidate compiler generated dependencies of target imagedrawing
Consolidate compiler generated dependencies of target audioutils
[ 25%] Built target imagedrawing
[ 41%] Built target fileutils
[ 50%] Built target audioutils
[ 66%] Built target imageutils
Consolidate compiler generated dependencies of target rknn_yolov5_demo
[100%] Built target rknn_yolov5_demo
[ 16%] Built target imageutils
[ 33%] Built target fileutils
[ 50%] Built target imagedrawing
[ 83%] Built target rknn_yolov5_demo
[100%] Built target audioutils
Install the project...
-- Install configuration: "Release"
-- Installing: /home/ip3/work/linux/Projects/rknn_model_zoo/install/rk3576_linux_aarch64/rknn_yolov5_demo/./rknn_yolov5_demo
-- Set runtime path of "/home/ip3/work/linux/Projects/rknn_model_zoo/install/rk3576_linux_aarch64/rknn_yolov5_demo/./rknn_yolov5_demo" to "$ORIGIN/lib"
-- Installing: /home/ip3/work/linux/Projects/rknn_model_zoo/install/rk3576_linux_aarch64/rknn_yolov5_demo/./model/bus.jpg
-- Installing: /home/ip3/work/linux/Projects/rknn_model_zoo/install/rk3576_linux_aarch64/rknn_yolov5_demo/./model/coco_80_labels_list.txt
-- Installing: /home/ip3/work/linux/Projects/rknn_model_zoo/install/rk3576_linux_aarch64/rknn_yolov5_demo/model/yolov5s_relu.rknn
-- Installing: /home/ip3/work/linux/Projects/rknn_model_zoo/install/rk3576_linux_aarch64/rknn_yolov5_demo/lib/librknnrt.so
-- Installing: /home/ip3/work/linux/Projects/rknn_model_zoo/install/rk3576_linux_aarch64/rknn_yolov5_demo/lib/librga.so#编译之后的文件
(toolkit2) ip3@ip3-MOMENTPLUS-M2:~/work/linux/Projects/rknn_model_zoo/install$ tree
.
└── rk3576_linux_aarch64└── rknn_yolov5_demo├── lib│   ├── librga.so│   └── librknnrt.so├── model│   ├── bus.jpg│   ├── coco_80_labels_list.txt│   └── yolov5s_relu.rknn└── rknn_yolov5_demo# 推送文件到板端
# 进入 rknn_model_zoo 目录
cd Projects/rknn_model_zoo
# 推送整个 rknn_yolov5_demo 文件夹到板端
# 注:rknn_yolov5_demo 文件夹下有一个同名的可执行文件 rknn_yolov5_demo
# 注:使用不同的模型和平台时,建议直接在 install 下找对应的路径
adb push install/rk3576_linux_aarch64/rknn_yolov5_demo /data/# 板端运行 Demo
# 进入板端
adb shell
# 进入 rknn_yolov5_demo 目录
cd /data/rknn_yolov5_demo/
# 设置依赖库环境
export LD_LIBRARY_PATH=./lib
# 运行可执行文件
# 用法: ./rknn_yolov5_demo <model_path> <input_path>
./rknn_yolov5_demo model/yolov5s_relu.rknn  model/bus.jpg# 查看结果
# 拉取到本地当前目录
adb pull /data/rknn_yolov5_demo/out.png .

在这里插入图片描述

RKLLM部署

# 代码 rknn-llm
# 环境 激活toolkit2环境
conda activate toolkit2# 切换到rkllm-toolkit目录
cd rknn-llm/rkllm-toolkit/# 安装rkllm_toolkit(文件请根据具体版本修改),会自动下载RKLLM-Toolkit工具所需要的相关依赖包。
pip install packages/rkllm_toolkit-1.0.1-cp38-cp38-linux_x86_64.whl#模型下载
cd Projects 
mkdir modemQwen-1_8B-Chat_downloader.py
from modelscope import snapshot_download
#model_dir = snapshot_download('qwen/Qwen-7B-Chat',cache_dir='./modem')
model_dir = snapshot_download('qwen/Qwen-1_8B-Chat',cache_dir='./modem')运行Qwen-1_8B-Chat_downloader.py
python Qwen-1_8B-Chat_downloader.py# 模型转换
# 在rknn-llm/rkllm-toolkit/examples/下新建 huggingface目录
# 新建download.py 代码如下:
from rkllm.api import RKLLM
# 模型路径
modelpath = '/home/ip3/work/linux/Projects/modem/qwen/Qwen-1_8B-Chat'
# 初始化RKLLM对象
llm = RKLLM()
# 模型加载
ret = llm.load_huggingface(model = modelpath)
if ret != 0:print('Load model failed!')exit(ret)
# 模型的量化构建
ret = llm.build(do_quantization=True, optimization_level=1, quantized_dtype='w8a8', target_platform='rk3576',num_npu_core=2)
if ret != 0:print('Build model failed!')exit(ret)
# 导出rkllm模型
ret = llm.export_rkllm("./qwen.rkllm")
if ret != 0:print('Export model failed!')exit(ret)# RKLLM Runtime 编译
cd  Projects/rknn-llm/rkllm-runtime/examples/rkllm_api_demo#设置编译工具连接+++ b/rkllm-runtime/examples/rkllm_api_demo/build-linux.sh
@@ -1,10 +1,12 @@#!/bin/bash
+# Debug / Release / RelWithDebInfoif [[ -z ${BUILD_TYPE} ]];thenBUILD_TYPE=Releasefi-GCC_COMPILER_PATH=~/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu
+GCC_COMPILER_PATH=~/work/linux/Projects/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu(toolkit2) ip3@ip3-MOMENTPLUS-M2:~/work/linux/Projects/rknn-llm/rkllm-runtime/examples/rkllm_api_demo$ ./build-linux.sh
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ip3/work/linux/Projects/rknn-llm/rkllm-runtime/examples/rkllm_api_demo/build/build_linux_aarch64_Release
Consolidate compiler generated dependencies of target llm_demo
Consolidate compiler generated dependencies of target multimodel_demo
[ 50%] Built target llm_demo
[100%] Built target multimodel_demo(toolkit2) ip3@ip3-MOMENTPLUS-M2:~/work/linux/Projects/rknn-llm/rkllm-runtime/examples/rkllm_api_demo/build$ tree  -L 2
.
└── build_linux_aarch64_Release├── CMakeCache.txt├── CMakeFiles├── cmake_install.cmake├── llm_demo├── Makefile└── multimodel_demo2 directories, 5 files# 推送板端# 注意:要去到llm_demo 和 librkllmrt.so所在的目录下去执行
adb push llm_demo /data  # 将llm_demo使用ssh传输到开发板的家目录
adb push ./rkllm-runtime/runtime/Linux/librkllm_api/aarch64/librkllmrt.so /data/lib
adb push  Projects/rknn-llm/rkllm-toolkit/examples/huggingface/qwen.rkllm  /data运行
adb shell  && cd data
cd librkllmrt.so所在的目录
export LD_LIBRARY_PATH=./lib# 修改最大可打开文件的数量
ulimit -HSn 10240root@linaro-alip:/data# ./llm_demo qwen.rkllm  128 4080
rkllm init start
I rkllm: rkllm-runtime version: 1.1.2, rknpu driver version: 0.9.8, platform: RK3576# 或者运行绑定cpu运行测试
# taskset f0 ./llm_demo /path/qwen.rkllm

在这里插入图片描述

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

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

相关文章

新能源行业必会基础知识-----电力现货市场理论篇-----主目录-----持续更新

新能源行业知识体系-------主目录-----持续更新https://blog.csdn.net/grd_java/article/details/140004020 这本书是2023年出版的&#xff0c;是当下了解国内电力市场最好的途径了。 电力现货市场理论篇 一、电力市场概述1. 电力市场总体架构2. 电力市场模式选择3. 电力市场建…

docker 拉取MySQL8.0镜像以及安装

目录 一、docker安装MySQL镜像 搜索images 拉取MySQL镜像 二、数据挂载 在/root/mysql/conf中创建 *.cnf 文件 创建容器,将数据,日志,配置文件映射到本机 检查MySQL是否启动成功&#xff1a; 三、DBeaver数据库连接 问题一、Public Key Retrieval is not allowed 问题…

#Prompt | AI | LLM # 人类如何写出LLM理解的Prompt

一、如何写好Prompt 结构化Prompt 结构化Prompt是对信息进行组织&#xff0c;使其遵循特定模式和规则&#xff0c;以便于有效理解信息。常用模块包括&#xff1a; Role: 指定角色&#xff0c;使模型聚焦于特定领域。Profile: 包括作者、版本、语言和描述。Goals: 描述Prompt的…

vue计算属性

概念&#xff1a;基于现有的数据&#xff0c;计算出来新属性。并依赖数据的变化&#xff0c;自动重新计算 使用场景&#xff1a; 语法&#xff1a;声明在computed配置项中&#xff0c;一个计算属性对应一个函数&#xff0c;使用起来和普通属性一样使用{{计算属性名}} 代码&…

playground.tensorflow神经网络可视化工具

playground.tensorflow 是一个可视化工具&#xff0c;用于帮助用户理解深度学习和神经网络的基本原理。它通过交互式界面使用户能够构建、训练和可视化简单的神经网络模型。以下是一些主要的数学模型和公式原理&#xff0c;它们在这个平台中被应用&#xff1a; 1. 线性模型 线…

Zabbix监控架构

目录 1. Zabbix监控架构-CS架构 2. Zabbix极速上手指南 主机规划 2.1 部署ngxphp环境并测试 检查安装结果 2.2 部署数据库 2.3 编译安装zabbix-server服务端及后续配置 2.4 部署前端代码代码进行访问 前端的配置文件(连接数据库与主机名等信息) 2.5 欢迎来到zabbix 2…

后台管理系统:登录页

本次项目为后台管理系统&#xff0c;在本系统内第一个页面是登录页面 登录页的各种功能介绍 作为登录页需要具有的功能有&#xff1a;点击登录时记录账户密码&#xff0c;对比账户密码的正确性&#xff0c;提示用户当前状态&#xff0c;登录完成后跳转至首页等功能。 一、网页设…

go语言解决rtsp协议只播放部分的问题(业务问题)

背景 之前不是写过一个项目嘛&#xff0c;就之前有更改过存储对接的项目 go语言对接S3存储的SDK(支持minio和OSS) 这个项目主要的业务是就一个&#xff0c;点播rtsp协议的码流&#xff0c;视频来源在存储服务器上。 这次的问题是rtsp协议只播放部分&#xff0c;需要我们进行排…

移位寄存器设计—FDRE、SRL16E及原语约束

信号处理中&#xff0c;实现数据对齐时&#xff0c;常常对单bit或多bit信号进行打拍操作&#xff0c;这个可以通过移位寄存器实现&#xff0c;SLICEM中的SRL即为移位寄存器。 这里主要记录下不同写法的效果。 1 //同步复位2 module static_multi_bit_sreg_poor #(3 parame…

Linux学习笔记之虚拟机操作

Linux简介 Linux是一种开源、免费的操作系统&#xff0c;其稳定性、安全性、处理多并发得到业界认可。Linux在服务器领域可以说是最强的&#xff0c;并且具有可定制&#xff0c;可裁剪&#xff0c;适用于嵌入式领域的特点。对于linux系统&#xff0c;它最大的的特点就是一切皆…

middleware中间件概述

中间件定义 中间件&#xff08;middleware&#xff09;是基础软件的一大类&#xff0c;属于可复用软件的范畴。顾名思义&#xff0c;中间件处在操作系统、网络和数据库之上&#xff0c;应用软件的下层&#xff08;如图 15-1 所示&#xff09;​&#xff0c;也有人认为它应该属…

《清宫辞Ⅱ》开机:陈欣予旗装惊艳回归 重新演绎宫闱传奇

演员陈欣予&#xff0c;1993年11月24日出生&#xff0c;多年来在影视剧方面取得了不错的成绩&#xff0c;在演戏的道路上&#xff0c;陈欣予不断挑战自我&#xff0c;凭借对不同角色的塑造&#xff0c;收获好评无数。 11月6日&#xff0c;由北京七耀文化传媒有限公司出品制作&a…

Linux sed命令详解-结构(清楚结构便于理解记忆)-选项-模式空间与暂存区(多示例、多图)

文章目录 sed基本结构选项-n(静默模式)-e、;(多点编辑,多条命令)-f(指定脚本文件)-i(直接修改文件与备份)-E(扩展正则表达式) 常用动作p(print,打印)i(插入内容)与a(追加内容)c、y(替换)d(delete,删除)s(替换) 其他动作l(小写L,打印特殊字符)r(在匹配行后插入指定文件内容)w(将…

开箱即用!265种windows渗透工具合集--灵兔宝盒

【渗透工具箱】灵兔宝盒-Rabbit_Treasure_Box_V1.0.1 介绍 Rabbit_Treasure_Box_V1.0.1是一款Windows渗透工具箱&#xff0c;集成Dawn Launcher管理&#xff0c;便捷备份更新。内含脚本工具及在线安全工具&#xff0c;覆盖信息收集、漏洞利用、逆向破解、蓝队防御等多领域&am…

对标 Windows Copilot 的 UOS AI,升级后更能打了

进入 2024 年&#xff0c;AI 应用迎来大爆发&#xff0c;不仅各类应用纷纷宣称“AI 赋能”&#xff0c;操作系统也不例外。前有 Windows Copilot&#xff0c;后有 Apple Intelligent&#xff0c;手机行业更是积极&#xff0c;各种 AI 手机纷纷发布。国产信创系统自然也不甘落后…

【LeetCode】每日一题 2024_11_2 使两个整数相等的位更改次数(位运算/模拟)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动&#xff01; 题目&#xff1a;使两个整数相等的位更改次数 代码与解题思路 先读题&#xff1a; 题目要我们把 n 这个数字转换成 k 这个数字&#xff0c;但是只能是二进制位 1 转换成 0 纯模拟的解法&#xff1a; f…

2024 开源社年度评选

开源社&#xff08;英文名称为“KAIYUANSHE”&#xff09;成立于2014年&#xff0c;是由志愿贡献于开源事业的个人志愿者&#xff0c;依 “贡献、共识、共治” 原则所组成的开源社区。开源社始终维持 “厂商中立、公益、非营利” 的理念&#xff0c;以 “立足中国、贡献全球&am…

【MATLAB源码-第204期】基于matlab的语音降噪算法对比仿真,谱减法、维纳滤波法、自适应滤波法;参数可调。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 语音降噪技术的目的是改善语音信号的质量&#xff0c;通过减少或消除背景噪声&#xff0c;使得语音更清晰&#xff0c;便于听者理解或进一步的语音处理任务&#xff0c;如语音识别和语音通讯。在许多实际应用中&#xff0c;如…

C语言 | Leetcode C语言题解之第542题01矩阵

题目&#xff1a; 题解&#xff1a; /*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/ type…

[SWPUCTF 2022 新生赛]Power! 反序列化详细题解

知识点: PHP反序列化(执行顺序) 构造POP链 代码审计 题目主页: 输入框可以输入内容,习惯性先查看一下页面的源代码,收集信息 发现源码中有提示参数source 先不急,再看一下其他信息 是apache服务器,php版本为7.4.30 url传参 ?sourceindex.php 回显了index.php的源码 …