Ejemplo n.º 1
0
    cfg_si.init_data_reading(train_data_spec, valid_data_spec)

    # parse the structure of the i-vector network
    cfg_adapt = NetworkConfig()
    net_split = adapt_nnet_spec.split(':')
    adapt_nnet_spec = ''
    for n in xrange(len(net_split) - 1):
        adapt_nnet_spec += net_split[n] + ':'
    cfg_adapt.parse_config_dnn(arguments, adapt_nnet_spec + '0')

    numpy_rng = numpy.random.RandomState(89677)
    theano_rng = RandomStreams(numpy_rng.randint(2**30))
    log('> ... initializing the model')
    # setup up the model
    dnn = CNN_SAT(numpy_rng=numpy_rng,
                  theano_rng=theano_rng,
                  cfg_si=cfg_si,
                  cfg_adapt=cfg_adapt)
    # read the initial DNN  (the SI DNN which has been well trained)
    #    _file2nnet(dnn.cnn_si.layers, filename = init_model_file)
    _file2nnet(dnn.cnn_si.layers, filename='BKUP/nnet.param.si')
    _file2nnet(dnn.dnn_adapt.layers, filename='BKUP/nnet.param.adapt')

    # get the training and  validation functions for adaptation network training
    dnn.params = dnn.dnn_adapt.params  # only update the parameters of the i-vector nnet
    dnn.delta_params = dnn.dnn_adapt.delta_params
    log('> ... getting the finetuning functions for iVecNN')
    train_fn, valid_fn = dnn.build_finetune_functions(
        (cfg_si.train_x, cfg_si.train_y), (cfg_si.valid_x, cfg_si.valid_y),
        batch_size=cfg_adapt.batch_size)

    log('> ... learning the adaptation network')
Ejemplo n.º 2
0
    cfg_si.parse_config_cnn(arguments, '10:' + si_nnet_spec, si_conv_nnet_spec)
    cfg_si.init_data_reading(train_data_spec, valid_data_spec)

    # parse the structure of the i-vector network 
    cfg_adapt = NetworkConfig()
    net_split = adapt_nnet_spec.split(':')
    adapt_nnet_spec = ''
    for n in range(len(net_split) - 1):
        adapt_nnet_spec += net_split[n] + ':'
    cfg_adapt.parse_config_dnn(arguments, adapt_nnet_spec + '0')

    numpy_rng = numpy.random.RandomState(89677)
    theano_rng = RandomStreams(numpy_rng.randint(2 ** 30))
    log('> ... initializing the model')
    # setup up the model 
    dnn = CNN_SAT(numpy_rng=numpy_rng, theano_rng = theano_rng, cfg_si = cfg_si, cfg_adapt = cfg_adapt)
    # read the initial DNN  (the SI DNN which has been well trained)
#    _file2nnet(dnn.cnn_si.layers, filename = init_model_file)
    _file2nnet(dnn.cnn_si.layers, filename = 'BKUP/nnet.param.si')
    _file2nnet(dnn.dnn_adapt.layers, filename = 'BKUP/nnet.param.adapt')

    # get the training and  validation functions for adaptation network training
    dnn.params = dnn.dnn_adapt.params  # only update the parameters of the i-vector nnet
    dnn.delta_params = dnn.dnn_adapt.delta_params
    log('> ... getting the finetuning functions for iVecNN')
    train_fn, valid_fn = dnn.build_finetune_functions(
                (cfg_si.train_x, cfg_si.train_y), (cfg_si.valid_x, cfg_si.valid_y),
                batch_size = cfg_adapt.batch_size)

    log('> ... learning the adaptation network')
    cfg = cfg_adapt
Ejemplo n.º 3
0
 
    train_dataset, train_dataset_args = read_data_args(train_data_spec)
    valid_dataset, valid_dataset_args = read_data_args(valid_data_spec)
    
    # reading data 
    train_sets, train_xy, train_x, train_y = read_dataset(train_dataset, train_dataset_args)
    valid_sets, valid_xy, valid_x, valid_y = read_dataset(valid_dataset, valid_dataset_args)

    numpy_rng = numpy.random.RandomState(89677)
    theano_rng = RandomStreams(numpy_rng.randint(2 ** 30))
    log('> ... building the model')
    # construct the cnn architecture
    cnn = CNN_SAT(numpy_rng=numpy_rng, theano_rng = theano_rng,
              batch_size = batch_size, n_outs=n_outs,
              conv_layer_configs = conv_layer_configs,
              hidden_layers_sizes = hidden_layers_sizes,
              ivec_layers_sizes = ivec_layers_sizes,
              conv_activation = conv_activation, 
              full_activation = full_activation,
              use_fast = use_fast, update_part = update_part, ivec_dim = ivec_dim)

    if arguments.has_key('conv_input_file'):
        _file2cnn(cnn.conv_layers, filename=arguments['conv_input_file'])
    if arguments.has_key('full_input_file'):
        _file2nnet(cnn.full_layers, filename = arguments['full_input_file'])
    if arguments.has_key('ivec_input_file'):
        _file2nnet(cnn.ivec_layers, set_layer_num = len(ivec_layers_sizes) + 1, filename = arguments['ivec_input_file'], withfinal=False)

    # get the training, validation and testing function for the model
    log('> ... getting the finetuning functions')
    train_fn, valid_fn = cnn.build_finetune_functions(
                (train_x, train_y), (valid_x, valid_y),