|
|
[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] |
|
|
|
|
|
strategy = "fedavg" |
|
|
rounds = 10 |
|
|
min-nodes = 3 |
|
|
seed = 42 |
|
|
|
|
|
|
|
|
data-base-path = "" |
|
|
metrics-base-path = "" |
|
|
results-base-path = "" |
|
|
|
|
|
|
|
|
mlflow-tracking-uri = "https://jwsouza13-fleven.hf.space" |
|
|
mlflow-experiment-name = "FLEVEn-Experiments" |
|
|
mlflow-enable = true |
|
|
|
|
|
|
|
|
|
|
|
model-type = "lstm_dense" |
|
|
|
|
|
|
|
|
hidden-size = 32 |
|
|
|
|
|
|
|
|
lstm-hidden-size = 32 |
|
|
dense-hidden-size = 16 |
|
|
|
|
|
|
|
|
input-size = 3 |
|
|
num-layers = 1 |
|
|
dropout = 0.2 |
|
|
|
|
|
|
|
|
sequence-length = 100 |
|
|
prediction-length = 50 |
|
|
target-column = "vehicle_speed" |
|
|
|
|
|
|
|
|
batch-size = 32 |
|
|
learning-rate = 1e-5 |
|
|
local-epochs = 1 |
|
|
max-grad-norm = 1.0 |
|
|
|
|
|
|
|
|
train-test-split = 0.8 |
|
|
|
|
|
|
|
|
save-checkpoint-every = 5 |
|
|
|
|
|
[tool.flwr.app.config.strategy-params] |
|
|
|
|
|
eta = 0.01 |
|
|
beta_1 = 0.9 |
|
|
beta_2 = 0.999 |
|
|
|
|
|
|
|
|
eta_adagrad = 0.1 |
|
|
initial_accumulator_value = 0.1 |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[tool.flwr.federations.fleven-deployment] |
|
|
address = "127.0.0.1:9093" |
|
|
insecure = true |