# 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. ## 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.