def main(): utils.seed_python(config.seed) utils.seed_torch(config.seed) train_eval_data = pd.read_csv(os.path.join(args.dataset_path, 'train.csv'), converters={'EncodedPixels': str}) train_eval_data['root'] = os.path.join(args.dataset_path, 'train_images') test_data = pd.read_csv(os.path.join(args.dataset_path, 'sample_submission.csv'), converters={'EncodedPixels': str}) test_data['root'] = os.path.join(args.dataset_path, 'test_images') if args.lr_search: lr = lr_search(train_eval_data) print('lr_search: {}'.format(lr)) gc.collect() return if args.fold is None: folds = FOLDS else: folds = [args.fold] if not args.infer: for fold in folds: train_fold(fold, train_eval_data) update_transforms(1.) # FIXME: temp = find_temp_for_folds(folds, train_eval_data) gc.collect() build_submission(folds, test_data, temp)
def main(): utils.seed_python(config.seed) utils.seed_torch(config.seed) train_eval_data = pd.read_csv(os.path.join(args.dataset_path, 'train.csv')) train_eval_data['root'] = os.path.join(args.dataset_path, 'train') test_data = pd.read_csv(os.path.join(args.dataset_path, 'test.csv')) test_data['root'] = os.path.join(args.dataset_path, 'test') infer_image_transform.reset(tta=False) if args.lr_search: lr = lr_search(train_eval_data) print('lr_search: {}'.format(lr)) gc.collect() return if args.fold is None: folds = FOLDS else: folds = [args.fold] if not args.infer: for fold in folds: train_fold(fold, train_eval_data, test_data) infer_image_transform.reset(tta=True) update_transforms(1.) # FIXME: temp = find_temp_for_folds(folds, train_eval_data) gc.collect() build_submission(folds, test_data, temp)
def main(model_paths, dataset_path, submission_path): utils.seed_python(config.seed) utils.seed_torch(config.seed) test_data = load_test_data(dataset_path, 'test') predictions, ids = build_submission(model_paths, FOLDS, test_data) predictions = predictions.cpu() submission = { 'fname': ids, **{ID_TO_CLASS[i]: predictions[:, i] for i in range(NUM_CLASSES)} } submission = pd.DataFrame(submission) submission.to_csv(submission_path, index=False)
def main(): utils.seed_python(config.seed) utils.seed_torch(config.seed) train_eval_data = load_train_eval_data(args.dataset_path, 'train_curated') train_noisy_data = load_train_eval_data(args.dataset_path, 'train_noisy') test_data = load_test_data(args.dataset_path, 'test') noisy_meta = pd.read_csv('./noisy_meta.csv') noisy_indices = np.argsort(-noisy_meta.score)[:config.noisy_topk] for data in [train_eval_data, train_noisy_data, test_data]: if args.debug: data['path'] = './frees/sample.wav' if config.opt.lr is None: lr = find_lr(train_eval_data, train_noisy_data.iloc[noisy_indices]) gc.collect() else: lr = config.opt.lr if args.fold is None: folds = FOLDS else: folds = [args.fold] for fold in folds: train_fold(fold, train_eval_data, train_noisy_data.iloc[noisy_indices], lr) # TODO: check and refine # TODO: remove? evaluate_folds(folds, train_eval_data) scores, ids = evaluate_noisy(folds, train_noisy_data) noisy_meta = pd.DataFrame({'fname': ids, 'score': scores}) noisy_meta.to_csv(os.path.join(args.experiment_path, 'noisy_meta.csv'), index=False) predictions, ids = build_submission(folds, test_data) predictions = predictions.cpu() submission = { 'fname': ids, **{ID_TO_CLASS[i]: predictions[:, i] for i in range(NUM_CLASSES)} } submission = pd.DataFrame(submission) submission.to_csv(os.path.join(args.experiment_path, 'submission.csv'), index=False)
def main(): utils.seed_python(config.seed) utils.seed_torch(config.seed) train_eval_data = pd.read_csv(os.path.join(args.dataset_path, 'train.csv')) train_eval_data['root'] = os.path.join(args.dataset_path, 'train') test_data = pd.read_csv(os.path.join(args.dataset_path, 'test.csv')) test_data['root'] = os.path.join(args.dataset_path, 'test') data = pd.concat([train_eval_data, test_data]) if args.fold is None: folds = FOLDS else: folds = [args.fold] infer_image_transform.reset(tta=True) update_transforms(1.) # FIXME: compute_features(folds, data)
def main(): utils.seed_python(config.seed) utils.seed_torch(config.seed) if config.opt.lr is None: lr = find_lr() print('find_lr: {}'.format(lr)) gc.collect() else: lr = config.opt.lr if args.fold is None: folds = FOLDS else: folds = [args.fold] for fold in folds: train_fold(fold, lr) # TODO: check and refine threshold = find_threshold_for_folds(folds) build_submission(folds, threshold)
def main(): utils.seed_python(config.seed) utils.seed_torch(config.seed) train()