Buckets:
| # NeuroFlow C++ 编译脚本 — 自动暂停/恢复 cron 防止冲突 | |
| set -euo pipefail | |
| SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" | |
| BUILD_DIR="$SCRIPT_DIR/build" | |
| DEST="/mnt/d/neuroflow-model/neuroflow/_core.cpython-311-x86_64-linux-gnu.so" | |
| VENV_PYTHON="$HOME/.hermes/hermes-agent/venv/bin/python3" | |
| PYBIND11_DIR="$($VENV_PYTHON -c 'import pybind11; print(pybind11.get_cmake_dir())')" | |
| CRON_LEARN="bd007dc2fe14" | |
| CRON_REPORT="5d4dac90ff0d" | |
| echo "=== NeuroFlow C++ Build ===" | |
| # 1. 暂停 cron 任务 | |
| echo "[1/5] Pausing cron jobs..." | |
| hermes cron pause "$CRON_LEARN" 2>/dev/null || echo " ($CRON_LEARN already paused)" | |
| hermes cron pause "$CRON_REPORT" 2>/dev/null || echo " ($CRON_REPORT already paused)" | |
| sleep 2 # 等正在运行的任务结束 | |
| # 2. 编译 | |
| echo "[2/5] Building with ninja..." | |
| mkdir -p "$BUILD_DIR" | |
| cd "$BUILD_DIR" | |
| cmake .. -G Ninja \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DNEUROFLOW_BUILD_TESTS=OFF \ | |
| -DNEUROFLOW_BUILD_PYTHON=ON \ | |
| -DPython3_EXECUTABLE="$VENV_PYTHON" \ | |
| -Dpybind11_DIR="$PYBIND11_DIR" | |
| ninja -j$(nproc) | |
| # 3. 部署 so 到 neuroflow 包目录 | |
| echo "[3/5] Deploying .so to neuroflow package..." | |
| cp "$BUILD_DIR/_core.cpython-311-x86_64-linux-gnu.so" "$DEST" | |
| # 4. 验证 | |
| echo "[4/5] Verifying..." | |
| "$VENV_PYTHON" -c " | |
| import sys; sys.path.insert(0, '/mnt/d/neuroflow-model') | |
| from neuroflow._core import create_multimodal | |
| m = create_multimodal() | |
| import numpy as np | |
| x = np.random.randn(1, 512).astype(np.float32) | |
| out = m.forward_text(x) | |
| print(f' forward_text OK, output shape: {out.decision.shape}') | |
| m.save('/tmp/nf_build_test.bin') | |
| m2 = create_multimodal() | |
| m2.load('/tmp/nf_build_test.bin') | |
| print(' save/load roundtrip OK') | |
| print(' ✅ Verification passed') | |
| " | |
| # 5. 恢复 cron | |
| echo "[5/5] Resuming cron jobs..." | |
| hermes cron resume "$CRON_LEARN" 2>/dev/null || echo " ($CRON_LEARN already running)" | |
| hermes cron resume "$CRON_REPORT" 2>/dev/null || echo " ($CRON_REPORT already running)" | |
| echo "=== Build complete ===" | |
Xet Storage Details
- Size:
- 1.97 kB
- Xet hash:
- 9d72c71f5d3fa808a89672fa40ce885a133444eba0c69f1c1f1f37a56b61842e
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.