|
|
@@ -71,7 +71,8 @@ def train(hyp, opt, device, tb_writer=None, wandb=None): |
|
|
|
check_dataset(data_dict) # check |
|
|
|
train_path = data_dict['train'] |
|
|
|
test_path = data_dict['val'] |
|
|
|
nc, names = (1, ['item']) if opt.single_cls else (int(data_dict['nc']), data_dict['names']) # number classes, names |
|
|
|
nc = 1 if opt.single_cls else int(data_dict['nc']) # number of classes |
|
|
|
names = ['item'] if opt.single_cls and len(data_dict['names']) != 1 else data_dict['names'] # class names |
|
|
|
assert len(names) == nc, '%g names found for nc=%g dataset in %s' % (len(names), nc, opt.data) # check |
|
|
|
|
|
|
|
# Model |
|
|
@@ -447,7 +448,7 @@ if __name__ == '__main__': |
|
|
|
parser.add_argument('--image-weights', action='store_true', help='use weighted image selection for training') |
|
|
|
parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu') |
|
|
|
parser.add_argument('--multi-scale', action='store_true', help='vary img-size +/- 50%%') |
|
|
|
parser.add_argument('--single-cls', action='store_true', help='train as single-class dataset') |
|
|
|
parser.add_argument('--single-cls', action='store_true', help='train multi-class data as single-class') |
|
|
|
parser.add_argument('--adam', action='store_true', help='use torch.optim.Adam() optimizer') |
|
|
|
parser.add_argument('--sync-bn', action='store_true', help='use SyncBatchNorm, only available in DDP mode') |
|
|
|
parser.add_argument('--local_rank', type=int, default=-1, help='DDP parameter, do not modify') |