jpdefrutos commited on
Commit
a27e593
·
1 Parent(s): e5764e7
Files changed (1) hide show
  1. COMET/MultiTrain_config.py +27 -4
COMET/MultiTrain_config.py CHANGED
@@ -8,7 +8,7 @@ from configparser import ConfigParser
8
  from shutil import copy2
9
  import os
10
  from datetime import datetime
11
-
12
  TRAIN_DATASET = '/mnt/EncryptedData1/Users/javier/ext_datasets/COMET_dataset/OSLO_COMET_CT/Formatted_128x128x128/train'
13
 
14
  err = list()
@@ -28,23 +28,35 @@ if __name__ == '__main__':
28
  lossesConfig = configFile['LOSSES']
29
  datasetConfig = configFile['DATASETS']
30
  othersConfig = configFile['OTHERS']
 
31
 
32
- print('TRAIN MODEL IN' + trainConfig['model'])
 
 
 
33
 
34
  simil = lossesConfig['similarity'].split(',')
35
  segm = lossesConfig['segmentation'].split(',')
36
  if trainConfig['name'].lower() == 'uw':
37
  from COMET.COMET_train_UW import launch_train
38
  output_folder = os.path.join(othersConfig['outputFolder'], '{}_Lsim_{}__Lseg_{}'.format(trainConfig['name'], '_'.join(simil), '_'.join(segm)))
 
 
 
 
 
 
39
  else:
40
  from COMET.COMET_train import launch_train
41
  simil = simil[0]
42
  segm = segm[0]
43
- output_folder = os.path.join(othersConfig['outputFolder'], '{}_Lsim_{}__Lseg_{}'.format(trainConfig['name'], simil, segm))
44
  output_folder = output_folder + '_' + datetime.now().strftime("%H%M%S-%d%m%Y")
45
 
46
  try:
47
  froozen_layers = eval(trainConfig['freeze'])
 
 
48
  except NameError as err:
49
  froozen_layers = [trainConfig['freeze'].upper()]
50
  if froozen_layers is not None:
@@ -52,10 +64,18 @@ if __name__ == '__main__':
52
  'Invalid option for "freeze". Expected one or several of: INPUT, OUTPUT, ENCODER, DECODER, TOP, BOTTOM'
53
  froozen_layers = list(set(froozen_layers)) # Unique elements
54
 
 
 
 
 
 
55
  # copy the configuration file to the destionation folder
56
  os.makedirs(output_folder, exist_ok=True)
57
  copy2(args.ini, os.path.join(output_folder, os.path.split(args.ini)[-1]))
58
 
 
 
 
59
  launch_train(dataset_folder=datasetConfig['train'],
60
  validation_folder=datasetConfig['validation'],
61
  output_folder=output_folder,
@@ -65,7 +85,10 @@ if __name__ == '__main__':
65
  simil=simil,
66
  segm=segm,
67
  max_epochs=eval(trainConfig['epochs']),
 
68
  model_file=trainConfig['model'],
69
  freeze_layers=froozen_layers,
70
  acc_gradients=eval(trainConfig['accumulativeGradients']),
71
- batch_size=eval(trainConfig['batchSize']))
 
 
 
8
  from shutil import copy2
9
  import os
10
  from datetime import datetime
11
+ import DeepDeformationMapRegistration.utils.constants as C
12
  TRAIN_DATASET = '/mnt/EncryptedData1/Users/javier/ext_datasets/COMET_dataset/OSLO_COMET_CT/Formatted_128x128x128/train'
13
 
14
  err = list()
 
28
  lossesConfig = configFile['LOSSES']
29
  datasetConfig = configFile['DATASETS']
30
  othersConfig = configFile['OTHERS']
31
+ augmentationConfig = configFile['AUGMENTATION']
32
 
33
+ try:
34
+ print('TRAIN MODEL IN' + trainConfig['model'])
35
+ except KeyError as er:
36
+ trainConfig['model'] = ''
37
 
38
  simil = lossesConfig['similarity'].split(',')
39
  segm = lossesConfig['segmentation'].split(',')
40
  if trainConfig['name'].lower() == 'uw':
41
  from COMET.COMET_train_UW import launch_train
42
  output_folder = os.path.join(othersConfig['outputFolder'], '{}_Lsim_{}__Lseg_{}'.format(trainConfig['name'], '_'.join(simil), '_'.join(segm)))
43
+ elif trainConfig['name'].lower() == 'segguided':
44
+ from COMET.COMET_train_seggguided import launch_train
45
+ simil = simil[0]
46
+ segm = segm[0]
47
+ output_folder = os.path.join(othersConfig['outputFolder'],
48
+ '{}_Lsim_{}__Lseg_{}'.format(trainConfig['name'], simil, segm))
49
  else:
50
  from COMET.COMET_train import launch_train
51
  simil = simil[0]
52
  segm = segm[0]
53
+ output_folder = os.path.join(othersConfig['outputFolder'], '{}_Lsim_{}'.format(trainConfig['name'], simil))
54
  output_folder = output_folder + '_' + datetime.now().strftime("%H%M%S-%d%m%Y")
55
 
56
  try:
57
  froozen_layers = eval(trainConfig['freeze'])
58
+ except KeyError as err:
59
+ froozen_layers = None
60
  except NameError as err:
61
  froozen_layers = [trainConfig['freeze'].upper()]
62
  if froozen_layers is not None:
 
64
  'Invalid option for "freeze". Expected one or several of: INPUT, OUTPUT, ENCODER, DECODER, TOP, BOTTOM'
65
  froozen_layers = list(set(froozen_layers)) # Unique elements
66
 
67
+ if augmentationConfig:
68
+ C.GAMMA_AUGMENTATION = augmentationConfig['gamma'].lower() == 'true'
69
+ C.BRIGHTNESS_AUGMENTATION = augmentationConfig['brightness'].lower() == 'true'
70
+
71
+
72
  # copy the configuration file to the destionation folder
73
  os.makedirs(output_folder, exist_ok=True)
74
  copy2(args.ini, os.path.join(output_folder, os.path.split(args.ini)[-1]))
75
 
76
+ unet = [int(x) for x in trainConfig['unet'].split(',')] if trainConfig['unet'] else [16, 32, 64, 128, 256]
77
+ head = [int(x) for x in trainConfig['head'].split(',')] if trainConfig['head'] else [16, 16]
78
+
79
  launch_train(dataset_folder=datasetConfig['train'],
80
  validation_folder=datasetConfig['validation'],
81
  output_folder=output_folder,
 
85
  simil=simil,
86
  segm=segm,
87
  max_epochs=eval(trainConfig['epochs']),
88
+ early_stop_patience=eval(trainConfig['earlyStopPatience']),
89
  model_file=trainConfig['model'],
90
  freeze_layers=froozen_layers,
91
  acc_gradients=eval(trainConfig['accumulativeGradients']),
92
+ batch_size=eval(trainConfig['batchSize']),
93
+ unet=unet,
94
+ head=head)