Check FedYOLO/config.py
to see the default configurations
- Make a custom environment:
python -m venv ultravenv
- Activate the custom environment:
source ultravenv/bin/activate
- Clone the repository
cd
into the repository:cd UltraFlwr
- pip install the requirements:
pip install -e .
cd
into the datasets folder:cd datasets
- Make a directory for a specific dataset:
mkdir pills
cd
into the dataset folder:cd pills
- Get data-set from Roboflow
- Create a directory for the client specific datasets:
mkdir partitions
- Create the partitions
- Go to the base of the clone:
cd ../../
- Create the splits:
python FedYOLO/data_partitioner/fed_split.py
- To choose the dataset, change the
DATASET_NAME
parameter in theFedYOLO/config.py
file
- To choose the dataset, change the
- Go to the base of the clone:
Follow the style of roboflow downloads as mentioned in above steps.
- For one-off:
./scripts/run.sh
- For multiple Runs, reference:
bash scripts/federated_train_and_test/benchmark.sh
- For normal YOLO training on entire server dataset and client data partitions:
bash scripts/central_train_and_test/run_local_train_and_test.sh
- For multiple Runs, reference: