Python utils.load() Examples
The following are 23
code examples of utils.load().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
utils
, or try the search function
.
Example #1
Source File: train_search.py From NAS-Benchmark with GNU General Public License v3.0 | 7 votes |
def parse_cycles(): logging.debug(locals()) assert len(args.add_width) == len(args.add_layers) == len(args.dropout_rate) == len(args.num_to_keep) assert len(args.add_width) == len(args.num_morphs) == len(args.grace_epochs) == len(args.epochs) cycles = [] for i in range(len(args.add_width)): try_load = args.try_load and i > 0 net_layers = args.layers + int(args.add_layers[i]) net_init_c = args.init_channels + int(args.add_width[i]) if len(cycles) > 0 and try_load: if cycles[-1].net_layers != net_layers or cycles[-1].net_init_c != net_init_c: try_load = False cycles.append(Cycle( num=i, net_layers=args.layers + int(args.add_layers[i]), net_init_c=args.init_channels + int(args.add_width[i]), net_dropout=float(args.dropout_rate[i]), ops_keep=args.num_to_keep[i], epochs=args.epochs[i], grace_epochs=args.grace_epochs[i] if not args.test else 0, morphs=args.num_morphs[i], init_morphed=try_load, load=try_load, is_last=(i == len(args.num_to_keep) - 1))) return cycles
Example #2
Source File: dataset.py From DBNet.pytorch with Apache License 2.0 | 6 votes |
def _get_annotation(self, label_path: str) -> dict: boxes = [] texts = [] ignores = [] with open(label_path, encoding='utf-8', mode='r') as f: for line in f.readlines(): params = line.strip().strip('\ufeff').strip('\xef\xbb\xbf').split(',') try: box = order_points_clockwise(np.array(list(map(float, params[:8]))).reshape(-1, 2)) if cv2.contourArea(box) > 0: boxes.append(box) label = params[8] texts.append(label) ignores.append(label in self.ignore_tags) except: print('load label failed on {}'.format(label_path)) data = { 'text_polys': np.array(boxes), 'texts': texts, 'ignore_tags': ignores, } return data
Example #3
Source File: test.py From Wave-U-Net-Pytorch with MIT License | 6 votes |
def evaluate(args, dataset, model, instruments): perfs = list() model.eval() with torch.no_grad(): for example in dataset: print("Evaluating " + example["mix"]) # Load source references in their original sr and channel number target_sources = np.stack([utils.load(example[instrument], sr=None, mono=False)[0].T for instrument in instruments]) # Predict using mixture pred_sources = predict_song(args, example["mix"], model) pred_sources = np.stack([pred_sources[key].T for key in instruments]) # Evaluate SDR, ISR, SIR, SAR, _ = museval.metrics.bss_eval(target_sources, pred_sources) song = {} for idx, name in enumerate(instruments): song[name] = {"SDR" : SDR[idx], "ISR" : ISR[idx], "SIR" : SIR[idx], "SAR" : SAR[idx]} perfs.append(song) return perfs
Example #4
Source File: train_imagenet.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) cudnn.enabled = True cudnn.benchmark = False cudnn.deterministic = True torch.cuda.manual_seed(args.seed) logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_imagenet(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_acc_top5, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc_top1 %f', valid_acc_top1) logging.info('valid_acc_top5 %f', valid_acc_top5) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #5
Source File: test.py From sgas with MIT License | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() utils.load(model, args.model_path) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() _, test_transform = utils._data_transforms_cifar10(args) test_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=test_transform) test_queue = torch.utils.data.DataLoader( test_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) model.drop_path_prob = args.drop_path_prob with torch.no_grad(): test_acc, test_obj = infer(test_queue, model, criterion) logging.info('test_acc %f', test_acc)
Example #6
Source File: dataset.py From DBNet.pytorch with Apache License 2.0 | 5 votes |
def load_data(self, data_path: str) -> list: """ 从json文件中读取出 文本行的坐标和gt,字符的坐标和gt :param data_path: :return: """ data_list = [] for path in data_path: content = load(path) for gt in tqdm(content['data_list'], desc='read file {}'.format(path)): img_path = os.path.join(content['data_root'], gt['img_name']) polygons = [] texts = [] illegibility_list = [] language_list = [] for annotation in gt['annotations']: if len(annotation['polygon']) == 0 or len(annotation['text']) == 0: continue if len(annotation['text']) > 1 and self.expand_one_char: annotation['polygon'] = expand_polygon(annotation['polygon']) polygons.append(annotation['polygon']) texts.append(annotation['text']) illegibility_list.append(annotation['illegibility']) language_list.append(annotation['language']) if self.load_char_annotation: for char_annotation in annotation['chars']: if len(char_annotation['polygon']) == 0 or len(char_annotation['char']) == 0: continue polygons.append(char_annotation['polygon']) texts.append(char_annotation['char']) illegibility_list.append(char_annotation['illegibility']) language_list.append(char_annotation['language']) data_list.append({'img_path': img_path, 'img_name': gt['img_name'], 'text_polys': np.array(polygons), 'texts': texts, 'ignore_tags': illegibility_list}) return data_list
Example #7
Source File: data.py From Wave-U-Net-Pytorch with MIT License | 5 votes |
def getMUSDBHQ(database_path): subsets = list() for subset in ["train", "test"]: print("Loading " + subset + " set...") tracks = glob.glob(os.path.join(database_path, subset, "*")) samples = list() # Go through tracks for track_folder in sorted(tracks): # Skip track if mixture is already written, assuming this track is done already example = dict() for stem in ["mix", "bass", "drums", "other", "vocals"]: filename = stem if stem != "mix" else "mixture" audio_path = os.path.join(track_folder, filename + ".wav") example[stem] = audio_path # Add other instruments to form accompaniment acc_path = os.path.join(track_folder, "accompaniment.wav") if not os.path.exists(acc_path): print("Writing accompaniment to " + track_folder) stem_audio = [] for stem in ["bass", "drums", "other"]: audio, sr = load(example[stem], sr=None, mono=False) stem_audio.append(audio) acc_audio = np.clip(sum(stem_audio), -1.0, 1.0) write_wav(acc_path, acc_audio, sr) example["accompaniment"] = acc_path samples.append(example) subsets.append(samples) return subsets
Example #8
Source File: test_examples.py From enaml-native with MIT License | 5 votes |
def test_playground_app(): with enaml.imports(): with open('examples/playground/view.enaml', 'rb') as f: ContentView = load(f.read()) app = MockApplication.instance('android') app.view = ContentView() app.run()
Example #9
Source File: test_examples.py From enaml-native with MIT License | 5 votes |
def test_demo_app(): with enaml.imports(): with open('examples/demo/view.enaml', 'rb') as f: ContentView = load(f.read()) app = MockApplication.instance('android') app.view = ContentView() app.run()
Example #10
Source File: test_examples.py From enaml-native with MIT License | 5 votes |
def test_examples(platforms, path): #: Load dir_path = os.path.abspath(os.path.split(os.path.dirname(__file__))[0]) enaml_file = os.path.join(dir_path, 'examples', os.path.normpath(path)) #: Run for each platform for platform in platforms: app = MockApplication.instance(platform) with enaml.imports(): with open(enaml_file, 'rb') as f: ContentView = load(f.read()) app.view = ContentView() app.run()
Example #11
Source File: train_cifar.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) cudnn.benchmark = False torch.manual_seed(args.seed) cudnn.enabled = True torch.cuda.manual_seed(args.seed) args.steps = int(np.ceil(50000 / args.batch_size)) * args.epochs logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) build_fn = get_builder(args.dataset) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_fn(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc %f', valid_acc_top1) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #12
Source File: train_imagenet.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = True logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_imagenet(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_acc_top5, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc_top1 %f', valid_acc_top1) logging.info('valid_acc_top5 %f', valid_acc_top5) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #13
Source File: test.py From NAS-Benchmark with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() utils.load(model, args.model_path) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() _, test_transform = utils._data_transforms_cifar10(args) test_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=test_transform) test_queue = torch.utils.data.DataLoader( test_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) model.drop_path_prob = args.drop_path_prob test_acc, test_obj = infer(test_queue, model, criterion) logging.info('test_acc %f', test_acc)
Example #14
Source File: test.py From darts with Apache License 2.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() utils.load(model, args.model_path) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() _, test_transform = utils._data_transforms_cifar10(args) test_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=test_transform) test_queue = torch.utils.data.DataLoader( test_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) model.drop_path_prob = args.drop_path_prob test_acc, test_obj = infer(test_queue, model, criterion) logging.info('test_acc %f', test_acc)
Example #15
Source File: train_imagenet.py From eval-nas with MIT License | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = False cudnn.deterministic = True logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_imagenet(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_acc_top5, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc_top1 %f', valid_acc_top1) logging.info('valid_acc_top5 %f', valid_acc_top5) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #16
Source File: test.py From eval-nas with MIT License | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) np.random.seed(args.seed) torch.cuda.set_device(args.gpu) cudnn.benchmark = True torch.manual_seed(args.seed) cudnn.enabled=True torch.cuda.manual_seed(args.seed) logging.info('gpu device = %d' % args.gpu) logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) model = Network(args.init_channels, CIFAR_CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() utils.load(model, args.model_path) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() _, test_transform = utils._data_transforms_cifar10(args) test_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=test_transform) test_queue = torch.utils.data.DataLoader( test_data, batch_size=args.batch_size, shuffle=False, pin_memory=True, num_workers=2) model.drop_path_prob = args.drop_path_prob test_acc, test_obj = infer(test_queue, model, criterion) logging.info('test_acc %f', test_acc)
Example #17
Source File: test_cifar.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) random.seed(args.seed) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = False cudnn.deterministic = True args.steps = int(np.ceil(50000 / args.batch_size)) * args.epochs logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) build_fn = get_builder(args.dataset) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_fn(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc %f', valid_acc_top1) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #18
Source File: train_imagenet.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = True logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_imagenet(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_acc_top5, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc_top1 %f', valid_acc_top1) logging.info('valid_acc_top5 %f', valid_acc_top5) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #19
Source File: train_cifar.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = True args.steps = int(np.ceil(50000 / args.batch_size)) * args.epochs logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) build_fn = get_builder(args.dataset) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_fn(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc %f', valid_acc_top1) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #20
Source File: test_cifar.py From NAO_pytorch with GNU General Public License v3.0 | 5 votes |
def main(): if not torch.cuda.is_available(): logging.info('No GPU found!') sys.exit(1) random.seed(args.seed) np.random.seed(args.seed) torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.cuda.manual_seed_all(args.seed) cudnn.enabled = True cudnn.benchmark = False cudnn.deterministic = True args.steps = int(np.ceil(50000 / args.batch_size)) * args.epochs logging.info("Args = %s", args) _, model_state_dict, epoch, step, optimizer_state_dict, best_acc_top1 = utils.load(args.output_dir) build_fn = get_builder(args.dataset) train_queue, valid_queue, model, train_criterion, eval_criterion, optimizer, scheduler = build_fn(model_state_dict, optimizer_state_dict, epoch=epoch-1) while epoch < args.epochs: scheduler.step() logging.info('epoch %d lr %e', epoch, scheduler.get_lr()[0]) train_acc, train_obj, step = train(train_queue, model, optimizer, step, train_criterion) logging.info('train_acc %f', train_acc) valid_acc_top1, valid_obj = valid(valid_queue, model, eval_criterion) logging.info('valid_acc %f', valid_acc_top1) epoch += 1 is_best = False if valid_acc_top1 > best_acc_top1: best_acc_top1 = valid_acc_top1 is_best = True utils.save(args.output_dir, args, model, epoch, step, optimizer, best_acc_top1, is_best)
Example #21
Source File: test.py From NAS-Benchmark with GNU General Public License v3.0 | 4 votes |
def main(): if not torch.cuda.is_available(): logging.info('no gpu device available') sys.exit(1) torch.cuda.set_device(args.gpu) cudnn.enabled=True logging.info("args = %s", args) genotype = eval("genotypes.%s" % args.arch) if args.dataset in LARGE_DATASETS: model = NetworkLarge(args.init_channels, CLASSES, args.layers, args.auxiliary, genotype) else: model = Network(args.init_channels, CLASSES, args.layers, args.auxiliary, genotype) model = model.cuda() utils.load(model, args.model_path) logging.info("param size = %fMB", utils.count_parameters_in_MB(model)) criterion = nn.CrossEntropyLoss() criterion = criterion.cuda() _, test_transform = utils.data_transforms(args.dataset,args.cutout,args.cutout_length) if args.dataset=="CIFAR100": test_data = dset.CIFAR100(root=args.data, train=False, download=True, transform=test_transform) elif args.dataset=="CIFAR10": test_data = dset.CIFAR10(root=args.data, train=False, download=True, transform=test_transform) elif args.dataset=="sport8": dset_cls = dset.ImageFolder val_path = '%s/Sport8/test' %args.data test_data = dset_cls(root=val_path, transform=test_transform) elif args.dataset=="mit67": dset_cls = dset.ImageFolder val_path = '%s/MIT67/test' %args.data test_data = dset_cls(root=val_path, transform=test_transform) elif args.dataset == "flowers102": dset_cls = dset.ImageFolder val_path = '%s/flowers102/test' % args.tmp_data_dir test_data = dset_cls(root=val_path, transform=test_transform) test_queue = torch.utils.data.DataLoader( test_data, batch_size=args.batch_size, shuffle=False, pin_memory=False, num_workers=2) model.drop_path_prob = 0.0 test_acc, test_obj = infer(test_queue, model, criterion) logging.info('Test_acc %f', test_acc)
Example #22
Source File: test.py From Wave-U-Net-Pytorch with MIT License | 4 votes |
def predict_song(args, audio_path, model): model.eval() # Load mixture in original sampling rate mix_audio, mix_sr = utils.load(audio_path, sr=None, mono=False) mix_channels = mix_audio.shape[0] mix_len = mix_audio.shape[1] # Adapt mixture channels to required input channels if args.channels == 1: mix_audio = np.mean(mix_audio, axis=0, keepdims=True) else: if mix_channels == 1: # Duplicate channels if input is mono but model is stereo mix_audio = np.tile(mix_audio, [args.channels, 1]) else: assert(mix_channels == args.channels) # resample to model sampling rate mix_audio = utils.resample(mix_audio, mix_sr, args.sr) sources = predict(mix_audio, model) # Resample back to mixture sampling rate in case we had model on different sampling rate sources = {key : utils.resample(sources[key], args.sr, mix_sr) for key in sources.keys()} # In case we had to pad the mixture at the end, or we have a few samples too many due to inconsistent down- and upsamṕling, remove those samples from source prediction now for key in sources.keys(): diff = sources[key].shape[1] - mix_len if diff > 0: print("WARNING: Cropping " + str(diff) + " samples") sources[key] = sources[key][:, :-diff] elif diff < 0: print("WARNING: Padding output by " + str(diff) + " samples") sources[key] = np.pad(sources[key], [(0,0), (0, -diff)], "constant", 0.0) # Adapt channels if mix_channels > args.channels: assert(args.channels == 1) # Duplicate mono predictions sources[key] = np.tile(sources[key], [mix_channels, 1]) elif mix_channels < args.channels: assert(mix_channels == 1) # Reduce model output to mono sources[key] = np.mean(sources[key], axis=0, keepdims=True) sources[key] = np.asfortranarray(sources[key]) # So librosa does not complain if we want to save it return sources
Example #23
Source File: train.py From crnn.gluon with Apache License 2.0 | 4 votes |
def main(config): from mxnet import nd from mxnet.gluon.loss import CTCLoss from models import get_model from data_loader import get_dataloader from trainer import Trainer from utils import get_ctx, load if os.path.isfile(config['dataset']['alphabet']): config['dataset']['alphabet'] = ''.join(load(config['dataset']['alphabet'])) prediction_type = config['arch']['args']['prediction']['type'] num_class = len(config['dataset']['alphabet']) # loss 设置 if prediction_type == 'CTC': criterion = CTCLoss() else: raise NotImplementedError ctx = get_ctx(config['trainer']['gpus']) model = get_model(num_class, ctx, config['arch']['args']) model.hybridize() model.initialize(ctx=ctx) img_h, img_w = 32, 100 for process in config['dataset']['train']['dataset']['args']['pre_processes']: if process['type'] == "Resize": img_h = process['args']['img_h'] img_w = process['args']['img_w'] break img_channel = 3 if config['dataset']['train']['dataset']['args']['img_mode'] != 'GRAY' else 1 sample_input = nd.zeros((2, img_channel, img_h, img_w), ctx[0]) num_label = model.get_batch_max_length(sample_input) train_loader = get_dataloader(config['dataset']['train'], num_label, config['dataset']['alphabet']) assert train_loader is not None if 'validate' in config['dataset']: validate_loader = get_dataloader(config['dataset']['validate'], num_label, config['dataset']['alphabet']) else: validate_loader = None config['lr_scheduler']['args']['step'] *= len(train_loader) trainer = Trainer(config=config, model=model, criterion=criterion, train_loader=train_loader, validate_loader=validate_loader, sample_input=sample_input, ctx=ctx) trainer.train()