Exemplo n.º 1
0
def runDNN(arg):


	if type(arg) is dict:
		model_config = arg
	else :
		model_config = load_model(arg,'DNN')

	dnn_config = load_dnn_spec(model_config['nnet_spec'])
	data_spec =  load_data_spec(model_config['data_spec'],model_config['batch_size']);


	#generating Random
	numpy_rng = numpy.random.RandomState(model_config['random_seed'])
	theano_rng = RandomStreams(numpy_rng.randint(2 ** 30))
	
	activationFn = parse_activation(dnn_config['activation']);

	#create working dir
	createDir(model_config['wdir']);
	
	batch_size = model_config['batch_size'];
	n_ins = model_config['n_ins']
	n_outs = model_config['n_outs']
	
	max_col_norm = dnn_config['max_col_norm']
	l1_reg = dnn_config['l1_reg']
	l2_reg = dnn_config['l2_reg']	
	adv_activation = dnn_config['adv_activation']
	hidden_layers_sizes = dnn_config['hidden_layers']
	do_dropout = dnn_config['do_dropout']
	logger.info('Building the model')

	if do_dropout:
		dropout_factor = dnn_config['dropout_factor']
		input_dropout_factor = dnn_config['input_dropout_factor']

		dnn = DNN_Dropout(numpy_rng=numpy_rng, theano_rng = theano_rng, n_ins=n_ins,
			  hidden_layers_sizes=hidden_layers_sizes, n_outs=n_outs,
			  activation = activationFn, dropout_factor = dropout_factor,
			  input_dropout_factor = input_dropout_factor, adv_activation = adv_activation,
			  max_col_norm = max_col_norm, l1_reg = l1_reg, l2_reg = l2_reg)
	else:
		
		dnn = DNN(numpy_rng=numpy_rng, theano_rng = theano_rng, n_ins=n_ins,
			  hidden_layers_sizes=hidden_layers_sizes, n_outs=n_outs,
			  activation = activationFn, adv_activation = adv_activation,
			  max_col_norm = max_col_norm, l1_reg = l1_reg, l2_reg = l2_reg)


	logger.info("Loading Pretrained network weights")
	try:
		# pretraining
		ptr_file = model_config['input_file']
		pretrained_layers = dnn_config['pretrained_layers']
		dnn.load(filename=ptr_file,max_layer_num = pretrained_layers,  withfinal=True)
	except KeyError, e:
		logger.critical("KeyMissing:"+str(e));
		logger.error("Pretrained network Missing in configFile")
		sys.exit(2)
Exemplo n.º 2
0
def runCNN3D(arg):

    if type(arg) is dict:
        model_config = arg
    else:
        model_config = load_model(arg, 'CNN')

    conv_config, conv_layer_config, mlp_config = load_conv_spec(
        model_config['nnet_spec'], model_config['batch_size'],
        model_config['input_shape'])
    #__debugPrintData__(conv_layer_config,'covolution config')

    data_spec = load_data_spec(model_config['data_spec'],
                               model_config['batch_size'])

    numpy_rng = numpy.random.RandomState(model_config['random_seed'])
    theano_rng = RandomStreams(numpy_rng.randint(2**30))

    logger.info('> ... building the model')
    hidden_activation = parse_activation(mlp_config['activation'])

    createDir(model_config['wdir'])

    #create working dir

    batch_size = model_config['batch_size']

    cnn = CNN3D(numpy_rng,
                theano_rng,
                conv_layer_configs=conv_layer_config,
                batch_size=batch_size,
                n_outs=model_config['n_outs'],
                hidden_layer_configs=mlp_config,
                hidden_activation=hidden_activation,
                l1_reg=mlp_config['l1_reg'],
                l2_reg=mlp_config['l1_reg'],
                max_col_norm=mlp_config['max_col_norm'])

    ########################
    # Loading  THE MODEL #
    ########################
    try:
        # pretraining
        ptr_file = model_config['input_file']
        pretrained_layers = mlp_config['pretrained_layers']
        logger.info("Loading the pretrained network..")
        cnn.load(filename=ptr_file,
                 max_layer_num=pretrained_layers,
                 withfinal=True)
    except KeyError, e:
        logger.warning(
            "Pretrained network missing in working directory, skipping model loading"
        )
Exemplo n.º 3
0
def runCNN(arg):
	
	if type(arg) is dict:
		model_config = arg
	else :
		model_config = load_model(arg,'CNN')
	
	conv_config,conv_layer_config,mlp_config = load_conv_spec(
			model_config['nnet_spec'],
			model_config['batch_size'],
			model_config['input_shape'])

	data_spec =  load_data_spec(model_config['data_spec'],model_config['batch_size']);

	
	numpy_rng = numpy.random.RandomState(89677)
	theano_rng = RandomStreams(numpy_rng.randint(2 ** 30))
	
	logger.info('> ... building the model')
	activationFn = parse_activation(mlp_config['activation']);

	createDir(model_config['wdir']);
	#create working dir

	batch_size = model_config['batch_size'];
	if mlp_config['do_dropout'] or conv_config['do_dropout']:
		logger.info('>Initializing dropout cnn model')
		cnn = DropoutCNN(numpy_rng,theano_rng,conv_layer_configs = conv_layer_config, batch_size = batch_size,
				n_outs=model_config['n_outs'],hidden_layer_configs=mlp_config, 
				hidden_activation = activationFn,
				use_fast = conv_config['use_fast'],l1_reg = mlp_config['l1_reg'],
				l2_reg = mlp_config['l1_reg'],max_col_norm = mlp_config['max_col_norm'],
				input_dropout_factor=conv_config['input_dropout_factor'])
	else:
		cnn = CNN(numpy_rng,theano_rng,conv_layer_configs = conv_layer_config, batch_size = batch_size,
				n_outs=model_config['n_outs'],hidden_layer_configs=mlp_config, 
				hidden_activation = activationFn,
				use_fast = conv_config['use_fast'],l1_reg = mlp_config['l1_reg'],
				l2_reg = mlp_config['l1_reg'],max_col_norm = mlp_config['max_col_norm'])
				
	########################
	 # Loading  THE MODEL #
	########################
	try:
		# pretraining
		ptr_file = model_config['input_file']
		pretrained_layers = mlp_config['pretrained_layers']
		logger.info("Loading the pretrained network..")
		cnn.load(filename=ptr_file,max_layer_num = pretrained_layers,  withfinal=True)
	except KeyError, e:
		logger.warning("Pretrained network missing in working directory, skipping model loading")
Exemplo n.º 4
0
def runCNN3D(arg):
	
	if type(arg) is dict:
		model_config = arg
	else :
		model_config = load_model(arg,'CNN')
	
	conv_config,conv_layer_config,mlp_config = load_conv_spec(
			model_config['nnet_spec'],
			model_config['batch_size'],
			model_config['input_shape'])
	#__debugPrintData__(conv_layer_config,'covolution config')
	
	data_spec =  load_data_spec(model_config['data_spec'],model_config['batch_size']);
	
	numpy_rng = numpy.random.RandomState(model_config['random_seed'])
	theano_rng = RandomStreams(numpy_rng.randint(2 ** 30))
	
	logger.info('> ... building the model')
	hidden_activation = parse_activation(mlp_config['activation']);

	createDir(model_config['wdir']);
	
	#create working dir

	batch_size = model_config['batch_size'];
	
	cnn = CNN3D(numpy_rng,theano_rng,conv_layer_configs = conv_layer_config, batch_size = batch_size,
			n_outs=model_config['n_outs'],hidden_layer_configs=mlp_config,hidden_activation = hidden_activation,
			l1_reg = mlp_config['l1_reg'],l2_reg = mlp_config['l1_reg'],max_col_norm = mlp_config['max_col_norm'])
	
				
	########################
	 # Loading  THE MODEL #
	########################
	try:
		# pretraining
		ptr_file = model_config['input_file']
		pretrained_layers = mlp_config['pretrained_layers']
		logger.info("Loading the pretrained network..")
		cnn.load(filename=ptr_file,max_layer_num = pretrained_layers,  withfinal=True)
	except KeyError, e:
		logger.warning("Pretrained network missing in working directory, skipping model loading")
Exemplo n.º 5
0
def runRBM(arg):

    if type(arg) is dict:
        model_config = arg
    else:
        model_config = load_model(arg, 'RBM')

    rbm_config = load_rbm_spec(model_config['nnet_spec'])
    data_spec = load_data_spec(model_config['data_spec'],
                               model_config['batch_size'])

    #generating Random
    numpy_rng = numpy.random.RandomState(model_config['random_seed'])
    theano_rng = RandomStreams(numpy_rng.randint(2**30))

    activationFn = parse_activation(rbm_config['activation'])

    createDir(model_config['wdir'])
    #create working dir

    batch_size = model_config['batch_size']
    wdir = model_config['wdir']

    dbn = DBN(numpy_rng=numpy_rng,
              theano_rng=theano_rng,
              n_ins=model_config['n_ins'],
              hidden_layers_sizes=rbm_config['hidden_layers'],
              n_outs=model_config['n_outs'],
              first_layer_gb=rbm_config['first_layer_gb'],
              pretrainedLayers=rbm_config['pretrained_layers'],
              activation=activationFn)

    logger.info("Loading Pretrained network weights")
    try:
        # pretraining
        ptr_file = model_config['input_file']
        dbn.load(filename=ptr_file)
    except KeyError, e:
        logger.info("KeyMissing:" + str(e))
        logger.info(
            "Pretrained network Missing in configFile: Skipping Loading")
Exemplo n.º 6
0
def runRBM(arg):

    if type(arg) is dict:
        model_config = arg
    else :
        model_config = load_model(arg,'RBM')

    rbm_config = load_rbm_spec(model_config['nnet_spec'])
    data_spec =  load_data_spec(model_config['data_spec'],model_config['batch_size']);


    #generating Random
    numpy_rng = numpy.random.RandomState(model_config['random_seed'])
    theano_rng = RandomStreams(numpy_rng.randint(2 ** 30))

    activationFn = parse_activation(rbm_config['activation']);
 
    createDir(model_config['wdir']);
    #create working dir

    batch_size = model_config['batch_size']
    wdir = model_config['wdir']
    

    dbn = DBN(numpy_rng=numpy_rng, theano_rng = theano_rng, n_ins=model_config['n_ins'],
            hidden_layers_sizes=rbm_config['hidden_layers'],n_outs=model_config['n_outs'],
            first_layer_gb = rbm_config['first_layer_gb'],
            pretrainedLayers=rbm_config['pretrained_layers'],
            activation=activationFn)
    
    logger.info("Loading Pretrained network weights")
    try:
    # pretraining
        ptr_file = model_config['input_file']
        dbn.load(filename=ptr_file)
    except KeyError, e:
        logger.info("KeyMissing:"+str(e));
        logger.info("Pretrained network Missing in configFile: Skipping Loading");
Exemplo n.º 7
0
def runCNN(arg):

    if type(arg) is dict:
        model_config = arg
    else:
        model_config = load_model(arg, 'CNN')

    conv_config, conv_layer_config, mlp_config = load_conv_spec(
        model_config['nnet_spec'], model_config['batch_size'],
        model_config['input_shape'])

    data_spec = load_data_spec(model_config['data_spec'],
                               model_config['batch_size'])

    numpy_rng = numpy.random.RandomState(89677)
    theano_rng = RandomStreams(numpy_rng.randint(2**30))

    logger.info('> ... building the model')
    activationFn = parse_activation(mlp_config['activation'])

    createDir(model_config['wdir'])
    #create working dir

    batch_size = model_config['batch_size']
    if mlp_config['do_dropout'] or conv_config['do_dropout']:
        logger.info('>Initializing dropout cnn model')
        cnn = DropoutCNN(
            numpy_rng,
            theano_rng,
            conv_layer_configs=conv_layer_config,
            batch_size=batch_size,
            n_outs=model_config['n_outs'],
            hidden_layer_configs=mlp_config,
            hidden_activation=activationFn,
            use_fast=conv_config['use_fast'],
            l1_reg=mlp_config['l1_reg'],
            l2_reg=mlp_config['l1_reg'],
            max_col_norm=mlp_config['max_col_norm'],
            input_dropout_factor=conv_config['input_dropout_factor'])
    else:
        cnn = CNN(numpy_rng,
                  theano_rng,
                  conv_layer_configs=conv_layer_config,
                  batch_size=batch_size,
                  n_outs=model_config['n_outs'],
                  hidden_layer_configs=mlp_config,
                  hidden_activation=activationFn,
                  use_fast=conv_config['use_fast'],
                  l1_reg=mlp_config['l1_reg'],
                  l2_reg=mlp_config['l1_reg'],
                  max_col_norm=mlp_config['max_col_norm'])

    ########################
    # Loading  THE MODEL #
    ########################
    try:
        # pretraining
        ptr_file = model_config['input_file']
        pretrained_layers = mlp_config['pretrained_layers']
        logger.info("Loading the pretrained network..")
        cnn.load(filename=ptr_file,
                 max_layer_num=pretrained_layers,
                 withfinal=True)
    except KeyError, e:
        logger.warning(
            "Pretrained network missing in working directory, skipping model loading"
        )
Exemplo n.º 8
0
def runSdA(arg):

    if type(arg) is dict:
        model_config = arg
    else :
        model_config = load_model(arg,'SDA')
        
    sda_config = load_sda_spec(model_config['nnet_spec'])
    data_spec =  load_data_spec(model_config['data_spec'],model_config['batch_size']);

    # numpy random generator
    numpy_rng = numpy.random.RandomState(model_config['random_seed'])
    #theano_rng = RandomStreams(numpy_rng.randint(2 ** 30))

    #get Activation function
    activationFn = parse_activation(sda_config['activation']);

    createDir(model_config['wdir']);
    #create working dir

    logger.info('building the model')
    # construct the stacked denoising autoencoder class
    sda = SDA(numpy_rng=numpy_rng, n_ins=model_config['n_ins'],
              hidden_layers_sizes=sda_config['hidden_layers'],
              n_outs=model_config['n_outs'],activation=activationFn)

    batch_size = model_config['batch_size'];


    #########################
    # PRETRAINING THE MODEL #
    #########################
    if model_config['processes']['pretraining']:
        
        train_sets = read_dataset(data_spec['training'])
        pretraining_config = model_config['pretrain_params']
        corruption_levels = sda_config['corruption_levels']

        preTraining(sda,train_sets,corruption_levels,pretraining_config);
        del train_sets;

    ########################
    # FINETUNING THE MODEL #
    ########################
    if model_config['processes']['finetuning']:
        fineTunning(sda,model_config,data_spec)

    ########################
    #  TESTING THE MODEL   #
    ########################
    if model_config['processes']['testing']:
        testing(sda,data_spec)

    ##########################
    ##   Export Features    ##
    ##########################
    if model_config['processes']['export_data']:
        exportFeatures(sda,model_config,data_spec)

    # save the pretrained nnet to file
    logger.info('Saving model to ' + str(model_config['output_file']) + '....')
    sda.save(filename=model_config['output_file'], withfinal=True)
    logger.info('Saved model to ' + str(model_config['output_file']))