mirror of
https://github.com/ruvnet/RuView
synced 2026-07-23 17:33:20 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5038e3c8e1 | |||
| e239af3636 | |||
| 4856afbd0c | |||
| 4d205a05c4 | |||
| bc42ae7903 | |||
| b7b8c1109b | |||
| 786e834dae |
@@ -269,6 +269,10 @@ jobs:
|
|||||||
|
|
||||||
- name: Start application
|
- name: Start application
|
||||||
working-directory: archive/v1
|
working-directory: archive/v1
|
||||||
|
env:
|
||||||
|
# No CSI hardware in CI — serve mock pose data so the pose endpoints
|
||||||
|
# respond 200 under load instead of erroring "requires real CSI data".
|
||||||
|
MOCK_POSE_DATA: "true"
|
||||||
run: |
|
run: |
|
||||||
uvicorn src.api.main:app --host 0.0.0.0 --port 8000 &
|
uvicorn src.api.main:app --host 0.0.0.0 --port 8000 &
|
||||||
sleep 10
|
sleep 10
|
||||||
@@ -384,6 +388,8 @@ jobs:
|
|||||||
|
|
||||||
- name: Generate OpenAPI spec
|
- name: Generate OpenAPI spec
|
||||||
working-directory: archive/v1
|
working-directory: archive/v1
|
||||||
|
env:
|
||||||
|
MOCK_POSE_DATA: "true" # no CSI hardware in CI
|
||||||
run: |
|
run: |
|
||||||
python -c "
|
python -c "
|
||||||
from src.api.main import app
|
from src.api.main import app
|
||||||
|
|||||||
@@ -107,16 +107,25 @@ class PoseService:
|
|||||||
async def _initialize_models(self):
|
async def _initialize_models(self):
|
||||||
"""Initialize neural network models."""
|
"""Initialize neural network models."""
|
||||||
try:
|
try:
|
||||||
# Initialize DensePose model
|
# Initialize DensePose model. DensePoseHead requires a config
|
||||||
|
# dict — input_channels matches the modality translator's output
|
||||||
|
# (256), with the standard DensePose 24 body parts and 2 (U,V)
|
||||||
|
# coordinates. (Previously called with no args → TypeError at
|
||||||
|
# startup, which broke the API service.)
|
||||||
|
densepose_config = {
|
||||||
|
'input_channels': 256,
|
||||||
|
'num_body_parts': 24,
|
||||||
|
'num_uv_coordinates': 2,
|
||||||
|
}
|
||||||
if self.settings.pose_model_path:
|
if self.settings.pose_model_path:
|
||||||
self.densepose_model = DensePoseHead()
|
self.densepose_model = DensePoseHead(densepose_config)
|
||||||
# Load model weights if path is provided
|
# Load model weights if path is provided
|
||||||
# model_state = torch.load(self.settings.pose_model_path)
|
# model_state = torch.load(self.settings.pose_model_path)
|
||||||
# self.densepose_model.load_state_dict(model_state)
|
# self.densepose_model.load_state_dict(model_state)
|
||||||
self.logger.info("DensePose model loaded")
|
self.logger.info("DensePose model loaded")
|
||||||
else:
|
else:
|
||||||
self.logger.warning("No pose model path provided, using default model")
|
self.logger.warning("No pose model path provided, using default model")
|
||||||
self.densepose_model = DensePoseHead()
|
self.densepose_model = DensePoseHead(densepose_config)
|
||||||
|
|
||||||
# Initialize modality translation
|
# Initialize modality translation
|
||||||
config = {
|
config = {
|
||||||
|
|||||||
Binary file not shown.
@@ -1,4 +1,4 @@
|
|||||||
889715e9d698ad78f9978ad8b93b6af24a726b0494247201c8f0d920d9fc80ca *firmware/esp32-csi-node/release_bins/c6-adr110/bootloader.bin
|
b0fb1f217a39c80bc95b5eb8208a0b8572ae64efa0f6d580b76caff4affe0f4d *firmware/esp32-csi-node/release_bins/c6-adr110/bootloader.bin
|
||||||
d8539e47c6f10a3344679118619e3fe01cfd66eb560ea8883268ca7c9a12efa4 *firmware/esp32-csi-node/release_bins/c6-adr110/esp32-csi-node.bin
|
4764c5b20a353895f70122816adc98f861ec20e9a8ea9b344dc0648b6341073c *firmware/esp32-csi-node/release_bins/c6-adr110/esp32-csi-node.bin
|
||||||
7d2c7ac4888bfd75cd5f56e8d61f69595121183afc81556c876732fd3782c62f *firmware/esp32-csi-node/release_bins/c6-adr110/ota_data_initial.bin
|
7d2c7ac4888bfd75cd5f56e8d61f69595121183afc81556c876732fd3782c62f *firmware/esp32-csi-node/release_bins/c6-adr110/ota_data_initial.bin
|
||||||
4c2cc4ffd52641e23b779bd57b3908014083ac3c1aab395756478c89e70d81f0 *firmware/esp32-csi-node/release_bins/c6-adr110/partition-table.bin
|
4c2cc4ffd52641e23b779bd57b3908014083ac3c1aab395756478c89e70d81f0 *firmware/esp32-csi-node/release_bins/c6-adr110/partition-table.bin
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,3 @@
|
|||||||
3c4905dd202ccabf4230cbabcc9320f250a60b1a7254eff7424780201bcb2072 *firmware/esp32-csi-node/release_bins/s3-adr110/bootloader.bin
|
b973d7eda65affb746adcfa63ceb18f779f206d240b76f01b8c9ae7485455660 *firmware/esp32-csi-node/release_bins/s3-adr110/bootloader.bin
|
||||||
7a8bf9582c9031fed32f1ada44f5c41dd99bd07fadff8e5c86e07aa0f343e847 *firmware/esp32-csi-node/release_bins/s3-adr110/esp32-csi-node.bin
|
e21ef94aba779d534dc048c1b9da731c81e5dbe09d0645cfd70a05ad3642d3e9 *firmware/esp32-csi-node/release_bins/s3-adr110/esp32-csi-node.bin
|
||||||
67222c257c0477501fd4002275638dc4262b34eb68235b8289fb1337054d322b *firmware/esp32-csi-node/release_bins/s3-adr110/partition-table.bin
|
67222c257c0477501fd4002275638dc4262b34eb68235b8289fb1337054d322b *firmware/esp32-csi-node/release_bins/s3-adr110/partition-table.bin
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,4 @@
|
|||||||
0.6.6
|
0.6.7
|
||||||
git-sha: cbcb389cb (pre-commit)
|
git-sha: 8703ade9b
|
||||||
built: 2026-05-21
|
built: 2026-06-02
|
||||||
|
note: RuView#893 — display-less boards capture DATA frames (CSI yield 0pps fix); hardware-verified on ESP32-C6 (0->27 pps)
|
||||||
|
|||||||
@@ -36,3 +36,4 @@ scikit-learn>=1.2.0
|
|||||||
|
|
||||||
# Monitoring dependencies
|
# Monitoring dependencies
|
||||||
prometheus-client>=0.16.0
|
prometheus-client>=0.16.0
|
||||||
|
psutil>=5.9.0 # system metrics — imported by health.py / metrics.py / status.py / monitoring.py
|
||||||
|
|||||||
Reference in New Issue
Block a user