Skip to main content

Configuration

Configuration options for syft-flwr federated learning workflows.

Configuration Levels

SyftBox Client Configuration

Base SyftBox client settings:

  • Datasite identity and credentials
  • Sync server endpoints
  • Network settings
  • Cache and storage paths

syft-flwr Configuration

Federated learning specific settings:

  • Flower server address and port
  • Client registration
  • Training parameters
  • Model checkpoints location

Training Configuration

Model and training hyperparameters:

  • Learning rate
  • Batch size
  • Number of epochs
  • Optimizer settings

Configuration Files

Environment Variables

Common environment variables:

# SyftBox settings
SYFTBOX_DATA_DIR=~/.syftbox
SYFTBOX_EMAIL=user@example.com

# Flower settings
FLOWER_SERVER_ADDRESS=localhost:8080
FLOWER_NUM_ROUNDS=10

Config Files

Configuration file formats and locations:

# Example syft-flwr config
server:
address: "localhost:8080"
num_rounds: 10

client:
data_dir: "./data"
model_path: "./model"

training:
batch_size: 32
learning_rate: 0.01
epochs: 5

Configuration Priority

Configuration sources in order of precedence:

  1. Command-line arguments
  2. Environment variables
  3. Configuration files
  4. Default values

Common Settings

Server Configuration

  • Server address and port
  • Aggregation strategy
  • Minimum number of clients
  • Round timeout settings

Client Configuration

  • Private data location
  • Model architecture
  • Training parameters
  • Communication settings

Security Settings

  • Encryption keys
  • Permission configurations
  • Access control
note

Complete configuration reference coming soon

See Also