Ayush Chaurasia commited on
Commit
75c0ff4
1 Parent(s): e8810a5

[x]W&B: Don't resume transfer learning runs (#3604)

Browse files

* Allow config cahnge

* Allow val change in wandb config

* Don't resume transfer learning runs

* Add entity in log dataset

train.py CHANGED
@@ -89,6 +89,7 @@ def train(hyp, # path/to/hyp.yaml or hyp dictionary
89
  # W&B
90
  opt.hyp = hyp # add hyperparameters
91
  run_id = torch.load(weights).get('wandb_id') if weights.endswith('.pt') and os.path.isfile(weights) else None
 
92
  wandb_logger = WandbLogger(opt, save_dir.stem, run_id, data_dict)
93
  loggers['wandb'] = wandb_logger.wandb
94
  if loggers['wandb']:
 
89
  # W&B
90
  opt.hyp = hyp # add hyperparameters
91
  run_id = torch.load(weights).get('wandb_id') if weights.endswith('.pt') and os.path.isfile(weights) else None
92
+ run_id = run_id if opt.resume else None # start fresh run if transfer learning
93
  wandb_logger = WandbLogger(opt, save_dir.stem, run_id, data_dict)
94
  loggers['wandb'] = wandb_logger.wandb
95
  if loggers['wandb']:
utils/wandb_logging/log_dataset.py CHANGED
@@ -18,6 +18,8 @@ if __name__ == '__main__':
18
  parser.add_argument('--data', type=str, default='data/coco128.yaml', help='data.yaml path')
19
  parser.add_argument('--single-cls', action='store_true', help='train as single-class dataset')
20
  parser.add_argument('--project', type=str, default='YOLOv5', help='name of W&B Project')
 
 
21
  opt = parser.parse_args()
22
  opt.resume = False # Explicitly disallow resume check for dataset upload job
23
 
 
18
  parser.add_argument('--data', type=str, default='data/coco128.yaml', help='data.yaml path')
19
  parser.add_argument('--single-cls', action='store_true', help='train as single-class dataset')
20
  parser.add_argument('--project', type=str, default='YOLOv5', help='name of W&B Project')
21
+ parser.add_argument('--entity', default=None, help='W&B entity')
22
+
23
  opt = parser.parse_args()
24
  opt.resume = False # Explicitly disallow resume check for dataset upload job
25
 
utils/wandb_logging/wandb_utils.py CHANGED
@@ -126,8 +126,7 @@ class WandbLogger():
126
  if not opt.resume:
127
  wandb_data_dict = self.check_and_upload_dataset(opt) if opt.upload_dataset else data_dict
128
  # Info useful for resuming from artifacts
129
- self.wandb_run.config.opt = vars(opt)
130
- self.wandb_run.config.data_dict = wandb_data_dict
131
  self.data_dict = self.setup_training(opt, data_dict)
132
  if self.job_type == 'Dataset Creation':
133
  self.data_dict = self.check_and_upload_dataset(opt)
 
126
  if not opt.resume:
127
  wandb_data_dict = self.check_and_upload_dataset(opt) if opt.upload_dataset else data_dict
128
  # Info useful for resuming from artifacts
129
+ self.wandb_run.config.update({'opt': vars(opt), 'data_dict': data_dict}, allow_val_change=True)
 
130
  self.data_dict = self.setup_training(opt, data_dict)
131
  if self.job_type == 'Dataset Creation':
132
  self.data_dict = self.check_and_upload_dataset(opt)