Python lasagne.objectives() Examples
The following are 6
code examples of lasagne.objectives().
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
lasagne
, or try the search function
.
Example #1
Source File: vgg16.py From Theano-MPI with Educational Community License v2.0 | 6 votes |
def build_model(self): import theano.tensor as T self.x = T.ftensor4('x') self.y = T.lvector('y') self.lr = T.scalar('lr') net = build_model_vgg16(input_shape=(None, 3, 224, 224), verbose=self.verbose) self.output_layer = net['prob'] from lasagne.layers import get_output self.output = lasagne.layers.get_output(self.output_layer, self.x, deterministic=False) self.cost = lasagne.objectives.categorical_crossentropy(self.output, self.y).mean() from lasagne.objectives import categorical_accuracy self.error = 1-categorical_accuracy(self.output, self.y, top_k=1).mean() self.error_top_5 = 1-categorical_accuracy(self.output, self.y, top_k=5).mean()
Example #2
Source File: vgg16.py From Theano-MPI with Educational Community License v2.0 | 6 votes |
def compile_val(self): if self.verbose: print('compiling validation function...') import theano from lasagne.layers import get_output output_val = lasagne.layers.get_output(self.output_layer, self.x, deterministic=True) from lasagne.objectives import categorical_accuracy, categorical_crossentropy cost = categorical_crossentropy(output_val, self.y).mean() error = 1-categorical_accuracy(output_val, self.y, top_k=1).mean() error_top_5 = 1-categorical_accuracy(output_val, self.y, top_k=5).mean() self.val_fn= theano.function([self.subb_ind], [cost,error,error_top_5], updates=[], givens=[(self.x, self.shared_x_slice), (self.y, self.shared_y_slice)] )
Example #3
Source File: resnet50.py From Theano-MPI with Educational Community License v2.0 | 6 votes |
def build_model(self): import theano.tensor as T self.x = T.ftensor4('x') self.y = T.lvector('y') self.lr = T.scalar('lr') net = build_model_resnet50(input_shape=(None, 3, 224, 224)) if self.verbose: print('Total number of layers:', len(lasagne.layers.get_all_layers(net['prob']))) self.output_layer = net['prob'] from lasagne.layers import get_output self.output = lasagne.layers.get_output(self.output_layer, self.x, deterministic=False) self.cost = lasagne.objectives.categorical_crossentropy(self.output, self.y).mean() from lasagne.objectives import categorical_accuracy self.error = 1-categorical_accuracy(self.output, self.y, top_k=1).mean() self.error_top_5 = 1-categorical_accuracy(self.output, self.y, top_k=5).mean()
Example #4
Source File: resnet50.py From Theano-MPI with Educational Community License v2.0 | 6 votes |
def compile_val(self): if self.verbose: print('compiling validation function...') import theano from lasagne.layers import get_output output_val = lasagne.layers.get_output(self.output_layer, self.x, deterministic=True) from lasagne.objectives import categorical_accuracy, categorical_crossentropy cost = categorical_crossentropy(output_val, self.y).mean() error = 1-categorical_accuracy(output_val, self.y, top_k=1).mean() error_top_5 = 1-categorical_accuracy(output_val, self.y, top_k=5).mean() self.val_fn= theano.function([self.subb_ind], [cost,error,error_top_5], updates=[], givens=[(self.x, self.shared_x_slice), (self.y, self.shared_y_slice)] )
Example #5
Source File: resnet152_outdated.py From Theano-MPI with Educational Community License v2.0 | 6 votes |
def build_model(self): import theano.tensor as T self.x = T.ftensor4('x') self.y = T.lvector('y') self.lr = T.scalar('lr') net = build_model_resnet152(input_shape=(None, 3, 224, 224)) self.output_layer = net['prob'] from lasagne.layers import get_output self.output = lasagne.layers.get_output(self.output_layer, self.x, deterministic=False) self.cost = lasagne.objectives.categorical_crossentropy(self.output, self.y).mean() from lasagne.objectives import categorical_accuracy self.error = 1-categorical_accuracy(self.output, self.y, top_k=1).mean() self.error_top_5 = 1-categorical_accuracy(self.output, self.y, top_k=5).mean()
Example #6
Source File: adda_network.py From adda_mnist64 with MIT License | 4 votes |
def __init__(self): # Define inputs input_var = T.ftensor4('input_var') # input images (batchx3x64x64) labels_classifier_var = T.ivector('labels_classifier_var') # labels for images labels_domain_var = T.ivector('labels_domain_var') # labels for domain (1 for source, 0 for target) learning_rate = T.fscalar('learning_rate') # Define classifier networks network_classifier = self.network_classifier(input_var) network_discriminator = self.network_discriminator(network_classifier['classifier/pool1']) # Define outputs prediction_classifier = get_output(network_classifier['classifier/output']) # prob image classification prediction_discriminator = get_output(network_discriminator['discriminator/output']) # prob image domain (should be 1 for source) # Define losses (objectives) loss_classifier_only = T.mean(categorical_crossentropy(prediction_classifier, labels_classifier_var) * labels_domain_var) loss_discriminator = T.mean(categorical_crossentropy(prediction_discriminator, labels_domain_var)) loss_classifier = loss_classifier_only - loss_discriminator # Define performance perf_classifier_only = categorical_accuracy(prediction_classifier, labels_classifier_var).mean() perf_discriminator = categorical_accuracy(prediction_discriminator, labels_domain_var).mean() # Define params params_classifier = lasagne.layers.get_all_params(network_classifier['classifier/output'], trainable=True) params_discriminator = lasagne.layers.get_all_params(network_discriminator['discriminator/output'], trainable=True) params_discriminator = [param for param in params_discriminator if 'discriminator' in param.name] # Define updates updates_classifier = lasagne.updates.adam(loss_classifier, params_classifier, learning_rate=learning_rate) updates_classifier_only = lasagne.updates.adam(loss_classifier_only, params_classifier, learning_rate=learning_rate) updates_discriminator = lasagne.updates.adam(loss_discriminator, params_discriminator, learning_rate=learning_rate) # Define training functions self.train_fn_classifier = theano.function( [input_var, labels_classifier_var, labels_domain_var, learning_rate], [loss_classifier, loss_classifier_only, prediction_classifier], updates=updates_classifier) self.train_fn_classifier_only = theano.function( [input_var, labels_classifier_var, labels_domain_var, learning_rate], [loss_classifier, loss_classifier_only, prediction_classifier], updates=updates_classifier_only) self.train_fn_discriminator = theano.function( [input_var, labels_domain_var, learning_rate], [loss_discriminator, prediction_discriminator], updates=updates_discriminator) # Define validation functions self.valid_fn_classifier = theano.function( [input_var, labels_classifier_var], [perf_classifier_only, prediction_classifier]) self.valid_fn_discriminator = theano.function( [input_var, labels_domain_var], [perf_discriminator, prediction_discriminator])