Ayush Chaurasia
commited on
[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 +1 -0
- utils/wandb_logging/log_dataset.py +2 -0
- utils/wandb_logging/wandb_utils.py +1 -2
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
|
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)
|