CLI reference
All commands use:
python -m client.submit_job --server http://<server-ip>:8000 <command>
Replace <server-ip> with your coordinator’s Tailscale IP (e.g. 100.64.0.1).
Commands
start
Start a new FedAvg training run. The coordinator shards CIFAR-10 across all registered workers and begins round 1.
python -m client.submit_job --server http://<server-ip>:8000 start
status
Check the current training status — which round is active, how many workers have submitted updates, and whether training is complete.
python -m client.submit_job --server http://<server-ip>:8000 status
monitor
Watch round-by-round progress in real-time. Prints updates as each round completes with loss and accuracy metrics.
python -m client.submit_job --server http://<server-ip>:8000 monitor
results
Fetch final training results after all rounds are complete. Returns aggregated metrics (loss, accuracy) across all rounds.
python -m client.submit_job --server http://<server-ip>:8000 results
workers
List all registered workers, their hardware info, GPU type, and current status (idle, training, disconnected).
python -m client.submit_job --server http://<server-ip>:8000 workers
Common flags
| Flag | Description |
|---|---|
--server URL | Coordinator URL (required). Use the Tailscale 100.x IP. |
Examples
Full workflow:
# Start training
python -m client.submit_job --server http://100.64.0.1:8000 start
# Monitor progress
python -m client.submit_job --server http://100.64.0.1:8000 monitor
# Get results when done
python -m client.submit_job --server http://100.64.0.1:8000 results