FLEVEn / pyproject.toml
José Wilson
update space fleven
3119968
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "fleven"
version = "1.0.0"
description = "FLEVEn — Federated Learning for Vehicular Environment"
readme = "README.md"
keywords = ["federated-learning", "flower", "mlflow", "federated-learning-vehicular", "time-series", "lstm", "pytorch", "obd"]
classifiers = [
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Software Development :: Libraries :: Python Modules"
]
authors = [
{name = "João C. Braz", email = "calbraz@gmail.com"},
{name = "José Wilson C. Souza", email = "josewilson@matematica.ufrj.br"},
{name = "Erick de Souza Lima", email = "erickcefetbcc@gmail.com"},
{name = "Mina", email = "minammonteiro4@gmail.com"},
]
maintainers = [
{name = "José Wilson C. Souza", email = "josewilson@matematica.ufrj.br"}
]
license = {text = "Apache-2.0"}
dependencies = [
"flwr[simulation]>=1.22.0,<2.0",
"torch>=2.0.0",
"pandas>=2.0.0",
"numpy>=1.24.0",
"scikit-learn>=1.3.0",
"matplotlib>=3.7.0",
"seaborn>=0.12.0",
"toml",
"mlflow>=2.9.0"
]
[project.urls]
Repository = "https://github.com/josewilsonsouza/fleven"
"Issue Tracker" = "https://github.com/josewilsonsouza/fleven/issues"
[tool.hatch.build.targets.wheel]
packages = ["fleven"]
[tool.flwr.app]
publisher = "Lainf_Dmtic_Inmetro"
[tool.flwr.app.components]
serverapp = "fleven.server:app"
clientapp = "fleven.client:app"
[tool.flwr.app.config]
# Configurações de Federação
strategy = "fedavg" # Opções: "fedavg", "fedadam", "fedadagrad", "fedyogi"
rounds = 10
min-nodes = 3
seed = 42
# 🔧 Caminhos (ajustar conforme necessário). (deixar só "" parece que funciona)
data-base-path = "" #"C:/Users/abece/Documents/fleven-test/data"
metrics-base-path = "" #"C:/Users/abece/Documents/fleven-test/metrics"
results-base-path = "" #"C:/Users/abece/Documents/fleven-test/results"
# Configurações MLflow
mlflow-tracking-uri = "https://jwsouza13-fleven.hf.space" # URI do servidor MLflow --> Hugging Face Spaces
mlflow-experiment-name = "FLEVEn-Experiments"
mlflow-enable = true # Habilitar/desabilitar MLflow
# Escolha dos modelos do FLEVEn: "lstm", "lstm_dense", "mlp"
model-type = "lstm_dense"
# Parâmetros para "lstm" e "mlp"
hidden-size = 32
# Parâmetros para "lstm_dense" (o novo modelo adaptado)
lstm-hidden-size = 32 # Tamanho da camada LSTM
dense-hidden-size = 16 # Tamanho da camada Densa intermediária
# Parâmetros para "lstm" e "lstm_dense"
input-size = 3
num-layers = 1
dropout = 0.2 # Taxa de dropout (0.0 para desativar)
# Configurações de Séries Temporais
sequence-length = 100
prediction-length = 50
target-column = "vehicle_speed"
# Configurações de Treinamento
batch-size = 32
learning-rate = 1e-5
local-epochs = 1
max-grad-norm = 1.0
# Configurações de Dados
train-test-split = 0.8
# Configurações de Checkpoint
save-checkpoint-every = 5
[tool.flwr.app.config.strategy-params]
# Parâmetros para FedAdam
eta = 0.01
beta_1 = 0.9
beta_2 = 0.999
# Parâmetros para FedAdagrad
eta_adagrad = 0.1
initial_accumulator_value = 0.1
# Parâmetros para FedYogi
eta_yogi = 0.01
beta_1_yogi = 0.9
beta_2_yogi = 0.999
initial_accumulator_value_yogi = 1e-6
[tool.flwr.federations]
default = "local-simulation"
[tool.flwr.federations.local-simulation]
options.num-supernodes = 3
options.backend.client-resources.num-cpus = 2
options.backend.client-resources.num-gpus = 0.0
# essas configs vão ser importantes mais na frente, quando quisermos,
# por exemplo, outros parametros para certos clients
#[[tool.flwr.federations.local-simulation.options.supernode.resources]]
#node-config.partition-id = 1
#node-config.num-partitions = 3
#[[tool.flwr.federations.local-simulation.options.supernode.resources]]
#node-config.partition-id = 2
#node-config.num-partitions = 3
#[[tool.flwr.federations.local-simulation.options.supernode.resources]]
#node-config.partition-id = 3
#node-config.num-partitions = 3
[tool.flwr.federations.fleven-deployment]
address = "127.0.0.1:9093"
insecure = true