用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/MIUAV/vibe-coding-ros2 --skill rockchip-rknn命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | rockchip-rknn |
| description | OpenCV4 Rockchip RKNN 部署技能 - RK3588/RK3399Pro、RKNN-Toolkit2、NPU 加速 |
| user-invocable | true |
| argument-hint | rockchip OR rknn OR rk3588 OR rk3399 OR npu OR 边缘部署 |
Rockchip 平台 RKNN 加速部署完整指南
当需要以下帮助时使用此技能:
| 芯片 | NPU 算力 | CPU | 适用场景 |
|---|---|---|---|
| RK3588 | 6TOPS | 4xA76 + 4xA55 | 高性能边缘 |
| RK3399Pro | 3TOPS | 2xA72 + 4xA53 | 中等性能 |
| RV1126 | 1TOPS | 4xA7 | 低功耗 |
# 创建 conda 环境
conda create -n rknn python=3.8
conda activate rknn
# 安装依赖
pip install torch torchvision
pip install rknn-toolkit2==1.5.0
# 或使用 Docker
docker pull rockchip/rknn-toolkit2:1.5.0
docker run -it --network host \
-v $(pwd):/workspace \
rockchip/rknn-toolkit2:1.5.0 /bin/bash
from rknnocket2 import RKNN
from ultralytics import YOLO
# 加载 PyTorch 模型
model = YOLO('yolov8n.pt')
model.export(format='onnx', simplify=True)
# 转换为 RKNN
rknn = RKNN(verbose=True)
rknn.config(mean_values=[0, 0, 0], std_values=[255, 255, 255],
target_platform='rk3588')
rknn.load_onnx('yolov8n.onnx')
# 构建模型
rknn.build(do_quantization=True, dataset='dataset.txt')
# 导出
rknn.save('yolov8n.rknn')
import cv2
import numpy as np
from rknn.toolkit.decrypt import decrypt_model
# 加载 RKNN 模型
rknn = cv2.dnn.readRKNN('yolov8n.rknn')
# 读取图片
img = cv2.imread('image.jpg')
resized = cv2.resize(img, (640, 640))
input = np.expand_dims(resized, axis=0)
# 推理
outputs = rknn.inference(inputs=[input])
# 后处理
def postprocess(outputs, img_shape, conf_thresh=0.5, iou_thresh=0.4):
# 解析 YOLO 输出
...
return boxes
import rclpy
from rclpy.node import Node
from sensor_msgs.msg import Image
from cv_bridge import CvBridge
import cv2
class RockchipNode(Node):
def __init__(self):
super().__init__('rockchip_inference')
self.bridge = CvBridge()
# 加载 RKNN 模型
self.rknn = cv2.dnn.readRKNN('/models/yolov8n.rknn')
self.sub = self.create_subscription(
Image, '/image_raw', self.callback, 10)
self.pub = self.create_publisher(Image, '/detections', 10)
def callback(self, msg):
img = self.bridge.imgmsg_to_cv2(msg, 'bgr8')
resized = cv2.resize(img, (640, 640))
input_data = np.expand_dims(resized, axis=0)
outputs = self.rknn.inference(inputs=[input_data])
# 后处理和发布
模型转换:
do_quantization=True 启用量化dataset.txt 提高量化精度NPU 利用率:
rknn-toolkit-benchmark 测试性能内存管理:
调试工具:
rknn_monitor 查看 NPU 状态adb shell cat /sys/class/npu/npu/利用率