# Seg Data Server Net Modular web control plane for the existing Seg image segmentation workspace. The platform keeps the current training and analysis scripts as the compute core, then adds: - a FastAPI backend for catalog discovery, job orchestration, logs, results, GPU status, and weight management; - a React/Vite frontend for launching jobs and inspecting progress; - a unified `weights/` area with a generated manifest for `.pt`, `.pth`, `.onnx`, and `.engine` assets. ## Layout ```text Seg_Data_Server_Net/ backend/ FastAPI API, job runner, module wrappers frontend/ React + Vite operator UI scripts/ helper scripts for running services and syncing weights weights/ copied model weights and manifest.json ``` ## Quick Start ```bash cd Seg_Data_Server_Net cp .env.example .env # Backend. The deployment env is seg_smp so the API and task wrappers share # the same segmentation dependency stack. conda run -n seg_smp uvicorn app.main:app --app-dir backend --host 0.0.0.0 --port 8010 # Frontend. cd frontend npm install npm run dev -- --host 0.0.0.0 ``` Open the Vite URL shown in the terminal. The frontend expects the backend at `http://localhost:8010` by default. The web UI includes a dataset bench for creating upload workspaces, uploading images/labels/masks, and jumping into the existing rename, PNG conversion, resize, pair-check, label rebuild, transparent overlay, stitch, and video-frame jobs. Segmentation previews, YOLO heatmaps, and loss/metric artifacts are grouped on the results dashboard. The coverage panel calls `GET /api/coverage` and verifies that the user-facing scripts from the existing `Seg/` workspace are mapped to web jobs. MMSeg vendored internals, docs, build outputs, converters, and config templates are classified as supporting artifacts rather than direct web actions. The same panel can run `POST /api/acceptance/smoke`, a lightweight live smoke that creates an upload dataset, uploads a label, downloads it through the artifact API, runs a mock job, checks SSE log streaming, and executes one legacy image/label overlay job on tiny generated PNGs. ## Weight Sync The current workspace contains tens of GB of pretrained and trained weights. They are copied into `weights/files/` and indexed in `weights/manifest.json`. ```bash cd Seg_Data_Server_Net python scripts/sync_weights.py --mode copy --hash ``` Weights must remain local to the deployment machine. Do not push `.pt`, `.pth`, `.onnx`, `.engine`, or `weights/files/` into Gitea. The repository stores only code, `weights/manifest.json`, and helper scripts. Before pushing, run: ```bash scripts/check_no_weight_git.sh ``` If a deployment machine needs weights, run the sync command locally on that machine after cloning the code. ## Job Types The backend exposes all current Seg capabilities as job types. Examples: - `dataset.rename`, `dataset.resize`, `dataset.pair`, `dataset.rebuild_labels`, `dataset.stack`, `dataset.stitch`, `dataset.video_frames`, `dataset.yolo_check_pairs`, `dataset.yolo_stack`, `dataset.yolo_txt_sort`, `dataset.yolo_convert_png`, `dataset.yolo_resize` - `segmodel.train`, `segmodel.batch_train`, `segmodel.predict`, `segmodel.batch_predict`, `segmodel.flops`, `segmodel.params_flops`, `segmodel.benchmark`, `segmodel.raw_mask_check` - `yolo.train`, `yolo.batch_train`, `yolo.predict`, `yolo.batch_predict`, `yolo.heatmap`, `yolo.compare`, `yolo.raw_mask_check`, `yolo.video_visible` - `mmseg.generate_data`, `mmseg.generate_alg`, `mmseg.train`, `mmseg.metrics`, `mmseg.flops_fps`, `mmseg.draw`, `mmseg.extract_loss_miou` - `visual.train`, `visual.inference`, `visual.fps`, `visual.yolo11_heatmap_v1`, `visual.yolo11_heatmap_v2`, `visual.deal_labels` - `analysis.all`, `system.backup`, `mock.echo` Use `GET /api/catalog` to inspect supported models, algorithms, datasets, and task types discovered from the existing `Seg/` workspace. Use `GET /api/coverage` to inspect script-to-task coverage and task buildability. ## Agents Run the local evaluation and validation agents before publishing changes: ```bash PYTHONPATH=backend conda run -n seg_smp python scripts/run_agents.py --build ``` The validation agent checks catalog coverage, the new `seg_smp` env, GPU visibility, no-weight Git safety, backend tests, frontend build, and live backend/frontend endpoints when the services are running. With live validation enabled it also runs the lightweight acceptance smoke above.