From fd38bcbdf58928953cbb75e1b67884dca7239a8d Mon Sep 17 00:00:00 2001 From: "Harle, Antoine (Contracteur)" Date: Mon, 11 Nov 2019 14:33:40 -0500 Subject: [PATCH] Resultats experience effet nbTF + outil comparaison resultat --- higher/res/LeNet-100 epochs.png | Bin 40948 -> 43805 bytes higher/test_dataug.py | 64 +++++++++++++++++++++++++------- 2 files changed, 51 insertions(+), 13 deletions(-) diff --git a/higher/res/LeNet-100 epochs.png b/higher/res/LeNet-100 epochs.png index 88a1a6a7641d6004f432e8823ab46c56d3cc0416..bf1475d5481c2f9fa67e794ac39472401ccbf442 100644 GIT binary patch literal 43805 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%0A+3ajd(bKu;JGG~ayR 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 diff --git a/higher/test_dataug.py b/higher/test_dataug.py index a7593e8..e0ca566 100644 --- a/higher/test_dataug.py +++ b/higher/test_dataug.py @@ -11,7 +11,36 @@ BATCH_SIZE = 300 #TEST_SIZE = 300 TEST_SIZE = 10000 +tf_names = [ + ## Geometric TF ## + 'Identity', + 'FlipUD', + 'FlipLR', + #'Rotate', + #'TranslateX', + #'TranslateY', + #'ShearX', + #'ShearY', + + ## Color TF (Expect image in the range of [0, 1]) ## + #'Contrast', + #'Color', + 'Brightness', + #'Sharpness', + #'Posterize', + #'Solarize', #=>Image entre [0,1] #Pas opti pour des batch + + #Non fonctionnel + #'Auto_Contrast', #Pas opti pour des batch (Super lent) + #'Equalize', +] + #ATTENTION : Dataug (Kornia) Expect image in the range of [0, 1] +#transform_train = torchvision.transforms.Compose([ +# torchvision.transforms.RandomHorizontalFlip(), +# torchvision.transforms.ToTensor(), + #torchvision.transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)), #CIFAR10 +#]) transform = torchvision.transforms.Compose([ torchvision.transforms.ToTensor(), #torchvision.transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)), #CIFAR10 @@ -31,6 +60,9 @@ data_test = torchvision.datasets.MNIST( data_train = torchvision.datasets.CIFAR10( "./data", train=True, download=True, transform=transform ) +#data_val = torchvision.datasets.CIFAR10( +# "./data", train=True, download=True, transform=transform +#) data_test = torchvision.datasets.CIFAR10( "./data", train=False, download=True, transform=transform ) @@ -81,7 +113,7 @@ def train_classic(model, epochs=1): dl_val_it = iter(dl_val) log = [] for epoch in range(epochs): - print_torch_mem("Start epoch") + #print_torch_mem("Start epoch") t0 = time.process_time() for i, (features, labels) in enumerate(dl_train): #print_torch_mem("Start iter") @@ -132,8 +164,8 @@ def train_classic_higher(model, epochs=1): #with higher.innerloop_ctx(model, optim, copy_initial_weights=True, track_higher_grads=False) as (fmodel, diffopt): for epoch in range(epochs): - print_torch_mem("Start epoch "+str(epoch)) - print("Fast param ",len(fmodel._fast_params)) + #print_torch_mem("Start epoch "+str(epoch)) + #print("Fast param ",len(fmodel._fast_params)) t0 = time.process_time() for i, (features, labels) in enumerate(dl_train): #print_torch_mem("Start iter") @@ -702,8 +734,8 @@ def run_dist_dataugV2(model, epochs=1, inner_it=0, dataug_epoch_start=0, print_f ########################################## if __name__ == "__main__": - n_inner_iter = 0 - epochs = 2 + n_inner_iter = 10 + epochs = 100 dataug_epoch_start=0 #### Classic #### @@ -714,7 +746,8 @@ if __name__ == "__main__": #model.augment(mode=False) print(str(model), 'on', device_name) - log= train_classic_higher(model=model, epochs=epochs) + log= train_classic(model=model, epochs=epochs) + #log= train_classic_higher(model=model, epochs=epochs) #### plot_res(log, fig_name="res/{}-{} epochs".format(str(model),epochs)) @@ -728,11 +761,13 @@ if __name__ == "__main__": print('-'*9) ''' #### Augmented Model #### - ''' + #''' + tf_dict = {k: TF.TF_dict[k] for k in tf_names} + #tf_dict = TF.TF_dict aug_model = Augmented_model(Data_augV4(TF_dict=TF.TF_dict, mix_dist=0.0), LeNet(3,10)).to(device) print(str(aug_model), 'on', device_name) #run_simple_dataug(inner_it=n_inner_iter, epochs=epochs) - log= run_dist_dataugV2(model=aug_model, epochs=epochs, inner_it=n_inner_iter, dataug_epoch_start=dataug_epoch_start, print_freq=1, loss_patience=10) + log= run_dist_dataugV2(model=aug_model, epochs=epochs, inner_it=n_inner_iter, dataug_epoch_start=dataug_epoch_start, print_freq=10, loss_patience=10) #### plot_res(log, fig_name="res/{}-{} epochs (dataug:{})- {} in_it".format(str(aug_model),epochs,dataug_epoch_start,n_inner_iter)) @@ -744,13 +779,14 @@ if __name__ == "__main__": json.dump(out, f, indent=True) print('Log :\"',f.name, '\" saved !') print('-'*9) - ''' + #''' ## TF number tests ## + ''' res_folder="res/TF_nb_tests/" epochs= 200 inner_its = [0, 10] dataug_epoch_starts= [0, -1] - max_TF_nb = len(TF.TF_dict) + TF_nb = [14] #range(1,len(TF.TF_dict)+1) try: os.mkdir(res_folder) @@ -762,14 +798,14 @@ if __name__ == "__main__": print("---Starting inner_it", n_inner_iter,"---") for dataug_epoch_start in dataug_epoch_starts: print("---Starting dataug", dataug_epoch_start,"---") - for i in range(1,max_TF_nb): + for i in TF_nb: keys = list(TF.TF_dict.keys())[0:i] ntf_dict = {k: TF.TF_dict[k] for k in keys} aug_model = Augmented_model(Data_augV4(TF_dict=ntf_dict, mix_dist=0.0), LeNet(3,10)).to(device) print(str(aug_model), 'on', device_name) #run_simple_dataug(inner_it=n_inner_iter, epochs=epochs) - log= run_dist_dataugV2(model=aug_model, epochs=epochs, inner_it=n_inner_iter, dataug_epoch_start=dataug_epoch_start, print_freq=1, loss_patience=10) + log= run_dist_dataugV2(model=aug_model, epochs=epochs, inner_it=n_inner_iter, dataug_epoch_start=dataug_epoch_start, print_freq=10, loss_patience=10) #### plot_res(log, fig_name=res_folder+"{}-{} epochs (dataug:{})- {} in_it".format(str(aug_model),epochs,dataug_epoch_start,n_inner_iter)) @@ -780,4 +816,6 @@ if __name__ == "__main__": with open(res_folder+"log/%s.json" % "{}-{} epochs (dataug:{})- {} in_it".format(str(aug_model),epochs,dataug_epoch_start,n_inner_iter), "w+") as f: json.dump(out, f, indent=True) print('Log :\"',f.name, '\" saved !') - print('-'*9) \ No newline at end of file + print('-'*9) + + ''' \ No newline at end of file