ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RuView 如何用 MM-Fi 数据集通过 sensing-server 原生管线训练并导出 RVF 模型?

RuView 如何用 MM-Fi 数据集通过 sensing-server 原生管线训练并导出 RVF 模型? RuView 如何用 MM-Fi 数据集通过 sensing-server 原生管线训练并导出 RVF 模型【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView这篇文章解决一个具体任务在 RuView 的 Rust sensing-server 中用公开的 MM-Fi WiFi CSI 数据集走原生训练管线训练一个模型并把它保存为 RVFRuVector Format二进制容器供 sensing-server 推理时加载。与仓库中另一条 JavaScript WiFlow 训练管线不同这条 Rust 原生管线直接写出二进制 RVF 文件——docs/user-guide.md 明确指出WiFlow 产出的wiflow-v1.json目前没有受支持的 JSON 到 RVF 的转换命令要训练一个 Rust sensing server 能加载的模型就使用它的原生训练路径它直接写 RVF。整条路径只有三步准备sensing-server二进制和 MM-Fi 数据 → 运行--train --save-rvf→ 用--model加载产出的 RVF 验证。准备条件sensing-server 二进制与数据集构建 sensing-server训练由sensing-server二进制承担。按 docs/user-guide.md 的 From Source 流程git clone https://github.com/ruvnet/RuView.git cd RuView/v2 # Build cargo build --release # Verify (runs 1,400 tests) cargo test --workspace --no-default-features编译产物位于target/release/sensing-server。在 Debian/Ubuntu 上首次构建前文档要求先安装 GTK/WebKit 原生依赖workspace 中的 desktop/Tauri crates 使用sudo apt update sudo apt install -y \ build-essential pkg-config \ libglib2.0-dev libgtk-3-dev \ libsoup-3.0-dev \ libjavascriptcoregtk-4.1-dev \ libwebkit2gtk-4.1-dev这条命令会修改系统环境并安装系统包仅在基于 Debian/Ubuntu 的 Linux 上需要如果你的机器已经构建过该 workspace可以跳过。放置 MM-Fi 数据user-guide 的 Training a Model 一节说明系统支持两个公开数据集本文只涉及 MM-FiDatasetSourceFormatSubjectsEnvironmentsDownloadMM-FiNeurIPS 2023.npy404 rooms项目文档链接到 MM-Fi 的 GitHub 仓库含 Google Drive / Baidu 下载链接把下载到的数据集文件放进一个data/目录。目录里实际需要什么文件可以看数据加载器 dataset.rsMM-Fi 加载路径csi_amplitude.npy或csi.npylabels.npy或keypoints.npy另有可选的csi_phase.npy训练管线按mmfi类型抽取窗口。注意输入形状与后续校准工具的关系MM-Fi 三天线数据的张量形状是[N,3,114,10]3 antennas × 114 subcarriers × 10 framesdocs/benchmarks/mmfi-wifi-sensing-study.md 与 user-guide 的 Model and capture compatibility 一节都以此为 MM-Fi 旗舰模型的输入契约。执行训练并导出 RVF主路径命令来自 docs/user-guide.md 的 Training a Model / Step 2# From source ./target/release/sensing-server --train --dataset data/ --dataset-type mmfi --epochs 100 --save-rvf model.rvf各参数的用途见 user-guide 的 CLI Reference 表--train进入训练模式训练完退出不起服务--dataset data/MM-Fi 或 Wi-Pose 数据集目录这里指向 MM-Fi 数据--dataset-type mmfi数据集格式取值mmfi或wipose默认即mmfi--epochs 100训练轮数默认 100--save-rvf model.rvf在退出shutdown时把模型状态保存为 RVF 文件。文档明确列出了--save-rvf的语义是 Save model state to RVF on shutdown所以 RVF 文件的落盘发生在训练进程结束时判断训练是否产出模型就看model.rvf是否按你指定的路径生成再用下一步的加载命令回读。训练管线共 10 个阶段user-guide 原文列表Dataset loadingMM-Fi.npy或 Wi-Pose.matHardware normalizationIntel 5300 / Atheros / ESP32 → canonical 56 subcarriersSubcarrier resampling114→56 或 30→56Catmull-Rom 插值Graph transformer construction17 COCO keypoints16 bone edgesCross-attention trainingCSI features → body pose实验性 domain-adversarial 组件MERIDIAN 研究模块不是已验证的自动部署路径Composite loss optimizationMSE CE UV temporal bone symmetrySONA adaptationmicro-LoRA EWCSparse inference optimizationhot/cold 神经元分区RVF model packaging可选分支Docker 训练如果你不想本地编译文档提供了 Docker 变体镜像为ruvnet/wifi-densepose:latestdocker run --rm \ -v $(pwd)/data:/data \ -v $(pwd)/output:/output \ --entrypoint /app/sensing-server \ ruvnet/wifi-densepose:latest \ --train --dataset /data --epochs 100 --save-rvf /output/model.rvf注意两点训练模式必须用--entrypoint /app/sensing-server覆盖默认 entrypoint文档原注释产物会写到挂载的output/目录即/output/model.rvf宿主机上对应output/model.rvf。不要混淆--export-rvfCLI Reference 中对--export-rvf的说明值得单独强调它导出的是一个占位placeholderRVF 容器格式演示不是训练出来的模型。真实模型路径就是上面的--train--save-rvf或者下载预训练编码器。user-guide 的 RVF Model Containers / Export 一节展示的./target/release/sensing-server --export-rvf model.rvf属于演示用途本文任务中不需要它。加载与验证产出的 RVF训练完成后用同一个二进制回读模型验证./target/release/sensing-server --model model.rvf --progressive --source esp32--model加载训练出的.rvf模型用于推理--progressive启用渐进式加载文档描述Layer A 在 5 ms 内完成基础推理启动完整模型在后台加载。这条命令同时验证了两件事RVF 文件能被 RVF 加载器解析且模型接入了服务器推理路径--source esp32表示从 ESP32 UDP 5005 接收 CSI 帧。RVF 容器本身包含什么user-guide Contents 一节model weights、HNSW 向量索引、量化码本quantization codebooks、SONA adaptation profiles、Ed25519 训练证明training proof、vital sign 滤波器参数。文档还给出了部署目标与量化档位参考表TargetQuantizationSizeLoad TimeESP32 / IoTint4~0.7 MB5msMobile / WASMint8~6-10 MB~200-500msField (WiFi-Mat)fp16~62 MB~2sServer / Cloudf32~50 MB~3s限制与边界以下几条来自文档直接影响你如何评价这次训练的结果MERIDIAN 阶段是实验性的。10 阶段管线中第 6 阶段的 domain-adversarial 组件是研究模块not a validated automatic deployment path。RuView 目前没有一条已验证的命令能把 ~200 帧无标注数据变成可用的房间适配器跨房间部署的现实校准路径是 aether-arena/calibration/ 的有标注参考实现calibrate.py拟合 LoRA 适配器期望输入[N,3,114,10]针对 MM-Fi transformer。校准文件不互通。calibrate.py面向 MM-Fi transformercog_calibrate.py面向 cog convMLP期望[N,56,20]两种适配器互相不能加载schema 见 aether-arena/calibration/README.md。精度预期要看协议。docs/benchmarks/mmfi-wifi-sensing-study.md 的诚实结论是MM-Fi 上random_split的 in-domain 数字如 82.69% torso-PCK20部分受泄漏抬高cross-subject zero-shot 约 64%cross-environment zero-shot 约 10%pose 任务部署答案是在部署房间做 few-shot 校准而不是指望零样本泛化。所以用 MM-Fi 训练的 RVF 模型换房间后精度下降是文档明确记录的预期行为。RVF 加载器的格式边界。docs/user-guide.md 记录了一个已知缺口v2/crates/wifi-densepose-sensing-server/src/rvf_container.rs只解析二进制 RVF 段格式magic0x52564653而 Hugging Face 上的预训练产物是 JSONL RVF--model指向.rvf.jsonl会报invalid magic at offset 0错误。本文路径不受影响——--save-rvf写出的正是二进制 RVF——但如果你计划混合使用外部 JSONL 模型先确认加载兼容性。WiFlow JSON 模型不能冒充 RVF。如开头所述重命名wiflow-v1.json为.rvf不构成转换两条管线目前是分离的。进一步阅读管线与 CLI 参数的完整说明docs/user-guide.mdTraining a Model、RVF Model Containers、CLI Reference 各节MM-Fi 数据集的完整实验与复现脚本索引docs/benchmarks/mmfi-wifi-sensing-study.md数据加载与窗口抽取实现dataset.rs有标注的 per-room LoRA 校准参考实现aether-arena/calibration/README.md【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表