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.engineassets.
Layout
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
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.
Weight Sync
The current workspace contains tens of GB of pretrained and trained weights.
They are copied into weights/files/<original-relative-path> and indexed in
weights/manifest.json.
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:
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_framessegmodel.train,segmodel.batch_train,segmodel.predict,segmodel.batch_predict,segmodel.flops,segmodel.raw_mask_checkyolo.train,yolo.batch_train,yolo.predict,yolo.batch_predict,yolo.heatmap,yolo.compare,yolo.raw_mask_check,yolo.video_visiblemmseg.generate_data,mmseg.generate_alg,mmseg.train,mmseg.metrics,mmseg.flops_fps,mmseg.draw,mmseg.extract_loss_miouanalysis.all,system.backup,mock.echo
Use GET /api/catalog to inspect supported models, algorithms, datasets, and
task types discovered from the existing Seg/ workspace.
Agents
Run the local evaluation and validation agents before publishing changes:
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.