Пример #1
0
	valid_error = []
	while (not valid_sets.is_finish()):
            valid_sets.load_next_partition(valid_xy)
            for batch_index in xrange(valid_sets.cur_frame_num / batch_size):  # loop over mini-batches
	        valid_error.append(valid_fn(index=batch_index))
        valid_sets.initialize_read()
	log('> epoch %d, lrate %f, validation error %f' % (lrate.epoch, lrate.get_rate(), numpy.mean(valid_error)))

        log('> epoch %d, smallest lrate %f' % (lrate.epoch, lrate.lowest_error))
	lrate.get_next_rate(current_error = 100 * numpy.mean(valid_error))

    # output conv layer config
#    for i in xrange(len(conv_layer_configs)):
#        conv_layer_configs[i]['activation'] = activation_to_txt(conv_activation)
#        with open(wdir + '/conv.config.' + str(i), 'wb') as fp:
#            json.dump(conv_layer_configs[i], fp, indent=2, sort_keys = True)
#            fp.flush()

    # output the conv part
    _cnn2file(cnn.conv_layers, filename=conv_output_file)
    # output the full part
    _nnet2file(cnn.full_layers, filename=full_output_file)
    _nnet2file(cnn.ivec_layers, set_layer_num = len(ivec_layers_sizes) + 1, filename=ivec_output_file, withfinal=False)
#    _nnet2kaldi(str(cnn.conv_output_dim) + ':' + full_nnet_spec, filein = wdir + '/nnet.finetune.tmp', fileout = full_output_file)

    end_time = time.clock()
    print >> sys.stderr, ('The code for file ' +
                          os.path.split(__file__)[1] +
                          ' ran for %.2fm' % ((end_time - start_time) / 60.))

Пример #2
0
	valid_error = []
	while (not valid_sets.is_finish()):
            valid_sets.load_next_partition(valid_xy)
            for batch_index in xrange(valid_sets.cur_frame_num / batch_size):  # loop over mini-batches
	        valid_error.append(valid_fn(index=batch_index))
        valid_sets.initialize_read()
	log('> epoch %d, lrate %f, validation error %f' % (lrate.epoch, lrate.get_rate(), numpy.mean(valid_error)))

	lrate.get_next_rate(current_error = 100 * numpy.mean(valid_error))

    # output conv layer config
    for i in xrange(len(conv_layer_configs)):
        conv_layer_configs[i]['activation'] = activation_to_txt(conv_activation)
        with open(wdir + '/conv.config.' + str(i), 'wb') as fp:
            json.dump(conv_layer_configs[i], fp, indent=2, sort_keys = True)
            fp.flush()

    # output the conv part
    _cnn2file(cnn.layers[0:len(conv_layer_configs)], filename=conv_output_file)
    # output the full part
    total_layer_number = len(cnn.layers)
    _nnet2file(cnn.layers[len(conv_layer_configs):total_layer_number], filename=wdir + '/nnet.finetune.tmp')
    _nnet2kaldi(str(cnn.conv_output_dim) + ':' + full_nnet_spec, filein = wdir + '/nnet.finetune.tmp', fileout = full_output_file)

    end_time = time.clock()
    print >> sys.stderr, ('The code for file ' +
                          os.path.split(__file__)[1] +
                          ' ran for %.2fm' % ((end_time - start_time) / 60.))