EXP_DIR, MODEL_PATH, LOG_PATH = get_exp_path('tvec', args, override=args.retrain) stdio(LOG_PATH) # ====== load data feeder ====== # (train, valid, X_test_name, X_test_true, X_test_data, labels) = prepare_data(feat=args.feat, label=args.task) n_classes = len(labels) # =========================================================================== # Create model # =========================================================================== inputs = [ K.placeholder(shape=(None, ) + shape[1:], dtype='float32', name='input%d' % i) for i, shape in enumerate(as_tuple_of_shape(train.shape)) ] X = inputs[0] y = inputs[1] print("Inputs:", ctext(inputs, 'cyan')) # ====== create the networks ====== # with N.args_scope([('Conv', 'Dense'), dict(b_init=None, activation=K.linear, pad='same')], ['BatchNorm', dict(activation=K.relu)]): f = N.Sequence([ N.Dimshuffle(pattern=(0, 1, 2, 'x')), N.Conv(num_filters=32, filter_size=(9, 7)), N.BatchNorm(), N.Pool(pool_size=(3, 2), strides=2), N.Conv(num_filters=64, filter_size=(5, 3)), N.BatchNorm(),
stdio(LOG_PATH) # =========================================================================== # Create data feeder # =========================================================================== (train, valid, test_ids, test_dat, all_speakers) = prepare_dnn_data( recipe=args.recipe, feat=FEAT, utt_length=args.l) n_speakers = len(all_speakers) + 1 # =========================================================================== # Create the network # =========================================================================== inputs = [K.placeholder(shape=(None,) + shape[1:], dtype='float32', name='input%d' % i) for i, shape in enumerate(as_tuple_of_shape(train.shape))] X = inputs[0] y = inputs[1] print("Inputs:", ctext(inputs, 'cyan')) # ====== the network ====== # if os.path.exists(MODEL_PATH): x_vec = N.deserialize(path=MODEL_PATH, force_restore_vars=True) else: TRAIN_MODEL = True with N.args_scope( ['TimeDelayedConv', dict(time_pool='none', activation=K.relu)], ['Dense', dict(activation=K.linear, b_init=None)], ['BatchNorm', dict(activation=K.relu)] ): x_vec = N.Sequence([ N.Dropout(level=0.3),