diff --git a/configs/parameters.yaml b/configs/parameters.yaml index 322c2c079c9b67a697f86f1674e3533824de8abf..eb0e63fab582e7a61b9640559905cda034914a6b 100644 --- a/configs/parameters.yaml +++ b/configs/parameters.yaml @@ -7,19 +7,19 @@ model_path: '../models/model' # TRAINING PARAMETERS sampling_rate: 16000 -batch_size: 16 +batch_size: 8 learning_rate: 0.001 -epochs: 50 +epochs: 5 dropout: 0.2 -training_set_file: 'TRAINING.txt' -test_set_file: 'TEST.txt' +train_set_file: './data/TRAINING.txt' +test_set_file: './data/TEST.txt' # MODEL PARAMETERS -first_layer: 512 +first_layer: 192 second_layer: 128 third_layer: 62 @@ -28,4 +28,4 @@ third_layer: 62 # Types of embeddings supported: 'ecapa_tdnn' or 'x-vector' # ecapa_tdnn: dim = 192 (change first_layer dim) # x-vector: dim = 512 (change first_layer dim) -embedding_type: x-vector +embedding_type: ecapa_tdnn diff --git a/data/TEST.txt b/data/TEST.txt new file mode 100644 index 0000000000000000000000000000000000000000..1aceb9e789cac5b19b5027426c00c07a7c290a14 --- /dev/null +++ b/data/TEST.txt @@ -0,0 +1,8 @@ +ANC150_LEC_seg_1_ecapa_emb.pickle,7.0,2.3,1.2,4.5,2.0,2.1 +ANC150_LEC_seg_2_ecapa_emb.pickle,5.0,3.3,2.2,4.1,1.2,8.3 +ANC150_LEC_seg_3_ecapa_emb.pickle,4.0,2.5,4.2,3.5,3.0,8.3 +ANC150_LEC_seg_4_ecapa_emb.pickle,3.0,2.3,1.2,4.1,3.4,5.4 +ANC150_LEC_seg_5_ecapa_emb.pickle,1.2,2.5,6.2,4.1,1.0,2.1 +ANC150_LEC_seg_6_ecapa_emb.pickle,7.3,2.4,1.2,3.5,2.5,2.4 +ANC150_LEC_seg_7_ecapa_emb.pickle,4.0,2.3,3.2,4.3,1.0,3.6 +ANC150_LEC_seg_8_ecapa_emb.pickle,2.0,2.3,2.2,4.2,1.6,2.4 diff --git a/data/TRAINING.txt b/data/TRAINING.txt index 1aceb9e789cac5b19b5027426c00c07a7c290a14..472823d0a7debd1dec30911900754762002e2465 100644 --- a/data/TRAINING.txt +++ b/data/TRAINING.txt @@ -1,8 +1,8 @@ -ANC150_LEC_seg_1_ecapa_emb.pickle,7.0,2.3,1.2,4.5,2.0,2.1 -ANC150_LEC_seg_2_ecapa_emb.pickle,5.0,3.3,2.2,4.1,1.2,8.3 -ANC150_LEC_seg_3_ecapa_emb.pickle,4.0,2.5,4.2,3.5,3.0,8.3 -ANC150_LEC_seg_4_ecapa_emb.pickle,3.0,2.3,1.2,4.1,3.4,5.4 -ANC150_LEC_seg_5_ecapa_emb.pickle,1.2,2.5,6.2,4.1,1.0,2.1 -ANC150_LEC_seg_6_ecapa_emb.pickle,7.3,2.4,1.2,3.5,2.5,2.4 -ANC150_LEC_seg_7_ecapa_emb.pickle,4.0,2.3,3.2,4.3,1.0,3.6 -ANC150_LEC_seg_8_ecapa_emb.pickle,2.0,2.3,2.2,4.2,1.6,2.4 +GAV008_LEC_seg1_ecapa_emb.pickle,7.0,2.3,1.2,4.5,2.0,2.1 +GAV008_LEC_seg2_ecapa_emb.pickle,5.0,3.3,2.2,4.1,1.2,8.3 +GAV008_LEC_seg3_ecapa_emb.pickle,4.0,2.5,4.2,3.5,3.0,8.3 +SER007_LEC_seg1_ecapa_emb.pickle,3.0,2.3,1.2,4.1,3.4,5.4 +SER007_LEC_seg2_ecapa_emb.pickle,1.2,2.5,6.2,4.1,1.0,2.1 +SER007_LEC_seg3_ecapa_emb.pickle,7.3,2.4,1.2,3.5,2.5,2.4 +TTT083_LEC_seg1_ecapa_emb.pickle,4.0,2.3,3.2,4.3,1.0,3.6 +TTT083_LEC_seg2_ecapa_emb.pickle,2.0,2.3,2.2,4.2,1.6,2.4 diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_1_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_1_ecapa_emb.pickle deleted file mode 100644 index a96714aa1c45530685bbf89977368ab22ba3ace1..0000000000000000000000000000000000000000 Binary files a/data/embeddings/ecapa/ANC150_LEC_seg_1_ecapa_emb.pickle and /dev/null differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_2_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_2_ecapa_emb.pickle deleted file mode 100644 index 22fba9c358048b261b76eed5bfa4b5c7c172952f..0000000000000000000000000000000000000000 Binary files a/data/embeddings/ecapa/ANC150_LEC_seg_2_ecapa_emb.pickle and /dev/null differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_3_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_3_ecapa_emb.pickle deleted file mode 100644 index 7be158338a793b94f855903c0307a2e1b2db2bb2..0000000000000000000000000000000000000000 Binary files a/data/embeddings/ecapa/ANC150_LEC_seg_3_ecapa_emb.pickle and /dev/null differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_4_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_4_ecapa_emb.pickle deleted file mode 100644 index 77200e30cea3a2fc5f04b9d9d09ec523aed288a8..0000000000000000000000000000000000000000 Binary files a/data/embeddings/ecapa/ANC150_LEC_seg_4_ecapa_emb.pickle and /dev/null differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_5_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_5_ecapa_emb.pickle deleted file mode 100644 index 1f3c8edfae1ee3a8ee9c5184446030381c799b7e..0000000000000000000000000000000000000000 Binary files a/data/embeddings/ecapa/ANC150_LEC_seg_5_ecapa_emb.pickle and /dev/null differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_6_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_6_ecapa_emb.pickle deleted file mode 100644 index 5fa0336ac0c2fd06f899301b0d2a9a0fd9896161..0000000000000000000000000000000000000000 Binary files a/data/embeddings/ecapa/ANC150_LEC_seg_6_ecapa_emb.pickle and /dev/null differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_7_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_7_ecapa_emb.pickle deleted file mode 100644 index e79d28b8c2b87ae8985c856dca773c42fad63283..0000000000000000000000000000000000000000 Binary files a/data/embeddings/ecapa/ANC150_LEC_seg_7_ecapa_emb.pickle and /dev/null differ diff --git a/data/embeddings/ecapa/ANC150_LEC_seg_8_ecapa_emb.pickle b/data/embeddings/ecapa/ANC150_LEC_seg_8_ecapa_emb.pickle deleted file mode 100644 index 64e8679d06acfa1cdd6bedb8ff00d525078d7cd4..0000000000000000000000000000000000000000 Binary files a/data/embeddings/ecapa/ANC150_LEC_seg_8_ecapa_emb.pickle and /dev/null differ diff --git a/data/embeddings/ecapa/GAV008_LEC_seg1_ecapa_emb.pickle b/data/embeddings/ecapa/GAV008_LEC_seg1_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..98cb25a321eda2f2a0ba5076916b6724a39a6f8b Binary files /dev/null and b/data/embeddings/ecapa/GAV008_LEC_seg1_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/GAV008_LEC_seg2_ecapa_emb.pickle b/data/embeddings/ecapa/GAV008_LEC_seg2_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..90cbf4b3d6d8c082f0c3ca568a576d1825d1573d Binary files /dev/null and b/data/embeddings/ecapa/GAV008_LEC_seg2_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/GAV008_LEC_seg3_ecapa_emb.pickle b/data/embeddings/ecapa/GAV008_LEC_seg3_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..347d6f61256307ec040d127e6a71769a2bab52c7 Binary files /dev/null and b/data/embeddings/ecapa/GAV008_LEC_seg3_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/SER007_LEC_seg1_ecapa_emb.pickle b/data/embeddings/ecapa/SER007_LEC_seg1_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..7769feb6bbdc559e8fb5b819595538c031cc01f8 Binary files /dev/null and b/data/embeddings/ecapa/SER007_LEC_seg1_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/SER007_LEC_seg2_ecapa_emb.pickle b/data/embeddings/ecapa/SER007_LEC_seg2_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..4341dc9f86acbd0b245ebf2a985c3e41c7d4778c Binary files /dev/null and b/data/embeddings/ecapa/SER007_LEC_seg2_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/SER007_LEC_seg3_ecapa_emb.pickle b/data/embeddings/ecapa/SER007_LEC_seg3_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..48fdf291944e4f17862abe3629dd7f263c70dbd7 Binary files /dev/null and b/data/embeddings/ecapa/SER007_LEC_seg3_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/TTT083_LEC_seg1_ecapa_emb.pickle b/data/embeddings/ecapa/TTT083_LEC_seg1_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..f88dc36ee7b8cdaaa9e319628e24474c17872c39 Binary files /dev/null and b/data/embeddings/ecapa/TTT083_LEC_seg1_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/TTT083_LEC_seg2_ecapa_emb.pickle b/data/embeddings/ecapa/TTT083_LEC_seg2_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..7bfe0d5aa182c7afc38ba20c0225c9c784eaaa83 Binary files /dev/null and b/data/embeddings/ecapa/TTT083_LEC_seg2_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/TTT083_LEC_seg3_ecapa_emb.pickle b/data/embeddings/ecapa/TTT083_LEC_seg3_ecapa_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..2b7cc1ea7ffc0acc4e9beb205cc710781fb45858 Binary files /dev/null and b/data/embeddings/ecapa/TTT083_LEC_seg3_ecapa_emb.pickle differ diff --git a/data/embeddings/ecapa/file1_ecapa_emb.pickle b/data/embeddings/ecapa/file1_ecapa_emb.pickle deleted file mode 100644 index 024ee4c603824434fca668817d90d07809e6a2af..0000000000000000000000000000000000000000 Binary files a/data/embeddings/ecapa/file1_ecapa_emb.pickle and /dev/null differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_1_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_1_xvec_emb.pickle deleted file mode 100644 index 7c6181cd68d492de5418b85484b8eded55483eae..0000000000000000000000000000000000000000 Binary files a/data/embeddings/xvec/ANC150_LEC_seg_1_xvec_emb.pickle and /dev/null differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_2_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_2_xvec_emb.pickle deleted file mode 100644 index 709fa01af7be5ca31c4b3c408a5b195b382c280e..0000000000000000000000000000000000000000 Binary files a/data/embeddings/xvec/ANC150_LEC_seg_2_xvec_emb.pickle and /dev/null differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_3_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_3_xvec_emb.pickle deleted file mode 100644 index 3b8a8145ff546830a4585e6397afdc16536c89e4..0000000000000000000000000000000000000000 Binary files a/data/embeddings/xvec/ANC150_LEC_seg_3_xvec_emb.pickle and /dev/null differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_4_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_4_xvec_emb.pickle deleted file mode 100644 index 28a19ec2fe0a8af6b743749ef590d6bb7006accb..0000000000000000000000000000000000000000 Binary files a/data/embeddings/xvec/ANC150_LEC_seg_4_xvec_emb.pickle and /dev/null differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_5_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_5_xvec_emb.pickle deleted file mode 100644 index 6ff88554d38a5a3740d756637a672c59a9e04095..0000000000000000000000000000000000000000 Binary files a/data/embeddings/xvec/ANC150_LEC_seg_5_xvec_emb.pickle and /dev/null differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_6_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_6_xvec_emb.pickle deleted file mode 100644 index 2220c22db2a135a39df0da9bb6415bc45e9fd511..0000000000000000000000000000000000000000 Binary files a/data/embeddings/xvec/ANC150_LEC_seg_6_xvec_emb.pickle and /dev/null differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_7_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_7_xvec_emb.pickle deleted file mode 100644 index fa2f8897b6bf8b88f2e85f6a5d4c2e1df5d88451..0000000000000000000000000000000000000000 Binary files a/data/embeddings/xvec/ANC150_LEC_seg_7_xvec_emb.pickle and /dev/null differ diff --git a/data/embeddings/xvec/ANC150_LEC_seg_8_xvec_emb.pickle b/data/embeddings/xvec/ANC150_LEC_seg_8_xvec_emb.pickle deleted file mode 100644 index 5a3a60c11869b98e5a297c2dc643dff99ebaf75e..0000000000000000000000000000000000000000 Binary files a/data/embeddings/xvec/ANC150_LEC_seg_8_xvec_emb.pickle and /dev/null differ diff --git a/data/embeddings/xvec/GAV008_LEC_seg1_xvec_emb.pickle b/data/embeddings/xvec/GAV008_LEC_seg1_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..141eae6fa47612286e3a2d3d31b7a8b811e7896c Binary files /dev/null and b/data/embeddings/xvec/GAV008_LEC_seg1_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/GAV008_LEC_seg2_xvec_emb.pickle b/data/embeddings/xvec/GAV008_LEC_seg2_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..bf078108ad551175a9fd5aedf95b824a92830dc4 Binary files /dev/null and b/data/embeddings/xvec/GAV008_LEC_seg2_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/GAV008_LEC_seg3_xvec_emb.pickle b/data/embeddings/xvec/GAV008_LEC_seg3_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..49051f6e56071cb26f0c619e4c19e5402a1160d0 Binary files /dev/null and b/data/embeddings/xvec/GAV008_LEC_seg3_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/SER007_LEC_seg1_xvec_emb.pickle b/data/embeddings/xvec/SER007_LEC_seg1_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..9954557cb052ab5a2d63954d69026a7e77f7728f Binary files /dev/null and b/data/embeddings/xvec/SER007_LEC_seg1_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/SER007_LEC_seg2_xvec_emb.pickle b/data/embeddings/xvec/SER007_LEC_seg2_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..d4fc2dc54d5417a1b1c17b92ef0029d69200f5fe Binary files /dev/null and b/data/embeddings/xvec/SER007_LEC_seg2_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/SER007_LEC_seg3_xvec_emb.pickle b/data/embeddings/xvec/SER007_LEC_seg3_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..ce42ad84eba9b839b21106b633f22f98d6152653 Binary files /dev/null and b/data/embeddings/xvec/SER007_LEC_seg3_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/TTT083_LEC_seg1_xvec_emb.pickle b/data/embeddings/xvec/TTT083_LEC_seg1_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..71020ea0e65a98f7e8dba47f59c79f57de0f991c Binary files /dev/null and b/data/embeddings/xvec/TTT083_LEC_seg1_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/TTT083_LEC_seg2_xvec_emb.pickle b/data/embeddings/xvec/TTT083_LEC_seg2_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..15bafdfb6b4cdb4717dcb791e3b29e8c83c38288 Binary files /dev/null and b/data/embeddings/xvec/TTT083_LEC_seg2_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/TTT083_LEC_seg3_xvec_emb.pickle b/data/embeddings/xvec/TTT083_LEC_seg3_xvec_emb.pickle new file mode 100644 index 0000000000000000000000000000000000000000..f2e0c2efc8108782088517d9157c746051fb2786 Binary files /dev/null and b/data/embeddings/xvec/TTT083_LEC_seg3_xvec_emb.pickle differ diff --git a/data/embeddings/xvec/file1_xvec_emb.pickle b/data/embeddings/xvec/file1_xvec_emb.pickle deleted file mode 100644 index d457da899e89d33d5f1ee1f40036f2565af8d3c6..0000000000000000000000000000000000000000 Binary files a/data/embeddings/xvec/file1_xvec_emb.pickle and /dev/null differ diff --git a/dataloader/__pycache__/load.cpython-36.pyc b/dataloader/__pycache__/load.cpython-36.pyc index 8202e853402b9db713c54fca80f0f6ea89ca1d0c..e42c1734f9ac538c3e5c9e31df7300eb624efbef 100644 Binary files a/dataloader/__pycache__/load.cpython-36.pyc and b/dataloader/__pycache__/load.cpython-36.pyc differ diff --git a/dataloader/load.py b/dataloader/load.py index 7d5b1afa0477e3cc959f02ed571f7a88ec104227..406d19749e0674aa0d46ac1ca4bc73697782c49d 100644 --- a/dataloader/load.py +++ b/dataloader/load.py @@ -1,15 +1,19 @@ import pandas as pd import torch +import pickle from torch.utils.data import Dataset,DataLoader +embedding_path = './data/embeddings/ecapa/' + class load_data(Dataset): - def __init__(self, filename, datadir): + def __init__(self, filename): self.filename = filename - self.datadir = datadir + #self.datadir = datadir xy = pd.read_csv(filename,header=None) + + self.emb_file = xy.values[:,0] - self.file = xy.values[:,0] self.INT = xy.values[:,1] self.SEV = xy.values[:,2] self.V = xy.values[:,3] @@ -17,9 +21,15 @@ class load_data(Dataset): self.P = xy.values[:,5] self.PD = xy.values[:,6] + self.n_samples = xy.shape[0] + + def __len__(self): return self.n_samples def __getitem__(self, idx): - return (self.file[idx], ) + emb = torch.load(embedding_path + self.emb_file[idx]) + + return emb,self.emb_file[idx],self.INT[idx],self.SEV[idx],\ + self.V[idx],self.R[idx],self.P[idx],self.PD[idx] diff --git a/models/__pycache__/model.cpython-36.pyc b/models/__pycache__/model.cpython-36.pyc index 80e701b9c286ef9cfe645dcdc7a78d707d370d5e..37477b0f33d3bbd88e71c6acad28761dfc9c5ecb 100644 Binary files a/models/__pycache__/model.cpython-36.pyc and b/models/__pycache__/model.cpython-36.pyc differ diff --git a/models/model.py b/models/model.py index 107e7a0470325ef16e89d5e862213c4718ca1b51..4fb7859d1e9e116ae5eec1f01dc10f6c68fc46b5 100644 --- a/models/model.py +++ b/models/model.py @@ -27,7 +27,7 @@ class model_embedding_snn(nn.Module): self.fc_pd = nn.Linear(cfg['third_layer'],1) self.fc_int = nn.Linear(cfg['third_layer'],1) - + def forward(self, input_embs): diff --git a/train.py b/train.py index b8c300e99cee561f730e1eb6e6c13e5ee03beb58..3cb525e367c4547ec789a8b7f8ae4f1b45134394 100644 --- a/train.py +++ b/train.py @@ -5,6 +5,11 @@ import yaml import models.model import dataloader.load +from torch.utils.data import DataLoader + +torch.manual_seed(42) +torch.cuda.manual_seed(42) + def load_config(config_path): try: with open(config_path, 'r') as file: @@ -23,10 +28,33 @@ if __name__ == "__main__": model_snn = models.model.model_embedding_snn().cuda() criterion = nn.MSELoss() - optimizer = torch.optim.Adam(model_snn.parameters()) + optimizer = torch.optim.Adam(model_snn.parameters(),lr=cfg['learning_rate']) + + sequential = dataloader.load.load_data + train_set = sequential(cfg['train_set_file']) + test_set = sequential(cfg['test_set_file']) + + trainloader = DataLoader(dataset=train_set, batch_size=cfg['batch_size'],\ + shuffle=True,drop_last=True) - train_filename = cfg['data_path']+cfg['traininig_set_file'] - print(train_filename) + testloader = DataLoader(dataset=test_set, batch_size=1) for ep in range(cfg['epochs']): - print(ep) + print('EPOCH: {0}/{1}'.format(ep+1,cfg['epochs'])) + + model_snn.train() + + for a, b in enumerate(trainloader): + + optimizer.zero_grad() + + at,bt,ct,dt,et = model_snn(b[0].squeeze().cuda()) + + loss = criterion(at.double(),b[2].unsqueeze(1).cuda()) + + loss.backward() + optimizer.step() + + print(loss) + +