|
"""
|
|
Configuration file for Federated Autoencoder Training
|
|
"""
|
|
|
|
import os
|
|
|
|
|
|
DATA_ROOT = "data"
|
|
DATASETS = ["Michel Daudon (w256 1k v1)", "Jonathan El-Beze (w256 1k v1)"]
|
|
SUBVERSIONS = ["MIX", "SEC", "SUR"]
|
|
IMAGE_SIZE = (256, 256)
|
|
CHANNELS = 3
|
|
|
|
|
|
NUM_CLIENTS = 10
|
|
NUM_ROUNDS = 20
|
|
CLIENTS_PER_ROUND = 8
|
|
|
|
|
|
LATENT_DIM = 128
|
|
LEARNING_RATE = 0.001
|
|
BATCH_SIZE = 32
|
|
LOCAL_EPOCHS = 3
|
|
|
|
|
|
CORRUPTION_PROBABILITY = 0.2
|
|
CORRUPTION_TYPES = [
|
|
"gaussian_noise",
|
|
"salt_pepper",
|
|
"blur",
|
|
"brightness",
|
|
"contrast"
|
|
]
|
|
|
|
|
|
import torch
|
|
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
|
|
SEED = 42
|
|
|
|
|
|
CUDA_AVAILABLE = torch.cuda.is_available()
|
|
if CUDA_AVAILABLE:
|
|
CUDA_DEVICE_COUNT = torch.cuda.device_count()
|
|
CUDA_DEVICE_NAME = torch.cuda.get_device_name(0)
|
|
CUDA_MEMORY_GB = torch.cuda.get_device_properties(0).total_memory / 1e9
|
|
|
|
|
|
torch.backends.cudnn.benchmark = True
|
|
torch.backends.cudnn.deterministic = False
|
|
|
|
|
|
torch.cuda.empty_cache()
|
|
|
|
|
|
LOG_DIR = "logs"
|
|
MODEL_SAVE_DIR = "models"
|
|
RESULTS_DIR = "results"
|
|
|
|
|
|
ALPHA = 0.3
|
|
MIN_SAMPLES_PER_CLIENT = 50 |