Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
429 changes: 429 additions & 0 deletions README.md

Large diffs are not rendered by default.

52 changes: 52 additions & 0 deletions combine_metrics.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import os
import pandas as pd
from pathlib import Path

def combine_metrics():
# Directory containing the CSV files
results_dir = Path("results")

# List all CSV files in the results directory
csv_files = list(results_dir.glob("training_metrics_*.csv"))

if not csv_files:
print("No CSV files found in the results directory.")
return

print(f"Found {len(csv_files)} CSV files to combine.")

# Read and combine all CSV files
all_dfs = []
for file in csv_files:
try:
df = pd.read_csv(file)
# Add a column to track the source file
df['source_file'] = file.name
all_dfs.append(df)
print(f"Processed {file.name} with {len(df)} rows")
except Exception as e:
print(f"Error processing {file}: {e}")

if not all_dfs:
print("No valid CSV files to combine.")
return

# Combine all DataFrames
combined_df = pd.concat(all_dfs, ignore_index=True)

# Sort by round, client_id, and epoch
if 'round' in combined_df.columns and 'client_id' in combined_df.columns and 'epoch' in combined_df.columns:
combined_df = combined_df.sort_values(by=['round', 'client_id', 'epoch'])

# Save the combined DataFrame to a new CSV file
output_file = results_dir / "combined_training_metrics.csv"
combined_df.to_csv(output_file, index=False)

print(f"\nCombined metrics saved to: {output_file}")
print(f"Total rows: {len(combined_df)}")
print("\nColumn names:", combined_df.columns.tolist())
print("\nSample data:")
print(combined_df.head())

if __name__ == "__main__":
combine_metrics()
11 changes: 11 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
torch>=1.12.0
transformers>=4.25.0
numpy>=1.22.0
scikit-learn>=1.0.2
tqdm>=4.64.0
pandas>=1.4.0
matplotlib>=3.5.0
tensorboard>=2.10.0
wandb>=0.13.0
sentencepiece>=0.1.96
protobuf>=3.20.0
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
round,client_id,epoch,phase,loss,accuracy,precision,recall,f1,source_file
1,-1,1,train,1.7337057115016472,0.4727654402828417,0.4704269361837488,0.4727654402828417,0.4644841549260321,training_metrics_centralized_20250806_111734.csv
1,-1,-1,validation,1.1147552380081622,0.6539991162174105,0.654579529315905,0.6539991162174105,0.6434313584982245,training_metrics_centralized_20250806_111734.csv
2,-1,2,train,1.006278689266199,0.6882112473759806,0.6835994542346259,0.6882112473759806,0.6829789976317907,training_metrics_centralized_20250806_111734.csv
2,-1,-1,validation,0.9390689419852339,0.7079098541758727,0.7083053585419194,0.7079098541758727,0.7035552006593794,training_metrics_centralized_20250806_111734.csv
3,-1,3,train,0.789954185298259,0.7546127499723787,0.7544825705314833,0.7546127499723787,0.7521481156077985,training_metrics_centralized_20250806_111734.csv
3,-1,-1,validation,0.9261218784080798,0.7185152452496686,0.7235293356037606,0.7185152452496686,0.711774362137056,training_metrics_centralized_20250806_111734.csv
4,-1,4,train,0.633514169425878,0.8014584023864766,0.8016810587658572,0.8014584023864766,0.7995375203665952,training_metrics_centralized_20250806_111734.csv
4,-1,-1,validation,0.9439984354266219,0.7229341581970835,0.7302367621748789,0.7229341581970835,0.7208150982890362,training_metrics_centralized_20250806_111734.csv
5,-1,5,train,0.513571229558471,0.8397967075461275,0.8416731708371593,0.8397967075461275,0.8390033421981199,training_metrics_centralized_20250806_111734.csv
5,-1,-1,validation,0.9536570530490087,0.726027397260274,0.7345621071296884,0.726027397260274,0.7244882177796113,training_metrics_centralized_20250806_111734.csv
6,-1,6,train,0.40997630031697135,0.8748204618274223,0.8750393279293441,0.8748204618274223,0.8739278237795775,training_metrics_centralized_20250806_111734.csv
6,-1,-1,validation,0.9933800133168961,0.7273530711444984,0.7474932026819441,0.7273530711444984,0.7305467628096615,training_metrics_centralized_20250806_111734.csv
7,-1,7,train,0.32374891368038755,0.90211026405922,0.9044178982086238,0.90211026405922,0.9026496871729824,training_metrics_centralized_20250806_111734.csv
7,-1,-1,validation,1.0139313512284296,0.7348652231551038,0.7399879271988479,0.7348652231551038,0.7350612014143739,training_metrics_centralized_20250806_111734.csv
8,-1,8,train,0.26893379145907403,0.9186830184509999,0.9229739939182865,0.9186830184509999,0.9197128625212379,training_metrics_centralized_20250806_111734.csv
8,-1,-1,validation,1.1329391911854578,0.7247017233760495,0.7482858477381876,0.7247017233760495,0.7290782949574979,training_metrics_centralized_20250806_111734.csv
9,-1,9,train,0.22395678185084472,0.9318307369351453,0.9339224270694241,0.9318307369351453,0.9323385702308438,training_metrics_centralized_20250806_111734.csv
9,-1,-1,validation,1.1700515207693034,0.7353071144498453,0.749931595799826,0.7353071144498453,0.7377058977160532,training_metrics_centralized_20250806_111734.csv
10,-1,10,train,0.1821200884037401,0.9459728206827975,0.9477808173430806,0.9459728206827975,0.946418262740379,training_metrics_centralized_20250806_111734.csv
10,-1,-1,validation,1.2182724837747703,0.7344233318603623,0.7394981330544692,0.7344233318603623,0.7323394726478802,training_metrics_centralized_20250806_111734.csv
11,-1,11,train,0.1637999235752965,0.9500607667661032,0.9508437492884078,0.9500607667661032,0.9502432042361473,training_metrics_centralized_20250806_111734.csv
11,-1,-1,validation,1.262485715527089,0.7423773751657092,0.7512608647605595,0.7423773751657092,0.7424433775155942,training_metrics_centralized_20250806_111734.csv
12,-1,12,train,0.13998645924258188,0.9577947188156005,0.9599600161536102,0.9577947188156005,0.9583897036966537,training_metrics_centralized_20250806_111734.csv
12,-1,-1,validation,1.4382323016056318,0.7264692885550155,0.7456641496421215,0.7264692885550155,0.7278249812687477,training_metrics_centralized_20250806_111734.csv
13,-1,13,train,0.1263459772154892,0.9633189702795272,0.9657775836396951,0.9633189702795272,0.9639774399798015,training_metrics_centralized_20250806_111734.csv
13,-1,-1,validation,1.4448535275588374,0.7348652231551038,0.7410140253166752,0.7348652231551038,0.7355582465133009,training_metrics_centralized_20250806_111734.csv
14,-1,14,train,0.12135576177177607,0.9654181858358193,0.9665122791319961,0.9654181858358193,0.9657238893694523,training_metrics_centralized_20250806_111734.csv
14,-1,-1,validation,1.5244736893923398,0.7406098099867433,0.752325831084653,0.7406098099867433,0.7418821147254746,training_metrics_centralized_20250806_111734.csv
15,-1,15,train,0.10954328893085113,0.9663020660700475,0.9670519780110304,0.9663020660700475,0.9665009228395588,training_metrics_centralized_20250806_111734.csv
15,-1,-1,validation,1.5287935280061307,0.7432611577551922,0.7558601834820141,0.7432611577551922,0.7458535340739894,training_metrics_centralized_20250806_111734.csv
16,-1,16,train,0.10768109155338453,0.9682907965970611,0.9710311245688941,0.9682907965970611,0.9690303506198709,training_metrics_centralized_20250806_111734.csv
16,-1,-1,validation,1.6042697255907115,0.7419354838709677,0.749332234073642,0.7419354838709677,0.742183146511567,training_metrics_centralized_20250806_111734.csv
17,-1,17,train,0.10516175662710162,0.9679593415092255,0.9691901264309952,0.9679593415092255,0.9682697946978958,training_metrics_centralized_20250806_111734.csv
17,-1,-1,validation,1.666460605769991,0.7379584622182943,0.7416013155688359,0.7379584622182943,0.7364111538159579,training_metrics_centralized_20250806_111734.csv
18,-1,18,train,0.10938089462330869,0.968069826538504,0.9702055591226649,0.968069826538504,0.9686397015482316,training_metrics_centralized_20250806_111734.csv
18,-1,-1,validation,1.7003497668573746,0.7353071144498453,0.7433690109011012,0.7353071144498453,0.7372295863944694,training_metrics_centralized_20250806_111734.csv
19,-1,19,train,0.10127608607763892,0.9707214672411888,0.9729096759411446,0.9707214672411888,0.9713253918230627,training_metrics_centralized_20250806_111734.csv
19,-1,-1,validation,1.6899931574350469,0.7388422448077773,0.7493995821330696,0.7388422448077773,0.7402575787160577,training_metrics_centralized_20250806_111734.csv
20,-1,20,train,0.10255006020815927,0.9686222516848967,0.9694349183694375,0.9686222516848967,0.9688608048375518,training_metrics_centralized_20250806_111734.csv
20,-1,-1,validation,1.6941898918961373,0.7379584622182943,0.747124392208344,0.7379584622182943,0.739261886082226,training_metrics_centralized_20250806_111734.csv
21,-1,21,train,0.09712356636157478,0.9706109822119103,0.9736083328560158,0.9706109822119103,0.9714247300161959,training_metrics_centralized_20250806_111734.csv
21,-1,-1,validation,1.757813929063019,0.7344233318603623,0.7413800625327603,0.7344233318603623,0.7345765117207825,training_metrics_centralized_20250806_111734.csv
22,-1,22,train,0.09522293003577004,0.9714948624461386,0.9736831241033267,0.9714948624461386,0.9720797267169143,training_metrics_centralized_20250806_111734.csv
22,-1,-1,validation,1.6872684028970042,0.7401679186920017,0.7401363386992724,0.7401679186920017,0.7395021761001,training_metrics_centralized_20250806_111734.csv
23,-1,-1,test,2.101413161608801,0.7007434944237918,0.702206824797239,0.7007434944237918,0.7000549706465297,training_metrics_centralized_20250806_111734.csv
110 changes: 110 additions & 0 deletions results_distilbart_20news_centralized/best_model/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
{
"_name_or_path": "facebook/bart-base",
"activation_dropout": 0.1,
"activation_function": "gelu",
"add_bias_logits": false,
"add_final_layer_norm": false,
"architectures": [
"BartForSequenceClassification"
],
"attention_dropout": 0.1,
"bos_token_id": 0,
"classif_dropout": 0.1,
"classifier_dropout": 0.0,
"d_model": 768,
"decoder_attention_heads": 12,
"decoder_ffn_dim": 3072,
"decoder_layerdrop": 0.0,
"decoder_layers": 6,
"decoder_start_token_id": 2,
"dropout": 0.1,
"early_stopping": true,
"encoder_attention_heads": 12,
"encoder_ffn_dim": 3072,
"encoder_layerdrop": 0.0,
"encoder_layers": 6,
"eos_token_id": 2,
"forced_bos_token_id": 0,
"forced_eos_token_id": 2,
"gradient_checkpointing": false,
"id2label": {
"0": "LABEL_0",
"1": "LABEL_1",
"2": "LABEL_2",
"3": "LABEL_3",
"4": "LABEL_4",
"5": "LABEL_5",
"6": "LABEL_6",
"7": "LABEL_7",
"8": "LABEL_8",
"9": "LABEL_9",
"10": "LABEL_10",
"11": "LABEL_11",
"12": "LABEL_12",
"13": "LABEL_13",
"14": "LABEL_14",
"15": "LABEL_15",
"16": "LABEL_16",
"17": "LABEL_17",
"18": "LABEL_18",
"19": "LABEL_19"
},
"init_std": 0.02,
"is_encoder_decoder": true,
"label2id": {
"LABEL_0": 0,
"LABEL_1": 1,
"LABEL_10": 10,
"LABEL_11": 11,
"LABEL_12": 12,
"LABEL_13": 13,
"LABEL_14": 14,
"LABEL_15": 15,
"LABEL_16": 16,
"LABEL_17": 17,
"LABEL_18": 18,
"LABEL_19": 19,
"LABEL_2": 2,
"LABEL_3": 3,
"LABEL_4": 4,
"LABEL_5": 5,
"LABEL_6": 6,
"LABEL_7": 7,
"LABEL_8": 8,
"LABEL_9": 9
},
"max_position_embeddings": 1024,
"model_type": "bart",
"no_repeat_ngram_size": 3,
"normalize_before": false,
"normalize_embedding": true,
"num_beams": 4,
"num_hidden_layers": 6,
"pad_token_id": 1,
"problem_type": "single_label_classification",
"scale_embedding": false,
"task_specific_params": {
"summarization": {
"length_penalty": 1.0,
"max_length": 128,
"min_length": 12,
"num_beams": 4
},
"summarization_cnn": {
"length_penalty": 2.0,
"max_length": 142,
"min_length": 56,
"num_beams": 4
},
"summarization_xsum": {
"length_penalty": 1.0,
"max_length": 62,
"min_length": 11,
"num_beams": 6
}
},
"torch_dtype": "float32",
"transformers_version": "4.27.4",
"use_cache": true,
"vocab_size": 50265
}
Loading